#27480 closed defect (fixed)
boost 1.45.0 universal configure failure
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | adfernandes (Andrew Fernandes) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.2 |
Keywords: | Cc: | alexandre.hamez@… | |
Port: | boost |
Description
boost 1.45.0 won't configure with the universal variant. boost 1.44.0 had no problem installing with the universal variant.
---> Configuring boost DEBUG: Using compiler 'Mac OS X gcc 4.2' DEBUG: configure phase started at Sun Nov 28 02:32:44 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='/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='/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='/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 --disable-dependency-tracking --without-libraries=mpi --without-icu --with-python=/opt/local/bin/python2.6' error: unrecognized option: --disable-dependency-tracking Try `./bootstrap.sh --help' for more information. shell command " cd "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_devel_boost/work/boost_1_45_0" && ./bootstrap.sh --prefix=/opt/local --disable-dependency-tracking --without-libraries=mpi --without-icu --with-python=/opt/local/bin/python2.6 " returned error 1
Attachments (1)
Change History (12)
comment:1 Changed 14 years ago by alexandre.hamez@…
Cc: | alexandre.hamez@… added |
---|
comment:2 Changed 14 years ago by adfernandes (Andrew Fernandes)
Dang.
The boost team completely changed the build system for 1.45.0. Now you have to use their built-in "bootstrap.sh" script to configure the build, and it builds a custom bjam build tool as part of the configure.
I think I know what the problem is and will likely ask for testers in a short while (my build is not universal, so testing is difficult for me).
Changed 14 years ago by adfernandes (Andrew Fernandes)
Attachment: | Portfile.diff added |
---|
comment:3 follow-up: 4 Changed 14 years ago by adfernandes (Andrew Fernandes)
Hmm... this might be simpler than I thought; can someone test the attached (trivial) patch?
comment:4 follow-up: 5 Changed 14 years ago by alexandre.hamez@…
Replying to adfernandes@…:
Hmm... this might be simpler than I thought; can someone test the attached (trivial) patch?
Compilation started. It no longer fails right after the launch of the command.
comment:5 Changed 14 years ago by alexandre.hamez@…
Replying to alexandre.hamez@…:
Replying to adfernandes@…:
Hmm... this might be simpler than I thought; can someone test the attached (trivial) patch?
Compilation started. It no longer fails right after the launch of the command.
It ultimately failed with:
---> Computing dependencies for boost.Error: Couldn't activate boost 1.45.0_0+python26+universal: Can't install boost because conflicting ports are installed: boost-jam
comment:6 follow-up: 7 Changed 14 years ago by adfernandes (Andrew Fernandes)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Hello, Alexandre - this is by design since boost no longer builds with the boost-jam
port. You need to uninstall boost-jam
and the activation should proceed.
(Boost now requires its own built-in bjam; if it accidentally tries to use the one from boost-jam
, you get a whole mess of arcane errors. It took forever to track this down.)
comment:7 follow-up: 9 Changed 14 years ago by adfernandes (Andrew Fernandes)
Replying to adfernandes@…:
Hello, Alexandre - this is by design since boost no longer builds with the
boost-jam
port. You need to uninstallboost-jam
and the activation should proceed.(Boost now requires its own built-in bjam; if it accidentally tries to use the one from
boost-jam
, you get a whole mess of arcane errors. It took forever to track this down.)
By the way - forgot to say "thanks" for testing the patch!
comment:8 Changed 14 years ago by adfernandes (Andrew Fernandes)
I just removed the conflict with boost-jam
in r73900 even though boost won't build with it. It appears that boost will always use its local bjam to build, making the boost-jam port superfluous, but harmless.
comment:9 Changed 14 years ago by alexandre.hamez@…
Replying to adfernandes@…:
Replying to adfernandes@…:
Hello, Alexandre - this is by design since boost no longer builds with the
boost-jam
port. You need to uninstallboost-jam
and the activation should proceed.(Boost now requires its own built-in bjam; if it accidentally tries to use the one from
boost-jam
, you get a whole mess of arcane errors. It took forever to track this down.)By the way - forgot to say "thanks" for testing the patch!
You're welcome :-) But, why should I need to uninstall boost-jam as Boost uses its local one?
comment:10 Changed 14 years ago by alexandre.hamez@…
Ok, now I can confirm that everything works fine, after uninstalling boost-jam (but still, why???)
comment:11 Changed 14 years ago by adfernandes (Andrew Fernandes)
It turns out that you don't have to uninstall boost-jam
. The reason I originally added the conflict is because, well... boost wouldn't' build, and I couldn't figure out why. Lots of people online were getting the same error. Many had asked the boost developers. The reply was always the same: "Just use bootstrap.sh". A technically correct, but utterly useless answer.
It turns out that boost will now only build with it's custom-internal bjam tool. Thankfully, if you execute that tool with an absolute path, it ignores any other bjam on the path; but I didn't know that when trying to fix the port.
The boost coders really know their c++ and write fantastic code. However, I wish that they'd realize that their packaging build tool is really, really, really horrible, nonstandard, and buggy.
Cc Me!