Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 757948 - dev-cpp/folly: help wanted with multilib-strict check failed
Summary: dev-cpp/folly: help wanted with multilib-strict check failed
Status: RESOLVED FIXED
Alias: None
Product: GURU
Classification: Unclassified
Component: Package issues (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: GURU project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-01 21:02 UTC by Reva Denis
Modified: 2020-12-02 05:47 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
dev-cpp/folly_build.log (build.log,501.48 KB, text/x-log)
2020-12-01 21:03 UTC, Reva Denis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Reva Denis 2020-12-01 21:02:25 UTC
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
Comment 1 Reva Denis 2020-12-01 21:03:17 UTC
Ebuild in the dev branch of GURU.
Comment 2 Reva Denis 2020-12-01 21:03:51 UTC
Created attachment 676132 [details]
dev-cpp/folly_build.log
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2020-12-01 21:14:29 UTC
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 ;)
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2020-12-02 01:13:01 UTC
(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. :-(
Comment 5 Reva Denis 2020-12-02 05:24:21 UTC
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
Comment 6 Reva Denis 2020-12-02 05:38:11 UTC
Sorry, $(get_libdir) works, but not ${get_libdir}
Comment 7 Reva Denis 2020-12-02 05:47:29 UTC
Fixed, thank you.
If something go wrong I'll open new bug.