PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Andreas Schmidt <andi at team-konzept dot de>
Subject: Re: More Problems installing Sybperl under Linux
Date: Oct 9 1997 11:40AM

Hi Steve,

from my point of view, everything's ok with your sybperl configuration, so
now -- as long as your shure to use the elf-versions of ctlib -- I really
think, you have the same problems we had with our previous Linux
environment. We couldn't solve those problems, neither find out, what
really was the problem, but they had gone, after we made an upgrade to the
S.u.S.E 5.0 distribution (www.suse.com).

I think is has something to do with your linker, but I'm really no
specialist for that stuff. Try ld -V. We have

	GNU ld version 2.8.1 (with BFD 2.8.1)
	  Supported emulations:
	   elf_i386
	   i386linux

Andi
At 13:23 Uhr -0700 06.10.1997, Steve wrote:
>Thank you for all the help you have provided so far.  I am continuing to
>drown in a sea of confusion and
>and ignorance.  Included is a trace of my latest attempt at linking the
>ct libs.  Could you please take a look
>at it and see if there are any glaring errors or omissions.
>
>
> < The perl Makefile.PL >
>
>
>cu_atlas:/usr/src/sybperl-2.07# perl Makefile.PL
>Checking if your kit is complete...
>Looks good
>Note (probably harmless): No library found for -ltcl
>Writing Makefile for Sybase::CTlib
>Writing Makefile for Sybase
>
> < The make >
>
>cu_atlas:/usr/src/sybperl-2.07# make
>mkdir ./blib
>mkdir ./blib/lib
>mkdir ./blib/arch
>mkdir ./blib/arch/auto
>mkdir ./blib/arch/auto/Sybase
>mkdir ./blib/lib/auto
>mkdir ./blib/lib/auto/Sybase
>cp lib/sql.pl ./blib/lib/./sql.pl
>cp lib/sybperl.pl ./blib/lib/./sybperl.pl
>cp lib/sybutil.pl ./blib/lib/./sybutil.pl
>cp lib/ctutil.pl ./blib/lib/./ctutil.pl
>make[1]: Entering directory `/usr/src/sybperl-2.07/BCP'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/usr/src/sybperl-2.07/BCP'
>make[1]: Entering directory `/usr/src/sybperl-2.07/CTlib'
>mkdir .././blib/lib/Sybase
>mkdir .././blib/arch/auto/Sybase/CTlib
>mkdir .././blib/lib/auto/Sybase/CTlib
>cp CTlib.pm .././blib/lib/Sybase/CTlib.pm
>AutoSplitting Sybase::CTlib (.././blib/lib/auto/Sybase/CTlib)
>/usr/bin/perl -I/usr/lib/perl5/i586-linux/5.00401 -I/usr/lib/perl5
>/usr/lib/perl5/ExtUtils/xsubpp -prototypes -typemap /usr/lib/perc
>cc -c -I/sybase/include -Dbool=char -DHAS_BOOL -I/usr/local/include
>-O2    -DVERSION=\"2.07\" -DXS_VERSION=\"2.07\"  -I/usr/lib/perc
>rm -rf .././blib/arch/auto/Sybase/CTlib/CTlib.a
>ar cr .././blib/arch/auto/Sybase/CTlib/CTlib.a CTlib.o && :
>.././blib/arch/auto/Sybase/CTlib/CTlib.a
>chmod 755 .././blib/arch/auto/Sybase/CTlib/CTlib.a
>make[1]: Leaving directory `/usr/src/sybperl-2.07/CTlib'
>make[1]: Entering directory `/usr/src/sybperl-2.07/DBlib'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/usr/src/sybperl-2.07/DBlib'
>make[1]: Entering directory `/usr/src/sybperl-2.07/Sybperl'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/usr/src/sybperl-2.07/Sybperl'
>
> < The make test >
>
>cu_atlas:/usr/src/sybperl-2.07# make test
>make[1]: Entering directory `/usr/src/sybperl-2.07/BCP'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/usr/src/sybperl-2.07/BCP'
>make[1]: Entering directory `/usr/src/sybperl-2.07/CTlib'
>make[1]: Leaving directory `/usr/src/sybperl-2.07/CTlib'
>make[1]: Entering directory `/usr/src/sybperl-2.07/DBlib'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/usr/src/sybperl-2.07/DBlib'
>make[1]: Entering directory `/usr/src/sybperl-2.07/Sybperl'
>make[1]: Nothing to be done for `all'.
>make[1]: Leaving directory `/usr/src/sybperl-2.07/Sybperl'
>Writing "Makefile.aperl" for this perl
>Writing Makefile.aperl for Sybase
>make -f Makefile.aperl perl
>make[1]: Entering directory `/usr/src/sybperl-2.07'
>Writing perlmain.c
>cd . && cc -c  -I/usr/lib/perl5/i586-linux/5.00401/CORE  -Dbool=char
>-DHAS_BOOL -I/usr/local/include -O2 \
>   -DVERSION=\"2.07\" \
>-DXS_VERSION=\"2.07\" -I/usr/lib/perl5/i586-linux/5.00401/CORE
>perlmain.c
>cat /usr/lib/perl5/i586-linux/5.00401/auto/DynaLoader/extralibs.ld >>
>blib/arch/auto/Sybase/extralibs.all
>cat /usr/src/sybperl-2.07/blib/arch/auto/Sybase/CTlib/extralibs.ld >>
>blib/arch/auto/Sybase/extralibs.all
>cc -L/usr/local/lib -rdynamic -o perl -O2 ./perlmain.o
>/usr/lib/perl5/i586-linux/5.00401/CORE/libperl.a
>/usr/src/sybperl-2.07/blib
>
> < The error >
>
>/usr/i486-linux/bin/ld:/sybase/lib/libct.a: file format not recognized;
>treating as linker script
>/usr/i486-linux/bin/ld:/sybase/lib/libct.a:1: parse error
>make[1]: *** [perl] Error 1
>make[1]: Leaving directory `/usr/src/sybperl-2.07'
>make: *** [perl] Error 2
>cu_atlas:/usr/src/sybperl-2.07#
>
>
> < The CONFIG file >
>
>cu_atlas:/usr/src/sybperl-2.07# cat CONFIG
>#
># Configuration file for Sybperl
>#
># DBlibrary version. Set to 1000 (or higher) if you have System 10
># Set to 0 if you do not want to build DBlib or if DBlib is not
>available
># (Linux, for example)
>DBLIBVS=0
>
>
># CTlib version. Set to 0 if Client Library is not available on your
># system, or if you don't want to build the CTlib module. The Client
># Library started shipping with System 10.
># Note that the CTlib module is still under construction, though the
># core API should be stable now.
># Set to 100 if you have System 10.
>CTLIBVS=100
>
># Where is the Sybase directory on your system (include files &
># libraries are expected to be found at SYBASE/include & SYBASE/lib
>SYBASE=/sybase
>
># Additional libraries.
># Some systems require -lnsl or -lBSD.
># Solaris 2.x needs -ltli
># DEC OSF/1 needs -ldnet_stub
># See the Sybase OpenClient Supplement for your OS/Hardware
># combination.
>EXTRA_LIBS=
>
># Additional #defines.
># With Perl 5.001m, you will need -DUNDEF_BUG.
># With Perl 5.002, none are normally needed, but you may wish to
># use -DDO_TIE to get the benefit of stricter checking on the
># Sybase::DBlib and Sybase::CTlib attributes.
>#EXTRA_DEFS=-DUNDEF_BUG
>EXTRA_DEFS=-DDO_TIE
>
>
># LINKTYPE
># If you wish to link Sybase::DBlib and/or Sybase::CTlib statically
># into perl uncomment the line below and run the make normally. Then,
># when you run 'make test' a new perl binary will be built.
>LINKTYPE=static
>cu_atlas:/usr/src/sybperl-2.07#
>
>
>
>
>
>
>
>
>Michael Peppler wrote:
>
>> One thing that I see is that you need to build with LINKTYPE=static,
>> which you set in the CONFIG file.
>>
>> Michael
>>
>> Steve wrote:
>> >
>> > I'm using slakware 3.2 (linux 2.0.30), perl 5.00401, sybperl 2.07 or
>>
>> > 2.07b. I've set DBLIBVS=0 in the CONFIG file,  I am using the
>> elf-port
>> > from  Michael Pippler's site, and I am  getting the following
>> errors:
>> >
>> > cu_atlas:/usr/src/sybperl-2.07# perl Makefile.PL
>> > Checking if your kit is complete...
>> > Looks good
>> > Note (probably harmless): No library found for -ltcl
>> > Writing Makefile for Sybase::CTlib
>> > Writing Makefile for Sybase
>> > cu_atlas:/usr/src/sybperl-2.07# make
>> > mkdir ./blib
>> > mkdir ./blib/lib
>> > mkdir ./blib/arch
>> > mkdir ./blib/arch/auto
>> > mkdir ./blib/arch/auto/Sybase
>> > mkdir ./blib/lib/auto
>> > mkdir ./blib/lib/auto/Sybase
>> > cp lib/sql.pl ./blib/lib/./sql.pl
>> > cp lib/sybperl.pl ./blib/lib/./sybperl.pl
>> > cp lib/sybutil.pl ./blib/lib/./sybutil.pl
>> > cp lib/ctutil.pl ./blib/lib/./ctutil.pl
>> > make[1]: Entering directory `/usr/src/sybperl-2.07/BCP'
>> > make[1]: Nothing to be done for `all'.
>> > make[1]: Leaving directory `/usr/src/sybperl-2.07/BCP'
>> > make[1]: Entering directory `/usr/src/sybperl-2.07/CTlib'
>> > mkdir .././blib/lib/Sybase
>> > mkdir .././blib/arch/auto/Sybase/CTlib
>> > mkdir .././blib/lib/auto/Sybase/CTlib
>> > cp CTlib.pm .././blib/lib/Sybase/CTlib.pm
>> > AutoSplitting Sybase::CTlib (.././blib/lib/auto/Sybase/CTlib)
>> > /usr/bin/perl -I/usr/lib/perl5/i586-linux/5.00401 -I/usr/lib/perl5
>> > /usr/lib/perl5/ExtUtils/xsubpp -prototypes -typemap /usr/lib/perc
>> > cc -c -I/sybase/include -Dbool=char -DHAS_BOOL -I/usr/local/include
>> > -O2    -DVERSION=\"2.07\" -DXS_VERSION=\"2.07\" -fpic -I/usr/lic
>> > Running Mkbootstrap for Sybase::CTlib ()
>> > chmod 644 CTlib.bs
>> > LD_RUN_PATH="/sybase/lib:/lib" cc -o
>> > ..././blib/arch/auto/Sybase/CTlib/CTlib.so  -L/sybase/lib -shared
>> > -L/usr/local/lib CTlib.o    -
>> > /usr/i486-linux/bin/ld:/sybase/lib/libct.a: file format not
>> recognized;
>> > treating as linker script
>> > /usr/i486-linux/bin/ld:/sybase/lib/libct.a:1: parse error
>> > make[1]: *** [.././blib/arch/auto/Sybase/CTlib/CTlib.so] Error 1
>> > make[1]: Leaving directory `/usr/src/sybperl-2.07/CTlib'
>> > make: *** [subdirs] Error 2
>> >
>> > If I do a nm -s on any of the archive libs it tells me the the file
>> > format is not recognized.  The file command said that the libs are
>> ar
>> > archive files.
>> >
>> > Steve
>> >
>> > Michael sPeppler wrote:
>> >
>> > > Steve wrote:
>> > > >
>> > > > I'm having a problem installing sybperl 2.07 or 2.07b under
>> linux.
>> > > The
>> > > > perl version I have is 5.00401  I'm using  sybase.gz from the
>> sybase
>> > >
>> > > > site, I also tried the version on www.mbay.net/~mpeppler site.
>> I'm
>> > > > tried to link statically. The problem I have is when I do a make
>>
>> > > test I
>> > > > receive the following errors:
>> > >
>> > > 
>> > >
>> > >  /home/
>> > > nape9/sybperl-2.07/blib/arch/auto/Sybase/DBlib/DBlib.a(DBlib.o):
>> > > > In function `to_datetime':
>> > > > DBlib.o(.text+0x623): undefined reference to `dbconvert'
>> > >
>> > > You are trying to build the DBlib part of sybperl which requires
>> > > Sybase's DBlibrary API. This library is not available on Linux,
>> > > unfortunately.
>> > >
>> > > Edit CONFIG and set DBLIBVS=0, then rebuild from scratch (ie
>> > > starting with perl Makefile.PL).
>> > >
>> > > Michael
>> > > --
>> > > Michael Peppler       -||-  Data Migrations Inc.
>> > > mpeppler@datamig.com  -||-  http://www.mbay.net/~mpeppler
>> >
>> > > Are you shure to have a.out-support on your linux box installed.
>> > Otherwise
>> > > you should try the elf-port of the sybase client libraries
>> (available
>> > at
>> > > Michael Pippler's site)
>> >
>> > > Andi
>>
>> --
>> Michael Peppler       -||-  Data Migrations Inc.
>> mpeppler@datamig.com  -||-  http://www.mbay.net/~mpeppler