Boost logo

Boost-Build :

Subject: [Boost-build] Boost on ppc64le build fails (ABI version 1 is not compatible with ABI version 2 output)
From: Andrey Nevolin (a.nevolin_at_[hidden])
Date: 2017-09-11 12:53:12


Hi Everyone,

I cannot build Boost 1.55 on ppc64le because of the following error:

"ABI version 1 is not compatible with ABI version 2 output"

Could please someone advice my on overcoming the issue?

My system:
[cid:image002.jpg_at_01D32B16.11C42B20]

My compiler:
[cid:image003.png_at_01D32B15.2B5FC2C0]

Output from "./b2 install":
[cid:image005.png_at_01D32B15.AC1E4990]

GCC command that failed:
"g++" -o "bin.v2/libs/context/build/gcc-4.8/release/threading-multi/libboost_context.so.1.55.0" -Wl,-h -Wl,libboost_context.so.1.55.0 -shared -Wl,--start-group "bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/make_ppc64_sysv_elf_gas.o" "bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/jump_ppc64_sysv_elf_gas.o" -Wl,-Bstatic -Wl,-Bdynamic -lrt -Wl,--end-group -pthread

GCC output generated with '-v' (you can see that actually "collect2" tool fails):
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/powerpc64le-suse-linux/4.8/lto-wrapper
Target: powerpc64le-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.8 --enable-ssp --disable-libssp --disable-plugin --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --enable-linker-build-id --enable-linux-futex --program-suffix=-4.8 --without-system-libunwind --with-cpu=power8 --with-tune=power8 --enable-secureplt --with-long-double-128 --enable-targets=powerpcle-linux --disable-multilib --build=powerpc64le-suse-linux --host=powerpc64le-suse-linux
Thread model: posix
gcc version 4.8.5 (SUSE Linux)
COMPILER_PATH=/usr/lib64/gcc/powerpc64le-suse-linux/4.8/:/usr/lib64/gcc/powerpc64le-suse-linux/4.8/:/usr/lib64/gcc/powerpc64le-suse-linux/:/usr/lib64/gcc/powerpc64le-suse-linux/4.8/:/usr/lib64/gcc/powerpc64le-suse-linux/:/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/bin/
LIBRARY_PATH=/usr/lib64/gcc/powerpc64le-suse-linux/4.8/:/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/lib/:/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'bin.v2/libs/context/build/gcc-4.8/release/threading-multi/libboost_context.so.1.55.0' '-shared' '-pthread' '-shared-libgcc' '-mtune=power8' '-mcpu=power8'
/usr/lib64/gcc/powerpc64le-suse-linux/4.8/collect2 --build-id --eh-frame-hdr -V -shared -m elf64lppc -o bin.v2/libs/context/build/gcc-4.8/release/threading-multi/libboost_context.so.1.55.0 /usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../lib64/crti.o /usr/lib64/gcc/powerpc64le-suse-linux/4.8/crtbeginS.o -L/usr/lib64/gcc/powerpc64le-suse-linux/4.8 -L/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/lib -L/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../.. -h libboost_context.so.1.55.0 --start-group bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/make_ppc64_sysv_elf_gas.o bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/jump_ppc64_sysv_elf_gas.o -Bstatic -Bdynamic -lrt --end-group -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s /usr/lib64/gcc/powerpc64le-suse-linux/4.8/crtendS.o /usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../lib64/crtn.o
GNU ld (GNU Binutils; SUSE Linux Enterprise 12) 2.26.1
  Supported emulations:
   elf64lppc
   elf32lppc
   elf32lppclinux
   elf32lppcsim
   aarch64linux
   aarch64elf
   aarch64elf32
   aarch64elf32b
   aarch64elfb
   armelf
   armelfb
   aarch64linuxb
   aarch64linux32
   aarch64linux32b
   armelfb_linux_eabi
   armelf_linux_eabi
   elf64alpha
   alpha
   armelf_linux
   armelfb_linux
   hppalinux
   hppa64linux
   elf_i386
   i386linux
   elf_iamcu
   elf_x86_64
   elf32_x86_64
   elf_l1om
   elf_k1om
   elf64_ia64
   m68kelf
   m68klinux
   elf32btsmip
   elf32ltsmip
   elf32btsmipn32
   elf64btsmip
   elf32ltsmipn32
   elf64ltsmip
   elf32ppclinux
   elf32ppc
   elf32ppcsim
   elf64ppc
   elf_s390
   elf64_s390
   shlelf_linux
   shlelf_fd
   elf32_sparc
   sparclinux
   elf64_sparc
   sun4
   ppcmacos
   elf32_spu
   i386pep
   i386pe
/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/bin/ld: bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/make_ppc64_sysv_elf_gas.o: ABI version 1 is not compatible with ABI version 2 output
/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/bin/ld: failed to merge target specific data of file bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/make_ppc64_sysv_elf_gas.o
/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/bin/ld: bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/jump_ppc64_sysv_elf_gas.o: ABI version 1 is not compatible with ABI version 2 output
/usr/lib64/gcc/powerpc64le-suse-linux/4.8/../../../../powerpc64le-suse-linux/bin/ld: failed to merge target specific data of file bin.v2/libs/context/build/gcc-4.8/release/threading-multi/asm/jump_ppc64_sysv_elf_gas.o
collect2: error: ld returned 1 exit status

Thanks,
              --Andrey




image003.png
image005.png
image002.jpg

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk