Capstone's makefile installs its libraries into /usr/lib rather than /usr/lib32 or /usr/lib64. As such, when FEATURES="multilib-strict" is set, portage detects this and fails to install: >>> Completed installing capstone-3.0.4-r1 into /var/tmp/portage/dev-libs/capstone-3.0.4-r1/image/ * Final size of build directory: 155640 KiB * Final size of installed tree: 23572 KiB Files matching a file type that is not allowed: usr/lib/libcapstone.so.3 * ERROR: dev-libs/capstone-3.0.4-r1::gentoo failed: * multilib-strict check failed! * * Call stack: * misc-functions.sh, line 603: Called install_qa_check * misc-functions.sh, line 217: Called source 'install_symlink_html_docs' * 80multilib-strict, line 47: Called multilib_strict_check * 80multilib-strict, line 43: Called die * The specific snippet of code: * [[ ${abort} == yes ]] && die "multilib-strict check failed!" * * If you need support, post the output of `emerge --info '=dev-libs/capstone-3.0.4-r1::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-libs/capstone-3.0.4-r1::gentoo'`. * The complete build log is located at '/var/tmp/portage/dev-libs/capstone-3.0.4-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-libs/capstone-3.0.4-r1/temp/environment'. * Working directory: '/var/tmp/portage/dev-libs/capstone-3.0.4-r1/image' * S: '/var/tmp/portage/dev-libs/capstone-3.0.4-r1/work/capstone-3.0.4' !!! post install failed; exiting. I think this can be fixed reasonably easily by replacing the default_src_install with something that includes "emake DESTDIR=${ED} LIBDIRARCH=$(get_libdir) install", which would then install the libraries in the appropriate directories. Let me know if you need more information...
Created attachment 444888 [details] Ebuild that adheres to FEATURES="multilib-strict"
Created attachment 444894 [details] Ebuild that adheres to FEATURES="multilib-strict" So a slight amendment. The capstone.pc file has the old path unless the LIBDIRARCH is also passed to the make function. This attachment includes the update.
I've pushed similar change as: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5917f76438cba881d0e8dbf8ccb1670b453ca0bb While at it fixed CC handling and other friends. Thank you!