Ticket #27642 (closed defect: fixed)
boost doesn't ensure it's UsingTheRightCompiler
| Reported by: | ryandesign@… | Owned by: | adfernandes@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | rmstonecipher@… | |
| Port: | boost |
Description
[...]
---> Configuring boost
DEBUG: Using compiler 'Mac OS X gcc 4.2'
DEBUG: configure phase started at Sat Dec 11 14:55:36 CST 2010
DEBUG: Executing org.macports.configure (boost)
DEBUG: Environment: CPATH='/opt/local/include' CFLAGS='-pipe -O2 -arch x86_64 -arch i386' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-pipe -O2 -arch x86_64 -arch i386' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TARGET='10.6' CXX='ccache /usr/bin/g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_boost/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -O2' LDFLAGS='-L/opt/local/lib -arch x86_64 -arch i386' OBJC='ccache /usr/bin/gcc-4.2' FCFLAGS='-pipe -O2' INSTALL='/usr/bin/install -c' OBJCFLAGS='-pipe -O2 -arch x86_64 -arch i386' FFLAGS='-pipe -O2' CC_PRINT_OPTIONS='YES' CC='ccache /usr/bin/gcc-4.2'
DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_boost/work/boost_1_45_0" && ./bootstrap.sh --prefix=/opt/local --without-libraries=mpi --without-icu --with-python=/opt/local/bin/python2.6'
-n Building Boost.Jam with toolset darwin...
Failed to build Boost.Jam
Consult 'bootstrap.log' for more details
shell command " cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_boost/work/boost_1_45_0" && ./bootstrap.sh --prefix=/opt/local --without-libraries=mpi --without-icu --with-python=/opt/local/bin/python2.6 " returned error 1
Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details)
DEBUG: Backtrace: configure failure: shell command failed (see log for details)
while executing
"$procedure $targetname"
Warning: the following items did not execute (for boost): org.macports.configure
Log for boost is at: /opt/local/var/macports/logs/_Users_rschmidt_macports_dports_devel_boost/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
$ cat work/boost_1_45_0/bootstrap.log
###
### Using 'darwin' toolset.
###
rm -rf bootstrap
mkdir bootstrap
cc -o bootstrap/jam0 command.c compile.c debug.c expand.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
cc -o bootstrap/jam0 command.c compile.c debug.c expand.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
cc: Error: You should be using ${configure.cc}
See http://trac.macports.org/wiki/UsingTheRightCompiler
Attachments
Change History
comment:1 Changed 2 years ago by adfernandes@…
- Status changed from new to closed
- Resolution set to wontfix
comment:2 Changed 2 years ago by rmstonecipher@…
- Status changed from closed to reopened
- Resolution wontfix deleted
This can be fixed with the attached patches and portfile diff.
Changed 2 years ago by rmstonecipher@…
- Attachment patch-tools_build_v2_engine_src_build.jam.diff added
files/patch-tools_build_v2_engine_src_build.jam.diff
Changed 2 years ago by rmstonecipher@…
- Attachment patch-tools_build_v2_engine_src_build.sh.diff added
files/patch-tools_build_v2_engine_src_build.sh.diff
Note: See
TracTickets for help on using
tickets.


This compiler error is not for boost but for the boost build system. The first thing that boost does upon configuring is build it's internal build system, and internal version of bjam. This binary is not installed after boost is built and is in fact discarded. It must be built with the default system compiler.
It is possible to patch the build system to use ${configure.cc}, but there isn't really a point since it this is such a small compile job (bjam that is; compiling boost proper is huge).
Really, it isn't worth the effort to patch this since it only affects the build system.