forked from gwenshap/DBD-Oracle
-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
I’ve been updating Sqitch to support ARM, but DBD::Oracle fails to compile. Here are the steps I took in a Dockerfile:
FROM debian:bullseye-slim AS ora-build
WORKDIR /work
# https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
ENV BASEURI=https://download.oracle.com/otn_software/linux/instantclient/instantclient
ENV ORACLE_HOME /work/instantclient
ENV LD_LIBRARY_PATH /work/instantclient
ENV PERL5LIB /work/tmp/lib/perl5
RUN mkdir -p /usr/share/man/man1 /usr/share/man/man7 \
# Install dependencies, including latest platform-specific instantclient.
&& apt-get -qq update \
&& apt-get -qq install build-essential libarchive-tools curl libaio-dev \
&& case "$(arch)" in aarch64) export ORAPLAT=-arm64 ;; x86_64) export ORAPLAT=x64 ;; esac \
&& curl "${BASEURI}-basic-linux${ORAPLAT}.zip" -o instantclient-basic.zip \
&& curl "${BASEURI}-sqlplus-linux${ORAPLAT}.zip" -o instantclient-sqlplus.zip \
&& curl "${BASEURI}-sdk-linux${ORAPLAT}.zip" -o instantclient-sdk.zip \
&& mkdir instantclient \
&& bsdtar -C instantclient --strip-components 1 -zxf instantclient-basic.zip \
&& bsdtar -C instantclient --strip-components 1 -zxf instantclient-sqlplus.zip \
# Copy basic and SQL*Plus for installation below.
&& cp -rf instantclient instantclient.install \
&& bsdtar -C instantclient --strip-components 1 -zxf instantclient-sdk.zip \
# Install DBI in its own directory, then install DBD::Oracle.
&& curl https://cpanmin.us > cpanm && chmod +x cpanm \
&& ./cpanm install -l tmp --quiet --notest DBI \
&& ./cpanm install -l local --verbose --notest --no-man-pages DBD::Oracle \Here’s how I run it on ARM on my M1 Mac:
docker buildx build --platform linux/arm64 .Here's the output from building DBD::Oracle:
25.99 Running Makefile.PL
25.99 Configuring DBD-Oracle-1.83 ... Using DBI 1.643 (for perl 5.032001 on aarch64-linux-gnu-thread-multi) installed in /work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI/
26.07 Configuring DBD::Oracle for perl 5.032001 on linux (aarch64-linux-gnu-thread-multi)
26.07 26.07 If you encounter any problem, a collection of troubleshooting
26.07 guides are available under lib/DBD/Oracle/Troubleshooting.
26.07 'DBD::Oracle::Troubleshooting' is the general troubleshooting
26.07 guide, while platform-specific troubleshooting hints
26.07 live in their labelled sub-document (e.g., Win32
26.07 hints are gathered in 'lib/DBD/Oracle/Troubleshooting/Win32.pod').
26.07 26.07 Installing on a linux, Ver#4.19
26.07 Using Oracle in /work/instantclient
26.08 DEFINE _SQLPLUS_RELEASE = "1919000000" (CHAR)
26.08 Oracle Version 19.19.0.0 (19.19)
26.08 Looks like an Instant Client installation, okay
26.08 Your LD_LIBRARY_PATH env var is set to '/work/instantclient'
26.08 Oracle sysliblist: -Wl,--no-as-needed -lnnz12 -lons -lclntshcore -lipc1 -lmql1
26.09 Found header files in /work/instantclient/sdk/include.
26.09 26.09 client_version=19.19
26.09 26.09 26.09 DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.19.0.0\" -DORA_OCI_102 -DORA_OCI_112
26.09 26.09 26.09 Checking for functioning wait.ph
26.10 26.10 26.10 System: perl5.032001 linux localhost 4.19.0 #1 smp debian 4.19.0 aarch64 gnulinux 26.10 Compiler: aarch64-linux-gnu-gcc -O2 -g -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
26.10 Linker: /usr/bin/ld
26.10 Sysliblist: -Wl,--no-as-needed -lnnz12 -lons -lclntshcore -lipc1 -lmql1
26.10 Linking with -lclntsh.
26.10 26.10 WARNING: Your GNU C compiler is very old. Please upgrade.
26.11 Checking if your kit is complete...
26.11 Looks good
26.12 Warning (mostly harmless): No library found for -lnnz12
26.12 Warning (mostly harmless): No library found for -lons
26.12 Warning (mostly harmless): No library found for -lipc1
26.12 Warning (mostly harmless): No library found for -lmql1
26.13 LD_RUN_PATH=/work/instantclient
26.13 Using DBD::Oracle 1.83.
26.13 Using DBD::Oracle 1.83.
26.14 Using DBI 1.643 (for perl 5.032001 on aarch64-linux-gnu-thread-multi) installed in /work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI/
26.14 Generating a Unix-style Makefile
26.14 Writing Makefile for DBD::Oracle
26.15 Writing MYMETA.yml and MYMETA.json
26.15 26.15 Checking dependencies from MYMETA.json ...
26.16 Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.44)
26.16 Checking if you have DBI 1.623 ... Yes (1.643)
26.17 OK
26.17 Building DBD-Oracle-1.83 ... cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod
26.27 cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h
26.27 cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
26.27 cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod
26.27 cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm
26.27 cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
26.27 cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h
26.27 cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod
26.27 cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm
26.27 cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod
26.27 cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod
26.27 cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod
26.27 cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod
26.27 cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
26.27 cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod
26.27 cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod
26.27 cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod
26.27 Running Mkbootstrap for Oracle ()
26.28 chmod 644 "Oracle.bs"
26.28 "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs 644
26.29 "/usr/bin/perl" -p -e "s/~DRIVER~/Oracle/g" /work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI/Driver.xst > Oracle.xsi
26.29 "/usr/bin/perl" "/usr/share/perl/5.32/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.32/ExtUtils/typemap' -typemap '/root/.cpanm/work/1695590795.4308/DBD-Oracle-1.83/typemap' Oracle.xs > Oracle.xsc
26.34 mv Oracle.xsc Oracle.c
26.34 aarch64-linux-gnu-gcc -c -I/work/instantclient/sdk/include -I/work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.83\" -DXS_VERSION=\"1.83\" -fPIC "-I/usr/lib/aarch64-linux-gnu/perl/5.32/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.19.0.0\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c
26.49 In file included from dbdimp.h:445,
26.49 from Oracle.h:52,
26.49 from Oracle.xs:1:
26.49 Oracle.xs: In function 'XS_DBD__Oracle__db_ora_db_startup':
26.49 Oracle.xs:330:82: warning: macro expands to multiple statements [-Wmultistatement-macros]
26.49 330 | if (admhp) OCIHandleFree_log_stat(imp_dbh, (dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, status);
26.49 | ^~~~~~
26.49 ocitrace.h:411:2: note: in definition of macro 'OCIHandleFree_log_stat'
26.49 411 | stat=OCIHandleFree( (hp), (t)); \
26.49 | ^~~~
26.49 Oracle.xs:330:2: note: some parts of macro expansion are not guarded by this 'if' clause
26.49 330 | if (admhp) OCIHandleFree_log_stat(imp_dbh, (dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, status);
26.49 | ^~
26.95 aarch64-linux-gnu-gcc -c -I/work/instantclient/sdk/include -I/work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.83\" -DXS_VERSION=\"1.83\" -fPIC "-I/usr/lib/aarch64-linux-gnu/perl/5.32/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.19.0.0\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c
27.09 In file included from dbdimp.h:445,
27.09 from Oracle.h:52,
27.09 from dbdimp.c:21:
27.09 dbdimp.c: In function 'ora_db_login6':
27.09 dbdimp.c:923:57: warning: macro expands to multiple statements [-Wmultistatement-macros]
27.09 923 | (ub4) OCI_ATTR_CONNECTION_CLASS, imp_dbh->errhp, status);
27.09 | ^~~~~~
27.09 ocitrace.h:325:2: note: in definition of macro 'OCIAttrSet_log_stat'
27.09 325 | stat=OCIAttrSet(th,ht,ah,s1,a,eh); \
27.09 | ^~~~
27.09 dbdimp.c:920:4: note: some parts of macro expansion are not guarded by this 'if' clause
27.09 920 | if (imp_dbh->pool_class) /*pool_class may or may not be used */
27.09 | ^~
27.10 dbdimp.c: In function 'ora_bind_ph':
27.10 dbdimp.c:3401:4: warning: increment of a boolean expression [-Wbool-operation]
27.10 3401 | ++imp_sth->has_inout_params;
27.10 | ^~
27.11 In file included from dbdimp.h:445,
27.11 from Oracle.h:52,
27.11 from dbdimp.c:21:
27.11 dbdimp.c: In function 'ora_free_phs_contents':
27.11 ocitrace.h:380:2: warning: macro expands to multiple statements [-Wmultistatement-macros]
27.11 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
27.11 | ^~
27.11 ocitrace.h:380:2: note: in definition of macro 'OCIDescriptorFree_log'
27.11 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
27.11 | ^~
27.11 dbdimp.c:4394:2: note: some parts of macro expansion are not guarded by this 'if' clause
27.11 4394 | if (phs->desc_h)
27.11 | ^~
27.12 dbdimp.c: In function 'dump_env_to_trace':
27.12 dbdimp.c:4764:29: warning: comparison between pointer and zero character constant [-Wpointer-compare]
27.12 4764 | } while ((char*)environ[i] != '\0');
27.12 | ^~
27.12 dbdimp.c:4764:11: note: did you mean to dereference the pointer?
27.12 4764 | } while ((char*)environ[i] != '\0');
27.12 | ^
28.10 aarch64-linux-gnu-gcc -c -I/work/instantclient/sdk/include -I/work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.83\" -DXS_VERSION=\"1.83\" -fPIC "-I/usr/lib/aarch64-linux-gnu/perl/5.32/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"19.19.0.0\" -DORA_OCI_102 -DORA_OCI_112 oci8.c
28.23 oci8.c:18: warning: "sv_set_undef" redefined
28.23 18 | #define sv_set_undef(sv) if (SvROK(sv)) sv_unref(sv); else SvOK_off(sv)
28.23 | 28.23 In file included from /usr/lib/aarch64-linux-gnu/perl/5.32/CORE/perl.h:5606,
28.23 from /work/tmp/lib/perl5/aarch64-linux-gnu-thread-multi/auto/DBI/DBIXS.h:23,
28.23 from Oracle.h:50,
28.23 from oci8.c:12:
28.23 /usr/lib/aarch64-linux-gnu/perl/5.32/CORE/embed.h:652: note: this is the location of the previous definition
28.23 652 | #define sv_set_undef(a) Perl_sv_set_undef(aTHX_ a)
28.23 | 28.25 In file included from dbdimp.h:445,
28.25 from Oracle.h:52,
28.25 from oci8.c:12:
28.25 oci8.c: In function 'init_lob_refetch':
28.25 ocitrace.h:380:2: warning: macro expands to multiple statements [-Wmultistatement-macros]
28.25 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
28.25 | ^~
28.25 ocitrace.h:380:2: note: in definition of macro 'OCIDescriptorFree_log'
28.25 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
28.25 | ^~
28.25 oci8.c:4570:2: note: some parts of macro expansion are not guarded by this 'if' clause
28.25 4570 | if (colhd)
28.25 | ^~
28.26 In file included from dbdimp.h:445,
28.26 from Oracle.h:52,
28.26 from oci8.c:12:
28.26 oci8.c: In function 'ora_free_lob_refetch':
28.26 ocitrace.h:380:2: warning: macro expands to multiple statements [-Wmultistatement-macros]
28.26 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
28.26 | ^~
28.26 ocitrace.h:380:2: note: in definition of macro 'OCIDescriptorFree_log'
28.26 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
28.26 | ^~
28.26 oci8.c:4910:2: note: some parts of macro expansion are not guarded by this 'if' clause
28.26 4910 | if (lr->rowid)
28.26 | ^~
28.46 oci8.c: In function 'get_attr_val':
28.46 oci8.c:2337:25: warning: '%02d' directive writing between 2 and 3 bytes into a region of size 2 [-Wformat-overflow=]
28.46 2337 | sprintf(s_tz_hour," %02d",tz_hour);
28.46 | ^~~~
28.46 oci8.c:2337:23: note: directive argument in the range [0, 255]
28.46 2337 | sprintf(s_tz_hour," %02d",tz_hour);
28.46 | ^~~~~~~
28.46 oci8.c:2337:5: note: 'sprintf' output between 4 and 5 bytes into a destination of size 3
28.46 2337 | sprintf(s_tz_hour," %02d",tz_hour);
28.46 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.46 oci8.c:2340:23: warning: '%02d' directive writing between 2 and 3 bytes into a region of size 2 [-Wformat-overflow=]
28.46 2340 | sprintf(s_tz_min,":%02d", tz_minute);
28.46 | ^~~~
28.46 oci8.c:2340:21: note: directive argument in the range [0, 255]
28.46 2340 | sprintf(s_tz_min,":%02d", tz_minute);
28.46 | ^~~~~~~
28.46 oci8.c:2340:4: note: 'sprintf' output between 4 and 5 bytes into a destination of size 3
28.46 2340 | sprintf(s_tz_min,":%02d", tz_minute);
28.46 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28.95 oci8.c: In function 'init_lob_refetch':
28.95 oci8.c:4463:3: warning: 'strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=]
28.95 4463 | strncpy(syn_name,tablename,strlen(tablename));
28.95 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29.08 rm -f blib/arch/auto/DBD/Oracle/Oracle.so
29.08 LD_RUN_PATH="/work/instantclient" aarch64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so \
29.08 -L/work/instantclient -Wl,-rpath,/work/instantclient -lclntsh -Wl,--no-as-needed -lclntshcore \
29.08 29.09 /usr/bin/ld: cannot find -lclntshcore
29.10 collect2: error: ld returned 1 exit status
29.10 make: *** [Makefile:514: blib/arch/auto/DBD/Oracle/Oracle.so] Error 1
29.10 ! Installing DBD::Oracle failed. See /root/.cpanm/work/1695590795.4308/build.log for details. Retry with --force to force install it.
29.10 FAIL
Odd that it can’t find lclntshcore, because it works fine on amd64:
docker buildx build --platform linux/amd64 .The output shows lots of warnings, too, but works:
#8 135.3 Running Makefile.PL
#8 135.3 Configuring DBD-Oracle-1.83 ... Using DBI 1.643 (for perl 5.032001 on x86_64-linux-gnu-thread-multi) installed in /work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI/
#8 135.9 Configuring DBD::Oracle for perl 5.032001 on linux (x86_64-linux-gnu-thread-multi)
#8 135.9 #8 135.9 If you encounter any problem, a collection of troubleshooting
#8 135.9 guides are available under lib/DBD/Oracle/Troubleshooting.
#8 135.9 'DBD::Oracle::Troubleshooting' is the general troubleshooting
#8 135.9 guide, while platform-specific troubleshooting hints
#8 135.9 live in their labelled sub-document (e.g., Win32
#8 135.9 hints are gathered in 'lib/DBD/Oracle/Troubleshooting/Win32.pod').
#8 135.9 #8 135.9 Installing on a linux, Ver#4.19
#8 135.9 Using Oracle in /work/instantclient
#8 136.0 DEFINE _SQLPLUS_RELEASE = "2111000000" (CHAR)
#8 136.0 Oracle Version 21.11.0.0 (21.11)
#8 136.0 Looks like an Instant Client installation, okay
#8 136.0 Your LD_LIBRARY_PATH env var is set to '/work/instantclient'
#8 136.0 Oracle sysliblist: -Wl,--no-as-needed -lnnz12 -lons -lclntshcore -lipc1 -lmql1
#8 136.0 Found header files in /work/instantclient/sdk/include.
#8 136.0 #8 136.0 client_version=21.11
#8 136.0 #8 136.0 #8 136.0 DEFINE= -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"21.11.0.0\" -DORA_OCI_102 -DORA_OCI_112
#8 136.0 #8 136.0 #8 136.0 Checking for functioning wait.ph
#8 136.1 #8 136.1 #8 136.1 System: perl5.032001 linux localhost 4.19.0 #1 smp debian 4.19.0 x86_64 gnulinux #8 136.1 Compiler: x86_64-linux-gnu-gcc -O2 -g -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
#8 136.1 Linker: /usr/bin/ld
#8 136.1 Sysliblist: -Wl,--no-as-needed -lnnz12 -lons -lclntshcore -lipc1 -lmql1
#8 136.1 Linking with -lclntsh.
#8 136.1 #8 136.1 WARNING: Your GNU C compiler is very old. Please upgrade.
#8 136.1 Checking if your kit is complete...
#8 136.1 Looks good
#8 136.3 Warning (mostly harmless): No library found for -lnnz12
#8 136.3 Warning (mostly harmless): No library found for -lons
#8 136.3 Warning (mostly harmless): No library found for -lipc1
#8 136.3 Warning (mostly harmless): No library found for -lmql1
#8 136.3 LD_RUN_PATH=/work/instantclient
#8 136.3 Using DBD::Oracle 1.83.
#8 136.3 Using DBD::Oracle 1.83.
#8 136.4 Using DBI 1.643 (for perl 5.032001 on x86_64-linux-gnu-thread-multi) installed in /work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI/
#8 136.4 Generating a Unix-style Makefile
#8 136.4 Writing Makefile for DBD::Oracle
#8 136.5 Writing MYMETA.yml and MYMETA.json
#8 136.5 #8 136.5 Checking dependencies from MYMETA.json ...
#8 136.5 Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.44)
#8 136.5 Checking if you have DBI 1.623 ... Yes (1.643)
#8 136.6 OK
#8 136.6 Building DBD-Oracle-1.83 ... cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod
#8 138.4 cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod
#8 138.4 cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod
#8 138.4 cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h
#8 138.4 cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod
#8 138.4 cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm
#8 138.4 cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod
#8 138.4 cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm
#8 138.4 cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod
#8 138.4 cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod
#8 138.4 Running Mkbootstrap for Oracle ()
#8 138.6 chmod 644 "Oracle.bs"
#8 138.6 "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs 644
#8 138.7 "/usr/bin/perl" -p -e "s/~DRIVER~/Oracle/g" /work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI/Driver.xst > Oracle.xsi
#8 138.8 "/usr/bin/perl" "/usr/share/perl/5.32/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.32/ExtUtils/typemap' -typemap '/root/.cpanm/work/1695593689.11579/DBD-Oracle-1.83/typemap' Oracle.xs > Oracle.xsc
#8 139.3 mv Oracle.xsc Oracle.c
#8 139.3 x86_64-linux-gnu-gcc -c -I/work/instantclient/sdk/include -I/work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.83\" -DXS_VERSION=\"1.83\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.32/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"21.11.0.0\" -DORA_OCI_102 -DORA_OCI_112 Oracle.c
#8 140.5 In file included from dbdimp.h:445,
#8 140.5 from Oracle.h:52,
#8 140.5 from Oracle.xs:1:
#8 140.5 Oracle.xs: In function 'XS_DBD__Oracle__db_ora_db_startup':
#8 140.5 Oracle.xs:330:82: warning: macro expands to multiple statements [-Wmultistatement-macros]
#8 140.5 330 | if (admhp) OCIHandleFree_log_stat(imp_dbh, (dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, status);
#8 140.5 | ^~~~~~
#8 140.5 ocitrace.h:411:2: note: in definition of macro 'OCIHandleFree_log_stat'
#8 140.5 411 | stat=OCIHandleFree( (hp), (t)); \
#8 140.5 | ^~~~
#8 140.5 Oracle.xs:330:2: note: some parts of macro expansion are not guarded by this 'if' clause
#8 140.5 330 | if (admhp) OCIHandleFree_log_stat(imp_dbh, (dvoid*)admhp, (ub4)OCI_HTYPE_ADMIN, status);
#8 140.5 | ^~
#8 144.4 x86_64-linux-gnu-gcc -c -I/work/instantclient/sdk/include -I/work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.83\" -DXS_VERSION=\"1.83\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.32/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"21.11.0.0\" -DORA_OCI_102 -DORA_OCI_112 dbdimp.c
#8 145.5 In file included from dbdimp.h:445,
#8 145.5 from Oracle.h:52,
#8 145.5 from dbdimp.c:21:
#8 145.5 dbdimp.c: In function 'ora_db_login6':
#8 145.5 dbdimp.c:923:57: warning: macro expands to multiple statements [-Wmultistatement-macros]
#8 145.5 923 | (ub4) OCI_ATTR_CONNECTION_CLASS, imp_dbh->errhp, status);
#8 145.5 | ^~~~~~
#8 145.5 ocitrace.h:325:2: note: in definition of macro 'OCIAttrSet_log_stat'
#8 145.5 325 | stat=OCIAttrSet(th,ht,ah,s1,a,eh); \
#8 145.5 | ^~~~
#8 145.5 dbdimp.c:920:4: note: some parts of macro expansion are not guarded by this 'if' clause
#8 145.5 920 | if (imp_dbh->pool_class) /*pool_class may or may not be used */
#8 145.5 | ^~
#8 145.6 dbdimp.c: In function 'ora_bind_ph':
#8 145.6 dbdimp.c:3401:4: warning: increment of a boolean expression [-Wbool-operation]
#8 145.6 3401 | ++imp_sth->has_inout_params;
#8 145.6 | ^~
#8 145.7 In file included from dbdimp.h:445,
#8 145.7 from Oracle.h:52,
#8 145.7 from dbdimp.c:21:
#8 145.7 dbdimp.c: In function 'ora_free_phs_contents':
#8 145.7 ocitrace.h:380:2: warning: macro expands to multiple statements [-Wmultistatement-macros]
#8 145.7 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
#8 145.7 | ^~
#8 145.7 ocitrace.h:380:2: note: in definition of macro 'OCIDescriptorFree_log'
#8 145.7 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
#8 145.7 | ^~
#8 145.7 dbdimp.c:4394:2: note: some parts of macro expansion are not guarded by this 'if' clause
#8 145.7 4394 | if (phs->desc_h)
#8 145.7 | ^~
#8 145.7 dbdimp.c: In function 'dump_env_to_trace':
#8 145.7 dbdimp.c:4764:29: warning: comparison between pointer and zero character constant [-Wpointer-compare]
#8 145.7 4764 | } while ((char*)environ[i] != '\0');
#8 145.7 | ^~
#8 145.7 dbdimp.c:4764:11: note: did you mean to dereference the pointer?
#8 145.7 4764 | } while ((char*)environ[i] != '\0');
#8 145.7 | ^
#8 152.6 x86_64-linux-gnu-gcc -c -I/work/instantclient/sdk/include -I/work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"1.83\" -DXS_VERSION=\"1.83\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.32/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DORA_OCI_VERSION=\"21.11.0.0\" -DORA_OCI_102 -DORA_OCI_112 oci8.c
#8 153.7 oci8.c:18: warning: "sv_set_undef" redefined
#8 153.7 18 | #define sv_set_undef(sv) if (SvROK(sv)) sv_unref(sv); else SvOK_off(sv)
#8 153.7 | #8 153.7 In file included from /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/perl.h:5606,
#8 153.7 from /work/tmp/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBI/DBIXS.h:23,
#8 153.7 from Oracle.h:50,
#8 153.7 from oci8.c:12:
#8 153.7 /usr/lib/x86_64-linux-gnu/perl/5.32/CORE/embed.h:652: note: this is the location of the previous definition
#8 153.7 652 | #define sv_set_undef(a) Perl_sv_set_undef(aTHX_ a)
#8 153.7 | #8 153.9 In file included from dbdimp.h:445,
#8 153.9 from Oracle.h:52,
#8 153.9 from oci8.c:12:
#8 153.9 oci8.c: In function 'init_lob_refetch':
#8 153.9 ocitrace.h:380:2: warning: macro expands to multiple statements [-Wmultistatement-macros]
#8 153.9 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
#8 153.9 | ^~
#8 153.9 ocitrace.h:380:2: note: in definition of macro 'OCIDescriptorFree_log'
#8 153.9 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
#8 153.9 | ^~
#8 153.9 oci8.c:4570:2: note: some parts of macro expansion are not guarded by this 'if' clause
#8 153.9 4570 | if (colhd)
#8 153.9 | ^~
#8 154.0 In file included from dbdimp.h:445,
#8 154.0 from Oracle.h:52,
#8 154.0 from oci8.c:12:
#8 154.0 oci8.c: In function 'ora_free_lob_refetch':
#8 154.0 ocitrace.h:380:2: warning: macro expands to multiple statements [-Wmultistatement-macros]
#8 154.0 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
#8 154.0 | ^~
#8 154.0 ocitrace.h:380:2: note: in definition of macro 'OCIDescriptorFree_log'
#8 154.0 380 | if (DBD_OCI_TRACEON(impxxh)) PerlIO_printf(DBD_OCI_TRACEFP(impxxh), \
#8 154.0 | ^~
#8 154.0 oci8.c:4910:2: note: some parts of macro expansion are not guarded by this 'if' clause
#8 154.0 4910 | if (lr->rowid)
#8 154.0 | ^~
#8 156.0 oci8.c: In function 'get_attr_val':
#8 156.0 oci8.c:2337:25: warning: '%02d' directive writing between 2 and 4 bytes into a region of size 2 [-Wformat-overflow=]
#8 156.0 2337 | sprintf(s_tz_hour," %02d",tz_hour);
#8 156.0 | ^~~~
#8 156.0 oci8.c:2337:23: note: directive argument in the range [-128, 127]
#8 156.0 2337 | sprintf(s_tz_hour," %02d",tz_hour);
#8 156.0 | ^~~~~~~
#8 156.0 oci8.c:2337:5: note: 'sprintf' output between 4 and 6 bytes into a destination of size 3
#8 156.0 2337 | sprintf(s_tz_hour," %02d",tz_hour);
#8 156.0 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#8 156.0 oci8.c:2335:25: warning: '%03d' directive writing 3 bytes into a region of size 2 [-Wformat-overflow=]
#8 156.0 2335 | sprintf(s_tz_hour," %03d",tz_hour);
#8 156.0 | ^~~~
#8 156.0 oci8.c:2335:23: note: directive argument in the range [-9, -1]
#8 156.0 2335 | sprintf(s_tz_hour," %03d",tz_hour);
#8 156.0 | ^~~~~~~
#8 156.0 oci8.c:2335:5: note: 'sprintf' output 5 bytes into a destination of size 3
#8 156.0 2335 | sprintf(s_tz_hour," %03d",tz_hour);
#8 156.0 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#8 156.0 oci8.c:2340:23: warning: '%02d' directive writing between 2 and 4 bytes into a region of size 2 [-Wformat-overflow=]
#8 156.0 2340 | sprintf(s_tz_min,":%02d", tz_minute);
#8 156.0 | ^~~~
#8 156.0 oci8.c:2340:21: note: directive argument in the range [-128, 127]
#8 156.0 2340 | sprintf(s_tz_min,":%02d", tz_minute);
#8 156.0 | ^~~~~~~
#8 156.0 oci8.c:2340:4: note: 'sprintf' output between 4 and 6 bytes into a destination of size 3
#8 156.0 2340 | sprintf(s_tz_min,":%02d", tz_minute);
#8 156.0 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#8 159.1 oci8.c: In function 'init_lob_refetch':
#8 159.1 oci8.c:4463:3: warning: 'strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=]
#8 159.1 4463 | strncpy(syn_name,tablename,strlen(tablename));
#8 159.1 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#8 159.9 rm -f blib/arch/auto/DBD/Oracle/Oracle.so
#8 159.9 LD_RUN_PATH="/work/instantclient" x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so \
#8 159.9 -L/work/instantclient -Wl,-rpath,/work/instantclient -lclntsh -Wl,--no-as-needed -lclntshcore \
#8 159.9 #8 160.3 chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so
#8 160.5 "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs 644
#8 161.0 Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBD/Oracle/ocitrace.h
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBD/Oracle/mk.pm
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBD/Oracle/Oracle.so
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBD/Oracle/dbdimp.h
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/auto/DBD/Oracle/Oracle.h
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle.pm
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/GetInfo.pm
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Object.pm
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Linux.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Win64.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Hpux.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Aix.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Sun.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Cygwin.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Macos.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Win32.pod
#8 161.2 Installing /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/DBD/Oracle/Troubleshooting/Vms.pod
#8 161.3 Appending installation info to /work/local/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod
#8 161.6 OK
#8 161.6 Successfully installed DBD-Oracle-1.83
Maybe lclntshcore is missing, or perhaps a symlink is missing?
Metadata
Metadata
Assignees
Labels
No labels