Operating System - Linux
1752567 Members
5374 Online
108788 Solutions
New Discussion юеВ

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

 
SOLVED
Go to solution

"cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

Hi All,

I have been asked to build two versions of sybperl, one for sybase 12_5 and one for sybase 15_0, on Itanium.

My first thought was to use CPAN to install sybperl and my first attempt was to build for sybase 12_5. I don't have a sybase database to use to test, but I think the error I am getting is before the tests take place.

If anyone can provide information that helps to build sybperl then maximum points would be deserved! BTW any version of sybperl would be equally as good but hopfully the latest should be the easiest to build no?

root@sybdevclone:/root# SYBASE=/opt/sybase; export SYBASE
root@sybdevclone:/root# SYBASE_OCS=OCS-12_5; export SYBASE_OCS
root@sybdevclone:/root# perl -MCPAN -e shell

cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support enabled

cpan> i /sybperl/
Distribution M/ME/MEWP/sybperl-2.18.tar.gz
Module Sybase::Sybperl (M/ME/MEWP/sybperl-2.18.tar.gz)
2 items found

cpan> install Sybase::Sybperl
Running install for module Sybase::Sybperl
Running make for M/ME/MEWP/sybperl-2.18.tar.gz
Fetching with LWP:
ftp://bc1.hpc.lsu.edu/pub/mirrors/CPAN/authors/id/M/ME/MEWP/sybperl-2.18.tar.gz
CPAN: Digest::MD5 loaded ok
Fetching with LWP:
ftp://bc1.hpc.lsu.edu/pub/mirrors/CPAN/authors/id/M/ME/MEWP/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/M/ME/MEWP/sybperl-2.18.tar.gz ok
Scanning cache /root/.cpan/build for sizes
x sybperl-2.18/SPR, 248 bytes, 1 tape blocks
x sybperl-2.18/Version, 659 bytes, 2 tape blocks
//////////SOME OUTPUT DELETED/////////////
//////////SOME OUTPUT DELETED/////////////
x sybperl-2.18/eg/README.dbschema, 337 bytes, 1 tape blocks

CPAN.pm: Going to build M/ME/MEWP/sybperl-2.18.tar.gz

/opt/sybase
Sybase OpenClient 12.5 found.
The sybperl modules need access to a Sybase server to run the tests.
To clear an entry please enter 'undef'
Sybase server to use (default: SYBASE):
User ID to log in to Sybase (default: sa):
Password (default: undef): Sybase database to use on SYBASE (default: undef):

* Writing login information, including password, to file PWD.

Checking if your kit is complete...
Looks good
/opt/sybase
Sybase OpenClient 12.5 found.
Writing Makefile for Sybase::BCP
Writing Makefile for Sybase::BLK
/opt/sybase
Sybase OpenClient 12.5 found.
Running in threaded mode - looking for _r libraries...
Found -lct_r for -lct
Found -lcs_r for -lcs
Found -ltcl_r for -ltcl
Found -lcomn_r for -lcomn
Found -lintl_r for -lintl
Found -lblk_r for -lblk
Writing Makefile for Sybase::CTlib
/opt/sybase
Sybase OpenClient 12.5 found.
Writing Makefile for Sybase::DBlib
/opt/sybase
Sybase OpenClient 12.5 found.
Writing Makefile for Sybase::Sybperl
Writing Makefile for Sybase
cp lib/ctutil.pl blib/lib/ctutil.pl
cp lib/sql.pl blib/lib/sql.pl
cp lib/sybutil.pl blib/lib/sybutil.pl
cp lib/sybperl.pl blib/lib/sybperl.pl
cp BCP.pm ../blib/lib/Sybase/BCP.pm
Manifying ../blib/man3/Sybase::BCP.3
cp BLK.pm ../blib/lib/Sybase/BLK.pm
Manifying ../blib/man3/Sybase::BLK.3
cp CTlib.pm ../blib/lib/Sybase/CTlib.pm
AutoSplitting ../blib/lib/Sybase/CTlib.pm (../blib/lib/auto/Sybase/CTlib)
/usr/bin/perl /opt/perl_32/lib/5.8.3/ExtUtils/xsubpp -prototypes -typemap /opt/perl_32/lib/5.8.3/ExtUtils/typemap CTlib.xs > CTlib.xsc && mv CTlib.xsc CTlib.c
cc -c -I/opt/sybase/OCS-12_5/include -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -DNO_HASH_SEED +Z -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fast +DSitanium2 +Ofltacc=strict -DVERSION=\"2.18\" -DXS_VERSION=\"2.18\" +Z "-I/opt/perl_32/lib/5.8.3/IA64.ARCHREV_0-thread-multi/CORE" -DCTLIBVS=100 -DSYBPLVER='"2.18"' -DDO_TIE CTlib.c
(Bundled) cc: warning 922: "-Ae" is unsupported in the bundled compiler, ignored.
(Bundled) cc: warning 922: "-fast" is unsupported in the bundled compiler, ignored.
(Bundled) cc: warning 922: "+Ofltacc=strict" is unsupported in the bundled compiler, ignored.
Warning 267: "/usr/include/sys/socket.h", line 535 # Inconsistent linkage in
declarations of "long long sendfile(int,int,long long,unsigned long
long,const iovec *,int)"; previously was extern now is declared static.
static sbsize_t sendfile __((int, int, off_t, bsize_t, const struct iovec *
^^^^^^^^
Warning 267: "/usr/include/sys/socket.h", line 536 # Inconsistent linkage in
declarations of "long long sendpath(int,char *,long long,unsigned long
long,const iovec *,int)"; previously was extern now is declared static.
static sbsize_t sendpath __((int, char *, off_t, bsize_t, const struct iove
^^^^^^^^
Warning 612: "CTlib.xs", line 1450 # Label 'DoFloat' has no uses.
DoFloat:;
^^^^^^^^
Warning 361: "CTlib.xs", line 1727 # Value-returning function might end
without executing a return statement.
fetch2sv(info, doAssoc, wantref)
^^^^^^^^
Warning 612: "CTlib.xs", line 5988 # Label 'not_there' has no uses.
not_there:
^^^^^^^^^^
Warning 612: "CTlib.xs", line 6817 # Label 'TryAgain' has no uses.
TryAgain:;
^^^^^^^^^
Warning 612: "CTlib.xs", line 7828 # Label 'BIND' has no uses.
BIND:
^^^^^
Running Mkbootstrap for Sybase::CTlib ()
chmod 644 CTlib.bs
rm -f ../blib/arch/auto/Sybase/CTlib/CTlib.so
LD_RUN_PATH="" /usr/bin/ld -L/opt/sybase/OCS-12_5/lib -b +vnocompatwarnings -L/usr/lib/hpux32 CTlib.o -o ../blib/arch/auto/Sybase/CTlib/CTlib.so -L/opt/sybase/OCS-12_5/lib -lct_r -lcs_r -ltcl_r -lcomn_r -lintl_r -lblk_r -lm
ld: Mismatched ABI (not an ELF file) for -lct_r
Fatal error.
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

cpan>
11 REPLIES 11
James R. Ferguson
Acclaimed Contributor
Solution

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

Hi James:

You have several issues:

You do not have an ANSI C compiler as shown by the warning:

cc: warning 922: "-Ae" is unsupported in the bundled compiler, ignored.

Next, your Perl is a 32-bit version for which you are attempting to compile and linke 64-bit objects. That will not work. Either all objects and shared libraries must be 32-bit or all must be 64-bit. The linker uses the "bitness" of the first argument to which to match the remaining arguments:

ld: Mismatched ABI (not an ELF file) for -lct_r

... /opt/perl_32/lib/5.8.3/ ...

As a first rule, the compiler used to compile your Perl should match the compiler that you use to compile modules requiring the C-compiler for their installation.

# perl -V:cc

...will show you the compiler that was used to compile your core Perl distribution.

You need to obtain (purchase) either the HP ANSI C compiler:

http://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=B9007AA

...assuming that your Perl was compiled by the HP compiler:

http://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=PERL

...OR: fetch a 'gcc' (GNU) ANSI C compiler and a Perl distribution compiled with it:

http://mirrors.develooper.com/hpux/

For the HP-supplied Perl binary's you should link '/usr/bin/perl' to '/opt/perl_64'.

Regards!

...JRF...
Dennis Handly
Acclaimed Contributor

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

ld: Mismatched ABI (not an ELF file) for -lct_r

This indicates that libct_r is probably a PA-RISC file and not for IPF.

>JRF: and links 64-bit objects

I'm not sure how you came to that conclusion. This error occurs when linking a PA SOM file with IPF ELF files.

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

Hi, Thanks for responding...

Why does my bundled cc say it is ANSI if it does not support ANSI?

root@sybdevclone:/root# cc -V /tmp/play.c
(Bundled) cc: HP aC++/ANSI C B3910B A.05.50 [May 15 2003]
ld: 92453-07 linker ld HP Itanium(R) B.12.34 IPF/IPF

The last time I built sybperl was on a PA-RISC server under HP-UX 11.23 and that version links to a 32 bit library. I am using exactly the same (PA-RISC) 32-bit library on the Itanium, because there is no Itanium specific library available of sybase 12_5. Sybase runs on Itanium through some sort of PA-RISC emulator.

Linking Perl to the 64-bit version is not going to work because I don't have 64-bit libraries for sybase. The Perl I used in the example is the one that comes with HP-UX 11.23. I cannot tell from the output below wheather the bundled compiler or the HP development kit was used to build HP-UX Perl because they both use the command 'cc'.

root@sybdevclone:/root# perl -V:cc
cc='cc';

root@sybdevclone:/root# perl -version

This is perl, v5.8.3 built for IA64.ARCHREV_0-thread-multi
(with 8 registered patches, see perl -V for more detail)

Copyright 1987-2003, Larry Wall

Binary build 809 provided by ActiveState Corp. http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Jan 16 2006 17:25:25

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

root@sybdevclone:/root# perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
Platform:
osname=hpux, osvers=11.22, archname=IA64.ARCHREV_0-thread-multi
uname='hp-ux bigsur03 b.11.22 u ia64 1800516905 unlimited-user license '
config_args='-ders -Dcc=cc -Accflags=-DNO_HASH_SEED -Dusethreads -Duseithreads -Ud_sigsetjmp -Uinstallusrbinperl -Ulocincpth= -Uloclibpth= -Dd_attribut=undef -Aprepend:libswanted=cl -Dvendorprefix=/opt/perl_32 -Doptimize=-fast +DSitanium2 +Ofltacc=strict -Accflags=+Z -Duselargefiles -Dinc_version_list=5.8.2/$archname 5.8.2 5.8.1/$archname 5.8.1 5.8.0/$archname 5.8.0 -Duseshrplib -Dprefix=/opt/perl_32 -Dcf_by=ActiveState -Dcf_email=support@ActiveState.com'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags =' -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -DNO_HASH_SEED +Z -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
optimize='-fast +DSitanium2 +Ofltacc=strict',
cppflags='-D__STDC_EXT__ -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L -D_REENTRANT -D_HPUX_SOURCE -Wl,+vnocompatwarnings -DNO_HASH_SEED'
ccversion='', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='/usr/bin/ld', ldflags =' -L/usr/lib/hpux32'
libpth=/usr/lib/hpux32 /lib /usr/lib /usr/ccs/lib /usr/local/lib
libs=-lcl -lnsl -lnm -lndbm -ldl -ldld -lm -lsec -lpthread -lc
perllibs=-lcl -lnsl -lnm -ldl -ldld -lm -lsec -lpthread -lc
libc=/usr/lib/hpux32/libc.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_hpux.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred '
cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/usr/lib/hpux32'


Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Locally applied patches:
ActivePerl Build 809
22218 Remove the caveat about detached threads crashing on Windows
22201 Avoid threads+win32 crash by freeing Perl interpreter slightly later
22169 Display 'out of memeory' errors using low-level I/O
22159 Upgrade to Time::Hires 1.55
22120 Make 'Configure -Dcf_by=...' work
22051 Upgrade to Time::HiRes 1.54
21540 Fix backward-compatibility issues in if.pm
Built under hpux
Compiled at Jan 16 2006 17:25:25
@INC:
/opt/perl_32/lib/5.8.3/IA64.ARCHREV_0-thread-multi
/opt/perl_32/lib/5.8.3
/opt/perl_32/lib/site_perl/5.8.3/IA64.ARCHREV_0-thread-multi
/opt/perl_32/lib/site_perl/5.8.3
/opt/perl_32/lib/site_perl
/opt/perl_32/lib/vendor_perl/5.8.3/IA64.ARCHREV_0-thread-multi
/opt/perl_32/lib/vendor_perl/5.8.3
/opt/perl_32/lib/vendor_perl
.

FYI here is an old PA-RISC version of sybperl...see the sybase library it is using...

root@imisap7:/root# ldd /opt/local/bin/sybperl
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libdld.2 => /usr/lib/libdld.2
/usr/lib/libc.2 => /usr/lib/libc.2
/usr/lib/libm.2 => /usr/lib/libm.2
/usr/lib/libndbm.2 => /usr/lib/libndbm.2
/usr/lib/libnsl_s.2 => /usr/lib/libnsl_s.2
/opt/sybase/OCS-12_5/lib/libsybdb.sl => /opt/sybase/OCS-12_5/lib/libsybdb.sl

root@imisap7:/root# file /opt/sybase/OCS-12_5/lib/libsybdb.sl
/opt/sybase/OCS-12_5/lib/libsybdb.sl: PA-RISC1.1 shared library -not stripped

root@imisap7:/root# file /opt/local/bin/sybperl
/opt/local/bin/sybperl: PA-RISC2.0 shared executable dynamically linked -not stripped

root@imisap7:/root# cksum /opt/sybase/OCS-12_5/lib/libsybdb.sl
4100705225 1802240 /opt/sybase/OCS-12_5/lib/libsybdb.sl

Here is the sybase library on the Itanium server. It is the same library.

root@sybdevclone:/root# cksum /opt/sybase/OCS-12_5/lib/libsybdb.sl
4100705225 1802240 /opt/sybase/OCS-12_5/lib/libsybdb.sl

I have the HP-UX Developers kit and I can also use gcc. Any idea which I should pick to build a 32-bit version of sybperl with sybase 12_5? Also, the sybase 15_0 that I want to build after this has a mixture of 32bit and 64bit libraries, but we will ignore that for now. Any comments would be appreciated but this is begining to look like it is not worth the effort involved.

James.
Dennis Handly
Acclaimed Contributor

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

>Why does my bundled cc say it is ANSI if it does not support ANSI?
(Bundled) cc: HP aC++/ANSI C B3910B A.05.50

Because "Bundled" has higher precedence than the rest. :-)
It is the bundled version of HP aC++/ANSI C.

Anyway, this is a moot question since you had no problems compiling.

>The last time I built sybperl was on a PA-RISC server under HP-UX 11.23. I am using exactly the same (PA-RISC) 32-bit library on the Itanium, because there is no Itanium specific library available of sybase 12_5. Sybase runs on Itanium through some sort of PA-RISC emulator.

(Through Aries.) Then there is no need to build sybperl, just use your PA one.

> I cannot tell from the output below whether the bundled compiler or the "real" one ... because they both use the command 'cc'.

The correct assumption is probably nobody uses cc_bundled to compile perl.

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

Thanks for responding...

DH> "Then there is no need to build sybperl [on Itanium], just use your PA one."

I built sybperl-1.011 (patch sybperl-patch12) with Perl 4.0.1.8 (Patch level: 36) & ccom: HP92453-01 B.11.11.08 HP C (Bundled) Compiler, under HP-UX 11i v2 on a PA-RISC (9000/800) server; then, I copied the sybperl binary to Itanium and tested it. The Sybase 12_0 library files that sybperl links to are on the Itanium server in the same location. This is what I found...

sybperl -v works, but ldd sybperl does not. This is not a conclusive test but it shows that the sybperl binary does execute under Itanium. I don't know what to make of the ldd message, nor do I know of any other way to test sybperl on Itanium. I will pass the responsibility for a full test to the DBAs, but before I can do that, I have to repeat this whole build for Sybase 15_0. Expect a long delay while I sort out the new error messages that the sybperl (Sybase 15_0) make threw out.

I thank you all once again for responding.
best regards,
James.

FYI. The ldd message.

root@sybdevclone:/tmp# ldd ./sybperl
ldd: Invalid file type: "./sybperl". Shared executable or shared library expected.
root@sybdevclone:/tmp# file ./sybperl
./sybperl: PA-RISC2.0 shared executable dynamically linked -not stripped


FYI. The Sybase 15_0 sybperl make errors.

root@imisap7:/var/spool/sybperl/sybperl.4.15_0# make
cp /var/spool/perl4/perl4.0/src/uperl.o uperl2.o
perl -p -i.bak -e 's/savestr/psvestr/g;' uperl2.o
rm -f uperl2.o.bak
cc -c -Wall -I/var/spool/perl4/perl4.0/src -I. -I/opt/sybase/OCS-15_0/include -DHAS_CALLBACK -DAUTO_LOGIN -DDBLIBVS=461 sybperl.c
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 26: warning 2028: Found comment inside comment started on line 26.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 27: warning 2028: Found comment inside comment started on line 27.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 115: warning 2028: Found comment inside comment started on line 115.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 121: warning 2028: Found comment inside comment started on line 121.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 148: warning 2028: Found comment inside comment started on line 148.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 184: warning 2028: Found comment inside comment started on line 184.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 233: warning 2028: Found comment inside comment started on line 233.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 234: warning 2028: Found comment inside comment started on line 234.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 235: warning 2028: Found comment inside comment started on line 235.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 236: warning 2028: Found comment inside comment started on line 236.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 286: warning 2028: Found comment inside comment started on line 286.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 422: warning 2028: Found comment inside comment started on line 422.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 428: warning 2028: Found comment inside comment started on line 428.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 476: warning 2028: Found comment inside comment started on line 476.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 482: warning 2028: Found comment inside comment started on line 482.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 536: warning 2028: Found comment inside comment started on line 536.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 542: warning 2028: Found comment inside comment started on line 542.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 625: warning 2028: Found comment inside comment started on line 625.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 652: warning 2028: Found comment inside comment started on line 652.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 658: warning 2028: Found comment inside comment started on line 658.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 675: warning 2028: Found comment inside comment started on line 675.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 706: warning 2028: Found comment inside comment started on line 706.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 708: warning 2028: Found comment inside comment started on line 708.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 709: warning 2028: Found comment inside comment started on line 709.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 710: warning 2028: Found comment inside comment started on line 710.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 737: warning 2028: Found comment inside comment started on line 737.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 739: warning 2028: Found comment inside comment started on line 739.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 740: warning 2028: Found comment inside comment started on line 740.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 758: warning 2028: Found comment inside comment started on line 758.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 792: warning 2028: Found comment inside comment started on line 792.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 793: warning 2028: Found comment inside comment started on line 793.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 794: warning 2028: Found comment inside comment started on line 794.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 795: warning 2028: Found comment inside comment started on line 795.
cpp: "/var/spool/perl4/perl4.0/src/config.h", line 796: warning 2028: Found comment inside comment started on line 796.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 904: error 1000: Unexpected symbol: "*".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 904: error 1000: Unexpected symbol: ")".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 904: error 1616: Unable to open intrinsic file "/usr/local/lib/sysintr".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1000: Unexpected symbol: "*".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1000: Unexpected symbol: "*".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1705: Function prototypes are an ANSI feature.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1573: Type of "resource" is undefined due to an illegal declaration.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1705: Function prototypes are an ANSI feature.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1505: Function may not return a function or an array.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1573: Type of "CS_THRDM_FUNC" is undefined due to an illegal declaration.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1573: Type of "CS_RETCODE" is undefined due to an illegal declaration.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: error 1584: Inconsistent type declaration: "CS_RETCODE".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 915: warning 525: Redeclaration of identifier "CS_RETCODE".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1000: Unexpected symbol: "*".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1000: Unexpected symbol: "*".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1705: Function prototypes are an ANSI feature.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1573: Type of "resource" is undefined due to an illegal declaration.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1705: Function prototypes are an ANSI feature.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1505: Function may not return a function or an array.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1573: Type of "CS_THRDE_FUNC" is undefined due to an illegal declaration.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1573: Type of "CS_RETCODE" is undefined due to an illegal declaration.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: error 1584: Inconsistent type declaration: "CS_RETCODE".
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 918: warning 525: Redeclaration of identifier "CS_RETCODE".
(Bundled) cc: error 1405: "/usr/ccs/lbin/ccom" terminated abnormally with signal 11.
*** Error exit code 9

Stop.
root@imisap7:/var/spool/sybperl/sybperl.4.15_0# file /opt/sybase/OCS-15_0/include/cstypes.h
/opt/sybase/OCS-15_0/include/cstypes.h: c program text

diff ./Makefile ./Makefile.patched.save
8c8
< PERLsrc=/var/spool/perl4/perl4.0/src
---
> PERLsrc=/usr/local/src/perl
11c11
< SYBINCS = /opt/sybase/OCS-15_0/include
---
> SYBINCS = /usr/local/sybase/include
17,18c17,18
< SYBLIBDIR = /opt/sybase/OCS-15_0/lib
< SYBLIBS = -lsybdb -lnet -lnsl_s -lndir -lndbm -lPW -lm -lpicc
---
> SYBLIBDIR = /usr/local/lib
> SYBLIBS = -lsybdb
88c88
< CC = cc
---
> CC = gcc
90c90
< CFLAGS = -Wall
---
> CFLAGS = -Wall -O2 -g
root@imisap7:/var/spool/sybperl/sybperl.4.15_0#
Dennis Handly
Acclaimed Contributor

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

>but ldd sybperl does not.

Hmm, I thought it would be easy but you'll have to settle for chatr(1)
$ SDKROOT=/usr/ccs/pa/usr/bin chatr ./sybperl

If you want to get ldd to work you would need to do as root:
# ln -s /usr/ccs/pa/usr/ccs/lbin/fastbind32 /usr/ccs/pa/usr/ccs/lbin/ldd32

>The Sybase 15_0 sybperl make errors.
(Bundled) cc: "/opt/sybase/OCS-15_0/include/cstypes.h", line 904: error 1000: Unexpected symbol: "*".

The bundled C compiler on PA is K&R, it can't compile this. You need the ANSI C compiler or gcc.

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

Hi All,

JRF> You need to obtain (purchase) either the HP ANSI C compiler:

I installed HP ANSI C and tried to build sybperl again(for sybase15 this time), on Itanium. The screen dump is attached...

JRF> For the HP-supplied Perl binary's you should link '/usr/bin/perl' to '/opt/perl_64'.

I linked to the 64-bit version of Perl for the build of sybperl for sybase15. The build stops with the following error...

Running Mkbootstrap for Sybase::CTlib ()
chmod 644 CTlib.bs
rm -f ../blib/arch/auto/Sybase/CTlib/CTlib.so
LD_RUN_PATH="" /usr/bin/ld -L/opt/sybase/OCS-15_0/lib -b +vnocompatwarnings -L/usr/lib/hpux64 CTlib.o -o ../blib/arch/auto/Sybase/CTlib/CTlib.so -L/opt/sybase/OCS-15_0/lib -lsybct_r64 -lsybcs_r64 -lsybtcl_r64 -lsybcomn_r64 -lsybintl_r64 -lsybblk_r64 -lm
ld: Mismatched machine types. Expected EM_IA_64 but found EM_PARISC in file /opt/sybase/OCS-15_0/lib/libsybct_r64.sl
Fatal error.

DH> "Hmm, I thought it would be easy but you'll have to settle for chatr(1)
$ SDKROOT=/usr/ccs/pa/usr/bin chatr ./sybperl"

DH> "If you want to get ldd to work you would need to do as root:
# ln -s /usr/ccs/pa/usr/ccs/lbin/fastbind32 /usr/ccs/pa/usr/ccs/lbin/ldd32"

DH> "The bundled C compiler on PA is K&R, it can't compile this. You need the ANSI C compiler or gcc."

As above, I have tried the compile again with the HP-UX ANSI C compiler. I was not able to fix the ldd message based on what you suggested, but thanks anyway for trying. I guess it does not matter that ldd does not work. FYI here is what I tried, but like I said it is not so important to fix ldd. If I can get the sybase15 sybperl built, then I will let the DBAs loose to test both sybperls.

root@sybdevclone:/usr/ccs/pa/usr/ccs/bin# ./chatr /tmp/sybperl
root@sybdevclone:/usr/ccs/pa/usr/ccs/lbin# ./ld32 /tmp/sybperl
./ld32: /tmp/sybperl: Not a valid object file (invalid magic number)
root@sybdevclone:/usr/ccs/pa/usr/ccs/lbin# ln -s /usr/ccs/pa/usr/ccs/lbin/fastbind32 /usr/ccs/pa/usr/ccs/lbin/ldd32
root@sybdevclone:/usr/ccs/pa/usr/ccs/lbin# ldd /tmp/sybperl
ldd: Invalid file type: "/tmp/sybperl". Shared executable or shared library expected.

Thanks again folks...
James.
Dennis Handly
Acclaimed Contributor

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

>I installed HP ANSI C and tried to build sybperl again(for sybase15 this time), on Itanium.

You have to develop on PA since that's the only version of sybase15 you have??

>The build stops with the following error...
ld: Mismatched machine types. Expected EM_IA_64 but found EM_PARISC in file /opt/sybase/OCS-15_0/lib/libsybct_r64.sl
Fatal error.

This is a PA 64 bit lib, which can't be used with IPF executables.

>I have tried the compile again with the HP-UX ANSI C compiler.

On PA.

>I was not able to fix the ldd message based on what you suggested

If this was 64 bit, it seems to just work.
If you want to use it on shlibs, you need to copy over /usr/ccs/lib/pa20_64/lddstub to
/usr/ccs/pa/usr/ccs/lib/pa20_64/lddstub and copy over fastbind64. And set this symlink:
# ln -s /usr/ccs/pa/usr/ccs/lbin/fastbind64 /usr/ccs/pa/usr/ccs/lbin/ldd64

>I guess it does not matter that ldd does not work.

That chatr(1) command would work.

Re: "cpan> install sybperl" errors on an Itaunium rx4640 HP-UX 11.23

Hi All,

DH> "You have to develop on PA since that's the only version of sybase15 you have??"

Yes, sybase15 is the only version available. It is the version that is installed on Itanium; however, Sybase15 runs on Itanium through a PA-RISC emulator [DH > (Through Aries.)] so in fact the version of sybase15 I have *is* the PA-RISC version and there is no other Itanium version.

Building on PA-RISC and copying the binary over to Itanium makes sense but, binary executables that are built on PA-RISC and copied over and run on Itanium (assuming the clock speeds are the same) gain *nothing* in performance from being executed on an Itanium server.

I did try to build sybperl-1.011 (patch sybperl-patch12) with Perl 4.0.1.8 (Patch level: 36) on PA HP-UX 11.23 with the HP ANSI C. First I had to build Perl. My attempt to build Perl failed with the following error message...See Attached for more details.

cc: "eval.c", line 2924: error 1527: Incompatible types in cast: Must cast from scalar to scalar or to void type.
cc: "eval.c", line 2927: error 1527: Incompatible types in cast: Must cast from scalar to scalar or to void type.

Is this because if incompatibilities between K&R style C and ANSI C? Is the best thing to do, to use macros to get around this in the C code, or to use a more up to date version of sybperl? Does anyone know what version of sybperl and perl is easist to build against sybase 15 on HP-UX 11.23? I can change the version of perl and sybperl, but not the version of sybase or HP-UX.

Obviously my original post was building sybperl on Itanium, so to build on PA-RISC is going off topic! Sorry about that, but it seems like it is not possible to build sybperl for Sybase 15 (on Itanium) because the sybase 15 libraries are PA-RISC. The only option then, is to build on PA-RISC and copy the executable over to Itanium.

Maybe it is time to close this thread and post a new one called "Building sybperl on PA-RISC HP-UX 11.23 Sybase 15". I am pretty new to support forums so still learning proper etiquette, but it seems like a waste of everyone's time to go off topic and this specific post (building sybperl for sybase15 on Itanium) seems to be resolved as *impossible*, unless anyone has anything to add?

Thanks again to all for your thoughtful replies...

James.