Operating System - Linux
1753947 Members
7391 Online
108811 Solutions
New Discussion юеВ

Problem compiling DBD-Oracle-1.16 on 11iv2

 
Geoff Wild
Honored Contributor

Problem compiling DBD-Oracle-1.16 on 11iv2

Error:

# make
Skip blib/lib/DBD/Oracle.pm (unchanged)
Skip blib/lib/oraperl.ph (unchanged)
Skip blib/arch/auto/DBD/Oracle/dbdimp.h (unchanged)
Skip blib/arch/auto/DBD/Oracle/ocitrace.h (unchanged)
Skip blib/lib/Oraperl.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/Oracle.h (unchanged)
Skip blib/lib/DBD/Oracle/GetInfo.pm (unchanged)
Skip blib/arch/auto/DBD/Oracle/mk.pm (unchanged)
gcc64 -c -I/app/oracle/product/9.2/rdbms/demo -I/app/oracle/product/9.2/rdbms/public -I/app/oracle/product/9.2/plsql/public -I/app/oracle/product/9.2/network/public -I/app/oracle/product/9.2/rdbms/demo -I/app/oracle/product/9.2/rdbms/public -I/app/oracle/product/9.2/rdbms/demo -I/opt/perl64/lib/site_perl/5.8.2/PA-RISC2.0-LP64/auto/DBI -mpa-risc-2-0 -D_HPUX_SOURCE -DDEBUGGING -fno-strict-aliasing -I/usr/local/pa20_64/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O -DVERSION=\"1.16\" -DXS_VERSION=\"1.16\" -fPIC "-I/opt/perl64/lib/5.8.2/PA-RISC2.0-LP64/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"9.2.0.6\" Oracle.c
In file included from /opt/perl64/lib/5.8.2/PA-RISC2.0-LP64/CORE/perl.h:4108,
from /opt/perl64/lib/site_perl/5.8.2/PA-RISC2.0-LP64/auto/DBI/DBIXS.h:19,
from Oracle.h:18,
from Oracle.xs:1:
/usr/include/sys/ipc.h:51: error: parse error before "cid_t"
/usr/include/sys/ipc.h:56: error: parse error before '}' token
In file included from /opt/perl64/lib/5.8.2/PA-RISC2.0-LP64/CORE/perl.h:4109,
from /opt/perl64/lib/site_perl/5.8.2/PA-RISC2.0-LP64/auto/DBI/DBIXS.h:19,
from Oracle.h:18,
from Oracle.xs:1:
/usr/include/sys/sem.h:91: error: field `sem_perm' has incomplete type
Oracle.c: In function `XS_DBD__Oracle__db_ora_lob_append':
Oracle.xs:191: warning: unused variable `startp'
*** Error exit code 1

Stop.

I installed:

bzip2
perl-5.8.2-dor-gcc-3.3.2-11.11-elf64-ora.tbz from Merijn's HP-UX software for ITRC members
DBD-Oracle-1.16.tar.gz from http://search.cpan.org/~timb/DBD-Oracle-1.16/

Had DBA install Oracle Pre-Compilers (on top of the Oracle Client installation) as we need the .mk files

GCC:
cd /opt
bzip2 -d
Added /opt/pa20_64/bin to PATH.

Tried:
export SHLIB_PATH=/Ascential/DataStageTX_7.5/libs:/app/oracle/product/9.2/lib32:/app/oracle/product/9.2/network/lib32
export ORACLE_SID=oratst
export ORACLE_HOME=/app/oracle/product/9.2
perl Makefile.PL
make

Strange thing is, on my 11iv1 workstation - did the same thing - and it worked...I also tarred up my DBD-Oracle-1.1 dir from my workstation and ftp'd to the 11iv2 server.
cd to that dir - and a make install worked - and the DBD works with a script.

Now, that was a workaround - I want to fix the make - as I'm building an install doc - so that another admin can duplicate what I did.

Rgds...Geoff
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
13 REPLIES 13
Steven E. Protter
Exalted Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

/usr/include/sys/sem.h:91: error: field `sem_perm' has incomplete type

Perhaps a syntax in this file?

Perhaps you can just fix it.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Geoff Wild
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

The /usr/include/sys/sem.h is different between the systems - however - that particular section is identical:

/*
** There is one semaphore ID data structure for each set of semaphores
** in the system.
*/

struct semid_ds {
struct ipc_perm sem_perm; /* operation permission struct */
struct __sem *sem_base; /* ptr to first semaphore in set */
__time_t sem_otime; /* last semop time */
__time_t sem_ctime; /* last change time */
unsigned short int sem_nsems; /* # of semaphores in set */
unsigned int sem_spare;
char sem_pad[16]; /* room for future expansion */
};


Rgds...Geoff
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
Geoff Wild
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

Still no luck :(
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
H.Merijn Brand (procura
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

IMHO three possibilities:

0. You got my 11.11 port which might very well be incompatible with 11.23 (11iv2) that you are running.

(FYI I have already built gcc-4.0.0 on a 11.23 testdrive system)

1. Your (system) include files are not up to date, or at least not in sync with the one's I used when building gcc:

r3:/u/usr/merijn 108 > swlist -l product -l fileset | grep INC
CDEDevKit.CDE-INC B.11.11.02 Header files
InternetSrvcs.INETSVCS-INC B.11.11 INETSVCS-INC
PHCO_23702.C-INC 1.0 ProgSupport.C-INC
PHCO_25569.C-INC 1.0 ProgSupport.C-INC
PHKL_22987.C-INC 1.0 ProgSupport.C-INC
PHKL_23294.C-INC 1.0 ProgSupport.C-INC
PHKL_23295.C-INC 1.0 ProgSupport.C-INC
PHKL_23296.C-INC 1.0 ProgSupport.C-INC
PHKL_23297.C-INC 1.0 ProgSupport.C-INC
PHKL_23299.C-INC 1.0 ProgSupport.C-INC
PHKL_23302.C-INC 1.0 ProgSupport.C-INC
PHKL_23303.C-INC 1.0 ProgSupport.C-INC
PHKL_23304.C-INC 1.0 ProgSupport.C-INC
PHKL_23305.C-INC 1.0 ProgSupport.C-INC
PHKL_23306.C-INC 1.0 ProgSupport.C-INC
PHKL_23307.C-INC 1.0 ProgSupport.C-INC
PHKL_23308.C-INC 1.0 ProgSupport.C-INC
PHKL_23309.C-INC 1.0 ProgSupport.C-INC
PHKL_23310.C-INC 1.0 ProgSupport.C-INC
PHKL_23311.C-INC 1.0 ProgSupport.C-INC
PHKL_23312.C-INC 1.0 ProgSupport.C-INC
PHKL_23314.C-INC 1.0 ProgSupport.C-INC
PHKL_23315.C-INC 1.0 ProgSupport.C-INC
PHKL_25212.C-INC 1.0 ProgSupport.C-INC
PHKL_25506.C-INC 1.0 ProgSupport.C-INC
PHKL_26269.C-INC 1.0 ProgSupport.C-INC
PHKL_28025.C-INC 1.0 ProgSupport.C-INC
PHKL_28197.C-INC 1.0 ProgSupport.C-INC
PHKL_28393.C-INC 1.0 ProgSupport.C-INC
PHKL_28446.C-INC 1.0 ProgSupport.C-INC
PHKL_28512.C-INC 1.0 ProgSupport.C-INC
PHKL_29248.C-INC 1.0 ProgSupport.C-INC
PHKL_29365.C-INC 1.0 ProgSupport.C-INC
PHKL_29529.C-INC 1.0 ProgSupport.C-INC
PHKL_29539.C-INC 1.0 ProgSupport.C-INC
PHKL_29628.C-INC 1.0 ProgSupport.C-INC
PHKL_29650.C-INC 1.0 ProgSupport.C-INC
PHKL_29700.C-INC 1.0 ProgSupport.C-INC
PHNE_23289.C-INC 1.0 ProgSupport.C-INC
PHNE_29887.C-INC 1.0 ProgSupport.C-INC
PHSS_24205.C-INC 1.0 B.11.11
PHSS_24207.C-INC 1.0 B.11.11
PHSS_30968.C-INC 1.0 B.11.11
ProgSupport.C-INC B.11.11 C-INC
freetype.freetype-INC
glib2.glib2-INC
gtk+2.gtk+2-INC
openssl.openssl-INC
r3:/u/usr/merijn 109 >

2. Something else is realy broken.

Rebuild gcc from scratch with my gcc and install it over the previous version. Then try again

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Geoff Wild
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

Here's what I have:

# swlist -l product -l fileset | grep INC
COMPLIBS.LIBCPS-INC B.11.23 LIBCPS-INC
COMPLIBS.LIBOMP-INC B.11.23 LIBOMP-INC
InternetSrvcs.INETSVCS-INC B.11.23 Common/Internet Services header files
PHCO_31553.C2-INC 1.0 ProgSupport.C2-INC
PHKL_31500.C-INC 1.0 ProgSupport.C-INC
PHKL_31500.C2-INC 1.0 ProgSupport.C2-INC
PHKL_31507.C-INC 1.0 ProgSupport.C-INC
PHKL_31508.C-INC 1.0 ProgSupport.C-INC
PHKL_31517.C-INC 1.0 ProgSupport.C-INC
PHSS_30719.C2-INC 1.0 ProgSupport.C2-INC
ProgSupport.C-INC B.11.23 C include files
ProgSupport.C2-INC B.11.23 C architecture unique Programming Header Files (PA-RISC)
freetype.freetype-INC
glib2.glib2-INC
gtk+.gtk+-INC
openssl.OPENSSL-INC A.00.09.07-d.011 OpenSSL Header Files


I'm using:

# gcc --version
gcc (GCC) 3.3.2

# perl -v

This is perl, v5.8.2 built for PA-RISC2.0-LP64

I'm going to try installing gcc 3.4.3 from:
http://hpux.ee.ualberta.ca/hppd/hpux/hpux/Gnu/gcc-3.4.3/

If that fails - then I'll try compiling my own.

Rgds...Geoff
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
Florian Heigl (new acc)
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

Geoff, even if it's no good news, but I'd bet Your gcc headers are the problem. Do Yourself a favour and try to bootstrap Your own gcc on that system.
yesterday I stood at the edge. Today I'm one step ahead.
Geoff Wild
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

The 3,4,3 depot didn't work either - same error - so I removed it...

Now compiling on my own - version 3.4.3 of gcc - gmake install:

echo timestamp > cstamp-h
cp ./libgnuintl.h libintl.h
cc -c -DHAVE_CONFIG_H -I. -I. bindtextdom.c
cpp: "libgnuintl.h", line 301: error 4065: Recursion in macro "libintl_set_relocation_prefix".
gmake[2]: *** [bindtextdom.o] Error 1
gmake[2]: Leaving directory `/usr/local/src/gcc-3.4.3/gcc/intl'
gmake[1]: *** [all-intl] Error 2
gmake[1]: Leaving directory `/usr/local/src/gcc-3.4.3/gcc'
gmake: [install_gcc] Error 2 (ignored)
/bin/rm -f /usr/local/*hp-hpux*/bin/strip /usr/local/bin/strip /usr/local/man/man1/strip.1

Sigh...

The following is what I installed:

bison 2.0 bison
bzip2 1.0.2 bzip2
db 4.3.27 db
flex 2.5.4a flex
freetype 2.1.9 freetype
gettext 0.14.1 gettext
glib2 2.6.0 glib2
gtk+ 1.2.10 gtk+
libiconv 1.9.2 libiconv
texinfo 4.8 texinfo

I also upgraded perl to 5.8.6...

Rgds...Geoff

Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
Florian Heigl (new acc)
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

The error is coming from gettext, as far as I can tell, but I don't speak C, so I don't know what makes the CPP choke here.

yesterday I stood at the edge. Today I'm one step ahead.
H.Merijn Brand (procura
Honored Contributor

Re: Problem compiling DBD-Oracle-1.16 on 11iv2

Did you try my scripts to build gcc (as available from my site?

do yourself (and the one following you in your footsteps) and configure gcc with

configure \
--enable-languages=c,c++ \
--prefix=/usr/local --with-local-prefix=/usr/local \
--with-gnu-as --with-as=/usr/local/bin/as \
--disable-shared \
--disable-nls



--disable-nls will save you not minutes but hours of frustration and loads of time

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn