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:

 

My compiler:

 

Output from “./b2 install”:

 

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