Installing dev-db/oracle-instantclient-21.3.0.0.0 with ABI_X86 set to "64 32" fails due to the installer wanting to join the 32-bit and 64-bit versions of the libraries: >>> Emerging (3 of 3) dev-db/oracle-instantclient-21.3.0.0.0::gentoo * instantclient-basic-linux-21.3.0.0.0.zip BLAKE2B SHA512 size ;-) ... [ ok ] * instantclient-basic-linux.x64-21.3.0.0.0.zip BLAKE2B SHA512 size ;-) ... [ ok ] * instantclient-sdk-linux.x64-21.3.0.0.0.zip BLAKE2B SHA512 size ;-) ...[ ok ] * instantclient-sqlplus-linux.x64-21.3.0.0.0.zip BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking instantclient-basic-linux-21.3.0.0.0.zip to /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work/x86 >>> Unpacking instantclient-basic-linux.x64-21.3.0.0.0.zip to /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work >>> Unpacking instantclient-sdk-linux.x64-21.3.0.0.0.zip to /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work >>> Unpacking instantclient-sqlplus-linux.x64-21.3.0.0.0.zip to /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work >>> Source unpacked in /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work >>> Preparing source in /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work/instantclient_21_3 ... * Applying 21.3.0.0.0-makefile.patch ... [ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work/instantclient_21_3 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/work/instantclient_21_3 ... >>> Source compiled. * Skipping make test/check due to ebuild restriction. >>> Test phase [disabled because of RESTRICT=test]: dev-db/oracle-instantclient-21.3.0.0.0 >>> Install dev-db/oracle-instantclient-21.3.0.0.0 into /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/image * Installing runtime for Linux x86 ... [ ok ] * Installing runtime for Linux x86-64 ... [ ok ] * Installing SDK ... [ ok ] * Installing binaries for Linux x86-64 ... [ ok ] >>> Completed installing dev-db/oracle-instantclient-21.3.0.0.0 into /var/tmp/portage/dev-db/oracle-instantclient-21.3.0.0.0/image * Final size of build directory: 478292 KiB (467.0 MiB) * Final size of installed tree: 481344 KiB (470.0 MiB) strip: x86_64-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version /usr/lib64/oracle/client/lib/libocijdbc21.so /usr/lib64/oracle/client/lib/liboramysql.so /usr/lib64/oracle/client/lib/libocci.so.21.1 /usr/lib64/oracle/client/lib64/liboramysql.so /usr/lib64/oracle/client/bin/adrci /usr/lib64/oracle/client/lib64/libocijdbc21.so /usr/lib64/oracle/client/bin/genezi /usr/lib64/oracle/client/bin/sqlplus /usr/lib64/oracle/client/bin/uidrvci /usr/lib64/oracle/client/lib64/libsqlplus.so /usr/lib64/oracle/client/lib/libnnz21.so /usr/lib64/oracle/client/lib64/libocci.so.21.1 /usr/lib64/oracle/client/lib/libclntshcore.so.21.1 /usr/lib64/oracle/client/lib/libociei.so /usr/lib64/oracle/client/lib64/libsqlplusic.so /usr/lib64/oracle/client/lib64/libnnz21.so /usr/lib64/oracle/client/lib64/libclntshcore.so.21.1 /usr/lib64/oracle/client/lib64/libociei.so /usr/lib64/oracle/client/lib/libclntsh.so.21.1 /usr/lib64/oracle/client/lib64/libclntsh.so.21.1 >>> Installing (3 of 3) dev-db/oracle-instantclient-21.3.0.0.0::gentoo * Package 'dev-db/oracle-instantclient-21.3.0.0.0' has internal * collisions between non-identical files (located in separate * directories in the installation image (${D}) corresponding to merged * directories in the target filesystem (${ROOT})): * * /usr/lib64/oracle/client/lib64/libclntsh.so.21.1 * /usr/lib64/oracle/client/lib/libclntsh.so.21.1 * /usr/lib64/oracle/client/lib64/libclntsh.so.21.1 * Differences: size, content * * /usr/lib64/oracle/client/lib64/libclntshcore.so.21.1 * /usr/lib64/oracle/client/lib/libclntshcore.so.21.1 * /usr/lib64/oracle/client/lib64/libclntshcore.so.21.1 * Differences: size, content * * /usr/lib64/oracle/client/lib64/libnnz21.so * /usr/lib64/oracle/client/lib/libnnz21.so * /usr/lib64/oracle/client/lib64/libnnz21.so * Differences: size, content * * /usr/lib64/oracle/client/lib64/libocci.so.21.1 * /usr/lib64/oracle/client/lib/libocci.so.21.1 * /usr/lib64/oracle/client/lib64/libocci.so.21.1 * Differences: size, content * * /usr/lib64/oracle/client/lib64/libociei.so * /usr/lib64/oracle/client/lib/libociei.so * /usr/lib64/oracle/client/lib64/libociei.so * Differences: size, content * * /usr/lib64/oracle/client/lib64/libocijdbc21.so * /usr/lib64/oracle/client/lib/libocijdbc21.so * /usr/lib64/oracle/client/lib64/libocijdbc21.so * Differences: size, content * * /usr/lib64/oracle/client/lib64/liboramysql.so * /usr/lib64/oracle/client/lib/liboramysql.so * /usr/lib64/oracle/client/lib64/liboramysql.so * Differences: size, content * * Package 'dev-db/oracle-instantclient-21.3.0.0.0' NOT merged due to * internal collisions between non-identical files. If necessary, refer * to your elog messages for the whole content of the above message. >>> Completed (3 of 3) dev-db/oracle-instantclient-21.3.0.0.0::gentoo Reproducible: Always Steps to Reproduce: 1. Set ABI_X86 to "64 32" in /etc/portage/make.conf. 2. Emerge dev-db/oracle-instantclient Actual Results: Package fails to install due to file collisions. Work-around: The package installs without issues (albeit without 32-bit libs) with the following in /etc/portage/package.use: # Multilib support broken. =dev-db/oracle-instantclient-21.3.0.0.0 ABI_X86: -32
I am working on streamlining this ebuild a litle bit. So far I've removed support for multilib because the amd64 and x86 versions differ. In fact we have for amd64 version 21.13 and for x86 version 21.3. The result for now can be seen in my overlay [1]. As soon as the ebuild looks good to me I will open a PR in github. [1] https://github.com/fedeliallalinea/gallifrey/blob/master/dev-db/oracle-instantclient/oracle-instantclient-21.13.0.0.0.ebuild
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a775faebf8a65b66aed34fcad1efca92ecc7979 commit 3a775faebf8a65b66aed34fcad1efca92ecc7979 Author: Marco Genasci <fedeliallalinea@gmail.com> AuthorDate: 2024-02-19 08:43:50 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2024-03-29 07:38:53 +0000 dev-db/oracle-instantclient: bump version to 21.13.0.0.0 In this version: - removed multilib support - removed ~x86 keywords (no available upstream) Signed-off-by: Marco Genasci <fedeliallalinea@gmail.com> Closes: https://bugs.gentoo.org/923253 Closes: https://github.com/gentoo/gentoo/pull/35422 Signed-off-by: Joonas Niilola <juippis@gentoo.org> dev-db/oracle-instantclient/Manifest | 7 + .../files/21.13.0.0.0-makefile.patch | 22 ++ .../oracle-instantclient-21.13.0.0.0.ebuild | 310 +++++++++++++++++++++ 3 files changed, 339 insertions(+)