[odb-users] Strange Problems Building ODB Compiler From Source

Boris Kolpackov boris at codesynthesis.com
Wed Mar 20 11:54:20 EDT 2019


Brian Coggins <becoggins at hotmail.com> writes:

> # Unless cross-compiling, pass the C++ compiler's recall path as g++ name. At
> # some point we should also make it configurable.
> #
> gxx_name = ($cxx.target != $build.host ? g++ : $recall($cxx.path))
> gxx_name = $regex.replace($gxx_name, '\\', '\\\\') # Escape back slashes.
> 
> # ADDED FOR DEBUG
> info $cxx.target
> info $build.host
> 
> And here's the output:
> 
> odb/buildfile:43:1: info: x86_64-apple-darwin17.3.0
> odb/buildfile:44:1: info: x86_64-apple-darwin17.7.0

Ok, looks like the compiler is targeting an older version of the
runtime than what you are running. I guess we need to relax the
comparison a bit. Could you try replacing the above two gxx_name
assignments with the following and see if that helps:

if ($cxx.target.cpu    == $build.host.cpu && \
    $cxx.target.system == $build.host.system)
{
  gxx_name = $recall($cxx.path)
  gxx_name = $regex.replace($gxx_name, '\\', '\\\\') # Escape back slashes.
}
else
  gxx_name = g++
  



More information about the odb-users mailing list