Ok, I has just ported dev-cpp/folly as dependency for upcoming https://github.com/mhx/dwarfs and added it to guru. I wanted help because I get following error during ebuild installation check: Files matching a file type that is not allowed: usr/lib/libfolly.so.0.58.0-dev usr/lib/libfollybenchmark.so.0.58.0-dev usr/lib/libfolly_test_util.so.0.58.0-dev * ERROR: dev-cpp/folly-2020.11.30.00::guru failed: * multilib-strict check failed! * * Call stack: * misc-functions.sh, line 596: Called install_qa_check * misc-functions.sh, line 132: Called source 'install_symlink_html_docs' * 80multilib-strict, line 46: Called multilib_strict_check * 80multilib-strict, line 42: Called die * The specific snippet of code: * [[ ${abort} == yes ]] && die "multilib-strict check failed!" I don't know what it mean… How to fix it? Reproducible: Always
Ebuild in the dev branch of GURU.
Created attachment 676132 [details] dev-cpp/folly_build.log
Upstream hard-codes the libdir: https://github.com/mhx/dwarfs/blob/main/CMakeLists.txt#L306 this is of course wrong in a multilib environment where native libs go into lib64. Try something like this in src_prepare() function: @sed "/\(LIBRARY\|ARCHIVE\) DESTINATION/s@lib@$(get_libdir)@" -i CMakeLists.txt || die and go yelling at the upstream author ;)
(In reply to Lars Wendler (Polynomial-C) from comment #3) > Upstream hard-codes the libdir: > > https://github.com/mhx/dwarfs/blob/main/CMakeLists.txt#L306 > > this is of course wrong in a multilib environment where native libs go into > lib64. > > Try something like this in src_prepare() function: > > @sed "/\(LIBRARY\|ARCHIVE\) DESTINATION/s@lib@$(get_libdir)@" -i > CMakeLists.txt || die > > and go yelling at the upstream author ;) D'uh. Nevermind, I looked at the wrong project. :-(
Things becomes stranges: src_prepare(){ default einfo ${get_libdir} sed "s/lib CACHE/${get_libdir} CACHE"/ -i CMakeLists.txt } einfo ${get_libdir} output nothing: ${get_libdir} # ebuild folly-2020.11.30.00.ebuild manifest clean prepare Appending /home/rarogcmex/git/guru to PORTDIR_OVERLAY... >>> Creating Manifest for /home/rarogcmex/git/guru/dev-cpp/folly * folly-2020.11.30.00.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking folly-2020.11.30.00.tar.gz to /var/tmp/portage/dev-cpp/folly-2020.11.30.00/work >>> Source unpacked in /var/tmp/portage/dev-cpp/folly-2020.11.30.00/work >>> Preparing source in /var/tmp/portage/dev-cpp/folly-2020.11.30.00/work/folly-2020.11.30.00 ... * >>> Source prepared. Looks like get_libdir does not work at all. I see that first time
Sorry, $(get_libdir) works, but not ${get_libdir}
Fixed, thank you. If something go wrong I'll open new bug.