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: Steve <smclurkin at loop dot com>
Subject: More Problems installing Sybperl under Linux
Date: Oct 6 1997 8:23PM

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