On Sun, Jul 20, 2014 at 6:47 AM, Lars Wendler <polynomia...@gentoo.org> wrote: > Hi guys, > > I just add e2fsprogs{,-libs}-1.42.11 p.masked to our tree as I get a > strange build failure in e2fsprogs-1.42.11: > > x86_64-pc-linux-gnu-gcc -I. -I../../lib -I../../lib -D_GNU_SOURCE > -march=barcelona -mtune=barcelona -O2 -pipe -DHAVE_CONFIG_H > -I../../debugfs -c tst_libext2fs.c -o tst_libext2fs.o make[2]: *** No > rule to make target '../../lib/libss.a', needed by 'tst_libext2fs'. > Stop. make[2]: Leaving directory > '/var/tmp/portage/sys-fs/e2fsprogs-1.42.11/work/e2fsprogs-1.42.11/lib/ext2fs' > Makefile:395: recipe for target 'all-libs-recursive' failed > > The above run was with MAKEOPTS set to -j1 to make sure it's not a > parallel make issue. > > I already looked into the sources but I can't figure out where the > problem comes from. Any help is highly appreciated. >
This commit introduced a new test program (tst_libext2fs) which gets build by default (see the "all" target). https://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/lib/ext2fs/Makefile.in?id=ceff962c67f19724e6fffe92adfdfff0cd462722 This program gets linked with DEPSTATIC_LIBSS, which defaults to $(LIB)/libss.a. The e2fsprogs ebuild does not build $(LIB)/libss.a; it expects that to have been build/installed by e2fsprogs-libs. There is a sed statement in src_prepare which replaces most of these LIBXX variables with references to the system libs (-lss). However, this sed statement does not replace DEPSTATIC_LIBXX.