checking for Oracle OCI libraries in /usr/lib64/oracle/client/lib... not found checking if Oracle support is enabled... no configure: error: ---------------------------------------------- This software requires Oracle installation 1. Have you set $ORACLE_HOME? 2. Check if Oracle Home 64/32-bit is OK ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_systemd-j2_abi32+64-20210521-112000 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-11.1.0 * clang version 12.0.0 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/12/bin /usr/lib/llvm/12 12.0.0 Python 3.8.10 Available Ruby profiles: (none found) Available Rust versions: [1] rust-1.52.1 * The following VMs are available for generation-2: *) AdoptOpenJDK 8.292_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.10.4 timestamp(s) of HEAD at this tinderbox image: /var/db/repos/gentoo Thu May 27 08:50:23 UTC 2021 emerge -qpvO dev-db/ocp [ebuild N ] dev-db/ocp-0.3
Created attachment 711687 [details] emerge-info.txt
Created attachment 711690 [details] dev-db:ocp-0.3:20210527-094920.log
Created attachment 711693 [details] emerge-history.txt
Created attachment 711696 [details] environment
Created attachment 711699 [details] etc.portage.tar.bz2
Created attachment 711702 [details] logs.tar.bz2
Created attachment 711705 [details] temp.tar.bz2
I hate to say that, "it works on my machine" However, I use Funtoo if that makes a difference... What is in /usr/lib64/oracle/client/lib directory? Is there libclntsh.so symbolic link in that directory which points to a 64-bit shared object? (Based on your comments, I assume we are talking about 64-bit system) What is a version of instant client you have? (Well, I tested it with 11g, 12c, and 18c back in the day)
(In reply to Max Satula from comment #8) > I hate to say that, "it works on my machine" > > However, I use Funtoo if that makes a difference... > > What is in /usr/lib64/oracle/client/lib directory? Is there libclntsh.so > symbolic link in that directory which points to a 64-bit shared object? > (Based on your comments, I assume we are talking about 64-bit system) > What is a version of instant client you have? (Well, I tested it with 11g, > 12c, and 18c back in the day) tinderbox@mr-fox ~/img/17.1_desktop_systemd-j2_abi32+64-20210521-112000/usr/lib64/oracle/client/lib $ ls -al total 193776 drwxr-xr-x 1 root root 576 May 27 11:49 . drwxr-xr-x 1 root root 66 May 27 11:49 .. -rwxr-xr-x 1 root root 2780488 May 27 11:48 libclntshcore.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.10.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.11.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.12.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.18.1 -> libclntsh.so.19.1 -rwxr-xr-x 1 root root 52905844 May 27 11:48 libclntsh.so.19.1 -rwxr-xr-x 1 root root 4813240 May 27 11:48 libnnz19.so lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.10.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.11.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.12.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.18.1 -> libocci.so.19.1 -rwxr-xr-x 1 root root 1019440 May 27 11:48 libocci.so.19.1 -rwxr-xr-x 1 root root 130503976 May 27 11:48 libociei.so -rwxr-xr-x 1 root root 133736 May 27 11:48 libocijdbc19.so -rwxr-xr-x 1 root root 51816 May 27 11:48 liboramysql19.so -rw-r--r-- 1 root root 4395452 May 27 11:48 ojdbc8.jar lrwxrwxrwx 1 root root 6 May 27 11:48 sdk -> ../sdk -rw-r--r-- 1 root root 1680537 May 27 11:48 ucp.jar -rw-r--r-- 1 root root 74263 May 27 11:48 xstreams.jar tinderbox@mr-fox ~/img/17.1_desktop_systemd-j2_abi32+64-20210521-112000/usr/lib64/oracle/client/lib $ file libclntshcore.so.19.1 libclntshcore.so.19.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0fd9d5a0dcf73d039a25994d87524b0ded6cffeb, stripped
(In reply to Toralf Förster from comment #9) > (In reply to Max Satula from comment #8) > ~/img/17.1_desktop_systemd-j2_abi32+64-20210521-112000/usr/lib64/oracle/ > client/lib $ file libclntshcore.so.19.1 > libclntshcore.so.19.1: ELF 32-bit LSB shared object, Intel 80386, version 1 > (SYSV), dynamically linked, > BuildID[sha1]=0fd9d5a0dcf73d039a25994d87524b0ded6cffeb, stripped So it is trying to use a 32-bit oracle library for a 64-bit binary. On my pure 64-bit installation /usr/lib64/oracle/client/lib is a symbolic link to lib64 directory. Does your Gentoo installation have multilib support (to support both 32 and 64 bits)? Isn't that architecture deprecated yet? (Just asking) As a possible workaround, please check if you have /usr/lib64/oracle/client/lib and /usr/lib64/oracle/client/lib64 as independent directories, not links, and if so, that is the case. You actually need the 64 bit one. One way to do it is to rename /usr/lib64/oracle/client/lib directory to something else and make a symbolic link on lib64 with a name of lib instead, e.g. cd /usr/lib64/oracle/client/ mv lib lib-32-temporarily-renamed ln -s lib64 lib And retry the build
yes, ABI_X86="32 64" is set (see attached etc.portage.tar.bz2) The dirs are independent : tinderbox@mr-fox ~/img/17.1_desktop_systemd-j2_abi32+64-20210521-112000/usr/lib64/oracle/client $ ls -ld lib* drwxr-xr-x 1 root root 576 May 27 11:49 lib drwxr-xr-x 1 root root 700 May 27 11:49 lib64 tinderbox@mr-fox ~/img/17.1_desktop_systemd-j2_abi32+64-20210521-112000/usr/lib64/oracle/client $ ls -l lib* lib: total 193776 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.10.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.11.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.12.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.18.1 -> libclntsh.so.19.1 -rwxr-xr-x 1 root root 52905844 May 27 11:48 libclntsh.so.19.1 -rwxr-xr-x 1 root root 2780488 May 27 11:48 libclntshcore.so.19.1 -rwxr-xr-x 1 root root 4813240 May 27 11:48 libnnz19.so lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.10.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.11.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.12.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.18.1 -> libocci.so.19.1 -rwxr-xr-x 1 root root 1019440 May 27 11:48 libocci.so.19.1 -rwxr-xr-x 1 root root 130503976 May 27 11:48 libociei.so -rwxr-xr-x 1 root root 133736 May 27 11:48 libocijdbc19.so -rwxr-xr-x 1 root root 51816 May 27 11:48 liboramysql19.so -rw-r--r-- 1 root root 4395452 May 27 11:48 ojdbc8.jar lrwxrwxrwx 1 root root 6 May 27 11:48 sdk -> ../sdk -rw-r--r-- 1 root root 1680537 May 27 11:48 ucp.jar -rw-r--r-- 1 root root 74263 May 27 11:48 xstreams.jar lib64: total 213324 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.10.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.11.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.12.1 -> libclntsh.so.19.1 lrwxrwxrwx 1 root root 17 May 27 11:48 libclntsh.so.18.1 -> libclntsh.so.19.1 -rwxr-xr-x 1 root root 65364128 May 27 11:48 libclntsh.so.19.1 -rwxr-xr-x 1 root root 3742680 May 27 11:48 libclntshcore.so.19.1 -rwxr-xr-x 1 root root 2579184 May 27 11:48 libipc1.so -rwxr-xr-x 1 root root 393968 May 27 11:48 libmql1.so -rwxr-xr-x 1 root root 5532208 May 27 11:48 libnnz19.so lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.10.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.11.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.12.1 -> libocci.so.19.1 lrwxrwxrwx 1 root root 15 May 27 11:48 libocci.so.18.1 -> libocci.so.19.1 -rwxr-xr-x 1 root root 951312 May 27 11:48 libocci.so.19.1 -rwxr-xr-x 1 root root 130513024 May 27 11:48 libociei.so -rwxr-xr-x 1 root root 125648 May 27 11:48 libocijdbc19.so -rwxr-xr-x 1 root root 73528 May 27 11:48 liboramysql19.so -rwxr-xr-x 1 root root 968616 May 27 11:48 libsqlplus.so -rwxr-xr-x 1 root root 1656880 May 27 11:48 libsqlplusic.so -rw-r--r-- 1 root root 4395452 May 27 11:48 ojdbc8.jar -rw-r--r-- 1 root root 313021 May 27 11:48 ottclasses.zip lrwxrwxrwx 1 root root 6 May 27 11:48 sdk -> ../sdk -rw-r--r-- 1 root root 1680537 May 27 11:48 ucp.jar -rw-r--r-- 1 root root 74263 May 27 11:48 xstreams.jar
Then I expect a temporary rename and create a link instead to be working
(In reply to Toralf Förster from comment #11) So, did a temporary rename with placing a link work for you? I know it is a workaround, not a solution. Alternatively, please try this patch (I don't have a Gentoo with multilib profile to test on my own) --- /var/tmp/portage/dev-db/ocp-0.3/work/ocp-0.3/configure~ 2019-01-12 14:14:56.000000000 -0500 +++ /var/tmp/portage/dev-db/ocp-0.3/work/ocp-0.3/configure 2021-05-31 10:38:21.959257852 -0400 @@ -3672,6 +3672,7 @@ oracle_include_dir2="$oracle_home_dir/rdbms/demo" oracle_lib_dir="$oracle_home_dir/lib" + oracle_lib_dir2="$oracle_home_dir/lib64" elif test "$oracle_home_dir" = "yes"; then want_oracle_but_no_path="yes" fi @@ -3712,6 +3713,9 @@ saved_LDFLAGS="$LDFLAGS" saved_LIBS="$LIBS" oci_ldflags="-L$oracle_lib_dir" + if test -n "$oracle_lib_dir2"; then + oci_ldflags="$oci_ldflags -L$oracle_lib_dir2" + fi oci_libs="-lclntsh" LDFLAGS="$LDFLAGS $oci_ldflags" LIBS="$LIBS $oci_libs"