-
Bug
-
Resolution: Fixed
-
Normal
-
None
-
None
-
None
Currently metro is limited for a special case when seed stage1 require rebuilding gcc after runtime libraries update.
Actual results, happens with stage2 build:
* Package: sys-libs/zlib-1.2.7 * Repository: gentoo * USE: abi_x86_64 amd64 bootstrap elibc_glibc kernel_linux multilib userland_GNU * FEATURES: preserve-libs >>> Unpacking source... >>> Unpacking zlib-1.2.7.tar.gz to /var/tmp/portage/sys-libs/zlib-1.2.7/work >>> Source unpacked in /var/tmp/portage/sys-libs/zlib-1.2.7/work >>> Compiling source in /var/tmp/portage/sys-libs/zlib-1.2.7/work/zlib-1.2.7 ... ./configure --shared --prefix=/usr --libdir=/usr/lib64 --uname=linux Using x86_64-pc-linux-gnu-ar Using x86_64-pc-linux-gnu-ranlib Using x86_64-pc-linux-gnu-nm Checking for x86_64-pc-linux-gnu-gcc... Checking for shared library support... No shared library support; try without defining CC and CFLAGS Building static library libz.a version 1.2.7 with cc. Checking for off64_t... No. Checking for fseeko... No. Checking for strerror... No. Checking for unistd.h... No. Checking for stdarg.h... No. Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf(). Checking for snprintf() in stdio.h... No. WARNING: snprintf() not found, falling back to sprintf(). zlib can build but will be open to possible buffer-overflow security vulnerabilities. Checking for return value of sprintf()... No. WARNING: apparently sprintf() does not return a value. zlib can build but will be open to possible string-format security vulnerabilities. Looking for a four-byte integer type... Not found. make -j12 cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -I. -c -o example.o test/example.c cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o adler32.o adler32.c cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o crc32.o crc32.c cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o deflate.o deflate.c cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o infback.o infback.c /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o inffast.o inffast.c /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o inflate.o inflate.c cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o inftrees.o inftrees.c /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o trees.o trees.c /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o zutil.o zutil.c /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o compress.o compress.c cc -march=core2 -O2 -pipe -DNO_FSEEKO -DNO_STRERROR -DNO_snprintf -DHAS_sprintf_void -c -o uncompr.o uncompr.c /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory make: *** [adler32.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [crc32.o] Error 1 make: *** [example.o] Error 1 make: *** [deflate.o] Error 1 make: *** [infback.o] Error 1 make: *** [inflate.o] Error 1 make: *** [inffast.o] Error 1 make: *** [trees.o] Error 1 make: *** [inftrees.o] Error 1 make: *** [zutil.o] Error 1 make: *** [compress.o] Error 1 make: *** [uncompr.o] Error 1 emake failed * ERROR: sys-libs/zlib-1.2.7 failed (compile phase): * (no error message) * * Call stack: * ebuild.sh, line 93: Called src_compile * environment, line 1473: Called die * The specific snippet of code: * emake || die * * If you need support, post the output of `emerge --info '=sys-libs/zlib-1.2.7'`, * the complete build log and the output of `emerge -pqv '=sys-libs/zlib-1.2.7'`. * The complete build log is located at '/var/tmp/portage/sys-libs/zlib-1.2.7/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-libs/zlib-1.2.7/temp/environment'. * Working directory: '/var/tmp/portage/sys-libs/zlib-1.2.7/work/zlib-1.2.7' * S: '/var/tmp/portage/sys-libs/zlib-1.2.7/work/zlib-1.2.7'
zmedico comments:
the stage1 -> stage2 thing is actually a gcc build system flaw, because it links against libmpc from the wrong $ROOT. you want the stage1 gcc to link against the stage1 libmpc, but instead it links
against libmpc from the seed stage. In catalyst there is update_seed code in stage1-chroot.sh that checks for update.
Solution is to implement this in metro or update gcc very early in stage2.spec.
- relates to
-
FL-544 Update toolchain
- Closed