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: Rick Smith <rsmith at nac dot net>
Subject: Re: More Problems installing Sybperl under Linux
Date: Oct 9 1997 1:58PM

Does sybperl WORK with ld 2.8.1 / BFD 2.8.1 ?

Mine's....

[root@tempest /root]# ld -V
ld version 2.7 (with BFD 2.7.0.2)
  Supported emulations:
   elf_i386
   i386linux

So I may upgrade it to 2.8.1 just to see if it works ok

On Thu, 9 Oct 1997, Andreas Schmidt wrote:

> 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
> 
> 
> 
>