Opened 12 years ago
Last modified 10 years ago
#5001 new Bugs
Failure to compile boost_1_45 and boost-trunk on ia64 (itanium2) with toolset intel-linux
Reported by: | Owned by: | Vladimir Prus | |
---|---|---|---|
Milestone: | Boost 1.49.0 | Component: | build |
Version: | Boost 1.45.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Hi all,
I have tried to compile boost_1_45_0 using the Intel compiler on an Itanium machine, but it seems to fail with a segfault:
xxx@cn002:~/src/boost_1_45_0> ./bootstrap.sh --with-toolset=intel-linux --show-libraries --prefix=$HOME Building Boost.Jam with toolset intel-linux... Failed to build Boost.Jam Consult 'bootstrap.log' for more details xxx@cn002:~/src/boost_1_45_0> cat bootstrap.log ### ### Using 'intel-linux' toolset. ### rm -rf bootstrap mkdir bootstrap icc -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 expand.c(85): warning #181: argument is incompatible with corresponding format string conversion printf( "expand '%.*s'\n", end - in, in ); ^ ./bootstrap/jam0 -f build.jam --toolset=intel-linux --toolset-root= clean ...found 1 target... ...updating 1 target... [DELETE] clean ./build.sh: line 13: 27407 Segmentation fault (core dumped) $@
So far, I have gathered the following information:
- I've done this on two different Itanium machines I've got access to. It fails with the same error message on both machines.
- I have used Intel compilers 11.1, 11.0, 10.1. Same error message with all of them.
- Compiling on x86_64 with the above compilers works as expected.
Next, I have checked out the boost trunk from the subversion rep. Here, it does not offer any libraries to compile:
xxx@cn002:~/src/boost-trunk> ./bootstrap.sh --with-toolset=intel-linux --show-libraries Building Boost.Jam with toolset intel-linux... tools/build/v2/engine/src/bin.linuxia64/bjam The following Boost libraries have portions that require a separate build and installation step. Any library not listed here can be used by including the headers only. The Boost libraries requiring separate building and installation are: xxx@cn002:~/src/boost-trunk>
I decided to still give it a go:
xxx@cn002:~/src/boost-trunk> ./bootstrap.sh --with-toolset=intel-linux --with-libraries=iostreams,mpi,serialization Building Boost.Jam with toolset intel-linux... tools/build/v2/engine/src/bin.linuxia64/bjam Unicode/ICU support for Boost.Regex?... not found. Generating Boost.Build configuration in project-config.jam... Bootstrapping is done. To build, run: ./bjam To adjust configuration, edit 'project-config.jam'. Further information: - Command line help: ./bjam --help - Getting started guide: http://www.boost.org/more/getting_started/unix-variants.html - Boost.Build documentation: http://www.boost.org/boost-build2/doc/html/index.html xxx@cn002:~/src/boost-trunk> ./bjam Segmentation fault (core dumped)
No luck either :(
At this point, I'm running out of ideas - anything else I could try?
Cheers, Stefan
Change History (8)
follow-up: 2 comment:1 by , 11 years ago
comment:2 by , 11 years ago
Replying to ulf.markwardt@…:
I have to report the same problem. It was not fixed in version 1.46 or 1.47. - Is there a workaround to safely install the libraries without bjam?
I can only confirm the problem still exists over here with 1.47, too.
Seems a bit odd that an issue that is practically a showstopper for a whole platform goes by unnoticed for 8 months - should I have cc'ed someone when I first reported it? Any other method to attract attention to this? Anybody out there on Itanium, too?
comment:3 by , 11 years ago
The problem is bjam (b2). Here is my workaround: compile bjam with your systems's gcc. Simply
./bootstrap.sh
Adapt the file tools/build/v2/user-config.jam like this
using intel-linux : 11.1.056 : icpc : -O2 -ftz -fPIC -shared-intel -shared ;
After adding all other stuff (like MPI) to this config file you can run bjam like this:
./bjam --prefix=/sw/libraries/boost/1.47 toolset=intel-linux install
Best regards,
Ulf
comment:4 by , 11 years ago
Component: | Building Boost → build |
---|---|
Milestone: | To Be Determined → Boost 1.49.0 |
Owner: | set to |
Severity: | Showstopper → Problem |
This is likely fixed with the recent cleanup Steven did to b2 engine. So I'm downgrading as expected to work in the next release. But obviously someone needs to try the specific toolset/platform configuration.
comment:5 by , 10 years ago
I can confirm that this error is still present on Itanium machines with ICC 11.0 and boost 1.51.0
$ icc --version icc (ICC) 11.0 20081105 Copyright (C) 1985-2008 Intel Corporation. All rights reserved. $ ./bootstrap.sh --with-toolset=intel-linux > /dev/null && echo success success $ ./b2 Segmentation fault
comment:6 by , 10 years ago
Sorry, but it seems like somebody with access to intel shall debug this, then.
comment:7 by , 10 years ago
I can only confirm this bug still exists in 1.53.
I have now access to an Itanium machine again - is there anything I can do to help debug this?
comment:8 by , 10 years ago
Okay, first please try the current trunk. (svn checkout http://svn.boost.org/svn/boost/trunk/tools/build/v2/engine b2_source; cd b2_source; ./build.sh) Then use b2_source/bin*/b2.
If that fails, then build b2 with --debug, and get a backtrace from the crash. If this succeeds, then we have an optimization problem. Build b2 with --symbols instead and get a backtrace.
That should give me an idea of what to look at, and we can go from there.
I have to report the same problem. It was not fixed in version 1.46 or 1.47. - Is there a workaround to safely install the libraries without bjam?
Regards, Ulf