When updating sys-apps/v86d-0.1.8, I get a linking error regarding lrmi: >>> Emerging (5 of 21) sys-apps/v86d-0.1.8 to / * v86d-0.1.8.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking v86d-0.1.8.tar.bz2 ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.25-tuxonice-r4 >>> Unpacking source... >>> Unpacking v86d-0.1.8.tar.bz2 to /var/tmp/portage/sys-apps/v86d-0.1.8/work >>> Source unpacked. >>> Compiling source in /var/tmp/portage/sys-apps/v86d-0.1.8/work/v86d-0.1.8 ... config.h successfully created. You can run `make` now. make -e -w -C libs/lrmi-0.10 liblrmi.a klcc -O3 -march=prescott -pipe -I/usr/src/linux/include -Ilibs/lrmi-0.10 -c -o v 86.o v86.c make[1]: Entering directory `/var/tmp/portage/sys-apps/v86d-0.1.8/work/v86d-0.1. 8/libs/lrmi-0.10' make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule . klcc -c -O3 -march=prescott -pipe -I/usr/src/linux/include -Ilibs/lrmi-0.10 -o lrmi.o lrmi.c klcc -O3 -march=prescott -pipe -I/usr/src/linux/include -Ilibs/lrmi-0.10 -c -o v 86_common.o v86_common.c klcc -O3 -march=prescott -pipe -I/usr/src/linux/include -Ilibs/lrmi-0.10 -c -o v 86_lrmi.o v86_lrmi.c klcc -Wl,-O1 -Wl,-z,execheap -Llibs/lrmi-0.10 -static v86.o v86_common.o v86_lrm i.o -llrmi -o v86d /usr/bin/ld: cannot find -llrmi make: *** [v86d] Error 1 make: *** Waiting for unfinished jobs.... ar -rs liblrmi.a lrmi.o ar: creating liblrmi.a make[1]: Leaving directory `/var/tmp/portage/sys-apps/v86d-0.1.8/work/v86d-0.1.8 /libs/lrmi-0.10' * * ERROR: sys-apps/v86d-0.1.8 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 1458: Called die * The specific snippet of code: * make KDIR="${KV_DIR}" || die * The die message: * (no error message) * * If you need support, post the topmost build error, and the call stack if rele vant. * A complete build log is located at '/var/log/emerge/sys-apps:v86d-0.1.8:20080 923-202155.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-apps/v86d-0.1 .8/temp/environment'. * The lrmi library was not installed on my system. Modifying the ebuild as per attachment fixes the problem for me. Reproducible: Always Steps to Reproduce: 1.emerge v86d 2. 3. Actual Results: /usr/bin/ld: cannot find -llrmi Expected Results: emerged v86d
Created attachment 166202 [details, diff] Patch for ebuild (modify DEPEND variable)
I cannot confirm this here: no sys-libs/lrmi dev-libs/klibc-1.5.12-r1 sys-kernel/gentoo-sources-2.6.25-r7 CFLAGS="-O2 -march=prescott -mssse3 -pipe -fomit-frame-pointer" LDFLAGS="-Wl,-O1,--hash-style=gnu,--sort-common" There is something wrong at your place: 1. Th included lib (lrmi-10) comes with v86d. 2. Your build.log has some strange things make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule make: *** Waiting for unfinished jobs.... Are you using a compilation distibution network, or are your MAKEOPTS not set right? If you would provide your emerge --info, we could help more.
FYI, v86d does NOT depend on sys-libs/lrmi -- it comes with its own bundled version of the library, which is compiled against klibc (instead of glibc, which is the case for sys-libs/lrmi). While installing lrmi might appear to have fixed your problem, I would not be surprised if v86d fails at some random point. As pointed out in comment #2, please provide emerge --info.
The concurrent make issue should now be fixed in CVS.
Hello, Indeed, it seems to be a parallel build problem. I normally use -j3. Trying -j1 fixes the problem. Thanks, Thomas