Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 923253 - Multilib support broken in dev-db/oracle-instantclient-21.3.0.0.0
Summary: Multilib support broken in dev-db/oracle-instantclient-21.3.0.0.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-01-29 11:03 UTC by Henrik Grubbström
Modified: 2024-03-29 07:40 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Henrik Grubbström 2024-01-29 11:03:54 UTC
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
Comment 1 Marco Genasci 2024-01-31 09:12:01 UTC
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
Comment 2 Larry the Git Cow gentoo-dev 2024-03-29 07:40:53 UTC
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(+)