Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 509734

Summary: media-gfx/graphite2-1.2.4-r1[perl] horribly broken on new multilib install
Product: Gentoo Linux Reporter: Steve Arnold <nerdboy>
Component: Current packagesAssignee: Michał Górny <mgorny>
Status: RESOLVED FIXED    
Severity: normal CC: office, tetromino
Priority: Normal    
Version: autobuilds   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 509584    

Description Steve Arnold archtester gentoo-dev 2014-05-06 20:50:57 UTC
Installing a new amd64 laptop with stage3 from last week and desktop multilib profile can't build the above.  Not sure how it builds for anyone, since the src_prepare seds the build file to use _build/src which fails horribly when the linker tries to link in an empty build dir.  How exactly is this supposed to work?

[100%] Built target gr2fonttest
make -f gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/build.make gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/depend
make[2]: Entering directory `/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64'
cd /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4 /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4/gr2fonttest /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64 /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/DependInfo.cmake --color=
Dependee "/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/depend.internal".
Dependee "/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/depend.internal".
Scanning dependencies of target gr2fonttest_copy_dll
make[2]: Leaving directory `/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64'
make -f gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/build.make gr2fonttest/CMakeFiles/gr2fonttest_copy_dll.dir/build
make[2]: Entering directory `/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64'
cd /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest && /usr/bin/cmake -E copy_if_different /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/src/./libgraphite2.so /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/gr2fonttest/.
make[2]: Leaving directory `/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64'
/usr/bin/cmake -E cmake_progress_report /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/CMakeFiles
[100%] Built target gr2fonttest_copy_dll
make[1]: Leaving directory `/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64'
/usr/bin/cmake -E cmake_progress_start /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build-amd64/CMakeFiles 0
 * Using Module::Build
 * perl Build.PL --installdirs=vendor --libdoc= --destdir=/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/image/ --create_packlist=0
WARNING: the following files are missing in your kit:
        README
Please inform the author.

Could not get valid metadata. Error is: Invalid metadata structure. Errors: License 'Perl' is invalid (license -> Perl) [Validation: 2]
 at /usr/lib64/perl5/vendor_perl/5.18.2/Module/Build/Base.pm line 4544.

Could not create MYMETA files
Creating new 'Build' script for 'Text-Gr2' version '0.01'
Building Text-Gr2
x86_64-pc-linux-gnu-gcc -I. -I../../include -I/usr/lib64/perl5/5.18.2/x86_64-linux-thread-multi/CORE -DVERSION="0.01" -DXS_VERSION="0.01" -fPIC -Wall -Wno-unused-variable -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -pipe -O2 -pipe -o lib/Text/Gr2.o lib/Text/Gr2.c
ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Text/Gr2/Gr2.bs')
x86_64-pc-linux-gnu-gcc -shared -O2 -pipe -Wl,-O1 -Wl,--as-needed -o blib/arch/auto/Text/Gr2/Gr2.so lib/Text/Gr2.o -L /var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4_build/src -lgraphite2
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgraphite2
collect2: error: ld returned 1 exit status
distcc[1809] ERROR: compile (null) on localhost failed
error building blib/arch/auto/Text/Gr2/Gr2.so from lib/Text/Gr2.o at /usr/lib64/perl5/vendor_perl/5.18.2/ExtUtils/CBuilder/Base.pm line 310.
 * ERROR: media-gfx/graphite2-1.2.4-r1::nerdboy-local failed (compile phase):
 *   Compilation failed
 *
 * Call stack:
 *     ebuild.sh, line   93:  Called src_compile
 *   environment, line 4149:  Called perl-module_src_compile
 *   environment, line 3187:  Called die
 * The specific snippet of code:
 *           ./Build build || die "Compilation failed";
 *
 * If you need support, post the output of `emerge --info '=media-gfx/graphite2-1.2.4-r1::nerdboy-local'`,
 * the complete build log and the output of `emerge -pqv '=media-gfx/graphite2-1.2.4-r1::nerdboy-local'`.
 * The complete build log is located at '/var/log/portage/media-gfx:graphite2-1.2.4-r1:20140506-195537.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4/contrib/perl'
 * S: '/var/tmp/portage/media-gfx/graphite2-1.2.4-r1/work/graphite2-1.2.4'

>>> Failed to emerge media-gfx/graphite2-1.2.4-r1, Log file:
Comment 1 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-05-06 21:02:09 UTC
Am I correct that this only happens when USE=perl? Then this is not a blocker for Gentoo as a whole, just for my planned harfbuzz stabilization - the perl USE flag is not enabled by default.
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2014-05-06 21:56:35 UTC
Also, the log you posed is for the graphite ebuild from your own local overlay (::nerdboy-local). I hope that the same issue present in gx86, and you get the same error there?
Comment 3 Steve Arnold archtester gentoo-dev 2014-05-07 00:25:23 UTC
Yes to USE=perl, no to the other (the local ebuild is because I was taking a look at possibly fixing it, not breaking it ;)
Comment 4 Tomáš Chvátal (RETIRED) gentoo-dev 2014-05-08 11:06:50 UTC
No clue how to work with multilib stuff. Adding mgorny to loop :)
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-05-08 12:42:28 UTC
Oh, I see. However, I need to think how to solve it properly. Probably we should do the sed in multilib_src_configure().
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-06-19 15:12:21 UTC
I'm sorry that it took this long. Should be fixed now.

+  19 Jun 2014; Michał Górny <mgorny@gentoo.org> graphite2-1.2.4-r1.ebuild:
+  Fix out-of-source build of perl module, bug #509734.