我已经下载了gcc4.8.2及相关软件包。在make&& amp;&和make install:
configure --prefix=${HOME}/gcc --with-gmp=${HOME}/gcc --with-mpfr=${HOME}/gcc --with-mpc=${HOME}/gcc --disable-multilib
在我运行新的g ++之前,一切都很好:
${HOME}/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/cc1plus: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
我可以指定LD_LIBRARY_PATH来包含mpc库的位置,但是我想将它们编译为g ++或gcc as static。但是我在配置'中没有看到这样的选项。脚本。有什么建议吗?
答案 0 :(得分:1)
不确定gcc是否可以构建为静态可执行文件。但您不需要更改LD_LIBRARY_PATH
或ld.so.conf
,您的自定义构建版本gcc
必须立即生效。
检查mpc和朋友共享库所在的库。它可以是${PREFIX}/lib
或${PREFIX}/lib64
。
我通常构建将--prefix=${PREFIX} --libdir=${PREFIX}/lib64
传递给configure
的先决条件库。
然后使用以下命令配置gcc:
libs := gmp mpfr mpc cloog isl binutils
gcc_libs_configure := $(patsubst %,--with-%-include=${PREFIX}/include,${libs}) $(patsubst %,--with-%-lib=${PREFIX}/lib64,${libs})
configure.gcc : install.isl install.gmp install.mpc install.mpfr install.cloog install.binutils
cd gcc-${gcc_version}-obj && ../gcc-${gcc_version}-src/configure --prefix=${PREFIX} --program-suffix=${suffix.gcc.${gcc_version}} ${gcc_libs_configure} --disable-libunwind-exceptions --with-system-zlib --enable-__cxa_atexit --enable-checking=release --disable-multilib --enable-languages=c,c++,fortran,lto --enable-plugin --enable-initfini-array --enable-gold=default --enable-libstdcxx-time --enable-linker-build-id --with-linker-hash-style=gnu --disable-libgcj