On 2017-05-25 14:16 -0700, Reinoud Koornstra wrote: > Hello Everyone, > > I have trouble compiling gcc 7.1. > Normally I always use these args to configure gcc and they worked fine > until gcc 7.1: > > ../gcc-7.1.0/configure -v > --enable-languages=c,c++,fortran,objc,obj-c++ > --prefix=/users/koorstra/GCC --enable-shared --enable-linker-build-id > --without-included-gettext --enable-threads=posix --enable-nls > --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug > --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new > --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx > --enable-plugin --with-system-zlib --disable-brower-plugin > --with-arch-directory=amd64 --enable-objc-gc --enable-multiarch > --disable-werror --with-abi=m64 --enable-checking=release > --build=x86_64-linux-gnu --host=x86_64-linux-gnu > --target=x86_64-linux-gnu > > I've got both boehm-gc installed, meaning for 32 bit anf 64 bit. > The libs for 64 bit are in /usr/lib64 and the libs for 32 bit are in /usr/lib > The problem is in libobjc when it uses config. > It says system bdw-gc required but not found. > When I point to my own build gc-7.1, then it says no multipath (i386) > found in .... > > There is another difference in that in default in Redhat it only > installs the libgc.so.1 file and no libgc.la, you only check for the > .la suffix. > When I build gc-7.1 myself, it does build libgc.la, but only for > x86_64 and not for i686. I didn't find a configure option to do this. > Any help? For x86_64: CC="gcc -m64" CXX="g++ -m64" /path/to/gc/source/configure \ --prefix=/usr/local --libdir=/usr/local/lib64 ... make && sudo make install For i686: CC="gcc -m32" CXX="g++ -m32" /path/to/gc/source/configure \ --prefix=/usr/local --libdir=/usr/local/lib --build=i686-linux-gnu \ --host=i686-linux-gnu ... make && sudo make install Then 32-bit libgc.so would be in /usr/local/lib and 64-bit libgc.so would be in /usr/local/lib64. In fact building and installing a package is off the topic of gcc-help. For most packages, you have to configure and build it for each ABI you want. For the GCC version before 7, libjava need boehm-gc. So there is a copy of boehm-gc source code inside GCC source tree. But GCJ has been deleted from GCC, as well as the source of boehm-gc. Then we have to install bohem-gc ourselves for the sake of --enable-objc-gc. > Thanks, > > Reinoud. -- Xi Ruoyao <ryxi@xxxxxxxxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University