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: michael dot peppler at bnpparibas dot com
Subject: Re: Sybperl: make error 1
Date: Nov 18 2005 10:11AM

Google is your friend.

If you search on "sybperl sqlda" you should find the answer to your 
question.

Michael




Internet
dobbie1@swipnet.se@peppler.org - 18/11/2005 09:58
 
Sent by:        owner-sybperl-l@peppler.org
To:     sybperl-l
cc: 
Subject:        Re: Sybperl: make error 1


Hello again,

Pardon my ignorance.

I fetched perl 5.8.7 and binutils from www.sunfreeware.com, and started
to build sybperl again:
# perl Makefile.PL
/sybase
Sybase OpenClient 11.1.1 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): NEAT

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

/sybase
Sybase OpenClient 11.1.1 found.
Writing Makefile for Sybase::BCP
Writing Makefile for Sybase::BLK
/sybase
Sybase OpenClient 11.1.1 found.
Note (probably harmless): No library found for -lblk
Writing Makefile for Sybase::CTlib
/sybase
Sybase OpenClient 11.1.1 found.
Writing Makefile for Sybase::DBlib
/sybase
Sybase OpenClient 11.1.1 found.
Writing Makefile for Sybase::Sybperl
Writing Makefile for Sybase
# make
make[1]: Entering directory `/tmp/sybperl-2.18/BCP'
Manifying ../blib/man3/Sybase::BCP.3
make[1]: Leaving directory `/tmp/sybperl-2.18/BCP'
make[1]: Entering directory `/tmp/sybperl-2.18/BLK'
Manifying ../blib/man3/Sybase::BLK.3
make[1]: Leaving directory `/tmp/sybperl-2.18/BLK'
make[1]: Entering directory `/tmp/sybperl-2.18/CTlib'
Skip ../blib/lib/Sybase/CTlib.pm (unchanged)
gcc -c  -I/sybase/include -fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O
-DVERSION=\"2.18\" -DXS_VERSION=\"2.18\" -fPIC
"-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE"  -DCTLIBVS=100
-DSYBPLVER='"2.18"' -DDO_TIE -DNOBLK CTlib.c
In file included from CTlib.xs:41:
/sybase/include/ctpublic.h:20:19: sqlda.h: No such file or directory
In file included from CTlib.xs:41:
/sybase/include/ctpublic.h:268: error: parse error before "SQLDA"
make[1]: *** [CTlib.o] Error 1
make[1]: Leaving directory `/tmp/sybperl-2.18/CTlib'
make: *** [subdirs] Error 2

As /sybase/include does not include sqlda.h, where do I find it ?

Regards,

Marek

michael.peppler@bnpparibas.com wrote:

>It does that because it pulls that information from Perl's Config.pm 
file.
>
>That's why I suggested also building a new perl (or getting a gcc-built
>perl from www.sunfreeware.com)
>
>Michael
>
>
>
>
>Internet
>dobbie1@swipnet.se@peppler.org - 17/11/2005 22:39
>
>
>Sent by:    owner-sybperl-l@peppler.org
>
>To:    sybperl-l
>
>cc:    Michael PEPPLER
>
>
>Subject:    Re: Sybperl: make error 1
>
>
>Hello again,
>
>After having fetched gcc and make from www.sunfreeware.com, I re-run
>perl Makefile.PL
>Then modify Makefile to contain:
>#CC = cc
>CC = gcc
>#LD = cc
>LD = gcc
>
>Eventually I run make:
># make
>make[1]: Entering directory `/tmp/sybperl-2.18/BCP'
>make[1]: Leaving directory `/tmp/sybperl-2.18/BCP'
>make[1]: Entering directory `/tmp/sybperl-2.18/BLK'
>make[1]: Leaving directory `/tmp/sybperl-2.18/BLK'
>make[1]: Entering directory `/tmp/sybperl-2.18/CTlib'
>cc -c -I/sybase/include  -xO3 -xdepend    -DVERSION=\"2.18\"
>-DXS_VERSION=\"2.18\" -KPIC -I/usr/perl5/5.00503/sun4-solaris/CORE
>-DCTLIBVS=100 -DSYBPLVER='"2.18"' -DDO_TIE -DNOBLK CTlib.c
>make[1]: cc: Command not found
>make[1]: *** [CTlib.o] Error 127
>make[1]: Leaving directory `/tmp/sybperl-2.18/CTlib'
>make: *** [subdirs] Error 2
>
>Why does make call 'cc -c -I/sybase/include ...' although I have
>modified CC and LD ?
>
>Marek
>
>dobbie1 wrote:
>
>
>
>>Michael,
>>
>>Thank you for your reply.
>>
>>I will report my progress as soon I get all the pieces in place.
>>
>>Marek
>>
>>michael.peppler@bnpparibas.com wrote:
>>
>>
>>
>>>You need several things before you can get this to build.
>>>
>>>First you need a C compiler - either the one from Sun (not free) or gcc
>>>(see www.sunfreeware.com).
>>>
>>>Once you have that you really need to rebuild perl or get a new perl
>>>binary
>>>built with gcc (from www.sunfreeware.com, for example) as it is pretty
>>>tricky to get a perl module to build correctly when the main perl 
binary
>>>was created with a different compiler.
>>>
>>>Once all that is done, then you can build sybperl, and yes, the
>>>syntax you
>>>used in the CONFIG file is correct.
>>>
>>>Michael
>>>
>>>
>>>
>>>
>>>Internet
>>>dobbie1@swipnet.se@peppler.org - 11/11/2005 15:03
>>>
>>>
>>>Sent by:    owner-sybperl-l@peppler.org
>>>
>>>To:    sybperl-l
>>>
>>>cc:    Michael PEPPLER
>>>
>>>
>>>Subject:    Re: Sybperl: make error 1
>>>
>>>
>>>Hello again,
>>>
>>>Thank you for your reply.
>>>
>>>I am still missing a reply stating how I insert -DNOBLK into 
EXTRA_DEFS.
>>>Should it be:
>>>EXTRA_DEFS=-DDO_TIE -DNOBLK
>>>
>>>I have digged deeper into make, and made the following:
>>># PATH=$PATH:/usr/ccs/bin; export PATH; echo $PATH
>>>/usr/sbin:/usr/bin:/usr/perl5:/usr/ccs/bin
>>># which make
>>>/usr/ccs/bin/make
>>>
>>>Now I run make:
>>># make
>>>mkdir ../blib/lib/Sybase
>>>mkdir ../blib/arch/auto/Sybase/BCP
>>>mkdir ../blib/lib/auto/Sybase/BCP
>>>cp BCP.pm ../blib/lib/Sybase/BCP.pm
>>>Manifying ../blib/man3/Sybase::BCP.3
>>>mkdir ../blib/arch/auto/Sybase/BLK
>>>mkdir ../blib/lib/auto/Sybase/BLK
>>>cp BLK.pm ../blib/lib/Sybase/BLK.pm
>>>Manifying ../blib/man3/Sybase::BLK.3
>>>mkdir ../blib/arch/auto/Sybase/CTlib
>>>mkdir ../blib/lib/auto/Sybase/CTlib
>>>cp CTlib.pm ../blib/lib/Sybase/CTlib.pm
>>>AutoSplitting ../blib/lib/Sybase/CTlib.pm
>>>(../blib/lib/auto/Sybase/CTlib)
>>>/usr/bin/perl -I/usr/perl5/5.00503/sun4-solaris -I/usr/perl5/5.00503
>>>/usr/perl5/5.00503/ExtUtils/xsubpp -prototypes -typemap
>>>/usr/perl5/5.00503/ExtUtils/typemap CTlib.xs >xstmp.c && mv xstmp.c
>>>CTlib.c
>>>cc -c -I/sybase/include  -xO3 -xdepend     -DVERSION=\"2.18\"
>>>-DXS_VERSION=\"2.18\" -KPIC -I/usr/perl5/5.00503/sun4-solaris/CORE
>>>-DCTLIBVS=100 -DSYBPLVER='"2.18"' -DDO_TIE CTlib.c
>>>sh: cc: not found
>>>*** Error code 1
>>>make: Fatal error: Command failed for target `CTlib.o'
>>>Current working directory /tmp/sybperl-2.18/CTlib
>>>*** Error code 1
>>>make: Fatal error: Command failed for target `subdirs'
>>>
>>>I have found cc in /usr/ucb, appended the directory to $PATH, and run
>>>make again:
>>># find / -name cc -print
>>>/usr/ucb/cc
>>># PATH=$PATH:/usr/ucb; export PATH; echo $PATH
>>>/usr/sbin:/usr/bin:/usr/perl5:/usr/ccs/bin:/usr/ucb
>>># make
>>>cc -c -I/sybase/include  -xO3 -xdepend     -DVERSION=\"2.18\"
>>>-DXS_VERSION=\"2.18\" -KPIC -I/usr/perl5/5.00503/sun4-solaris/CORE
>>>-DCTLIBVS=100 -DSYBPLVER='"2.18"' -DDO_TIE CTlib.c
>>>/usr/ucb/cc:  language optional software package not installed
>>>*** Error code 1
>>>make: Fatal error: Command failed for target `CTlib.o'
>>>Current working directory /tmp/sybperl-2.18/CTlib
>>>*** Error code 1
>>>make: Fatal error: Command failed for target `subdirs'
>>>
>>>What cc package is missing ?
>>>
>>>Marek
>>>
>>>michael.peppler@bnpparibas.com wrote:
>>>
>>>
>>>
>>>
>>>
>>>>Sorry  -DNOBLK.
>>>>
>>>>For the make not being found I don't really know what the problem 
might
>>>>
>>>>
>>>>
>>>be.
>>>
>>>
>>>
>>>
>>>>Michael
>>>>
>>>>
>>>>
>>>>
>>>>Internet
>>>>dobbie1@swipnet.se - 11/11/2005 14:12
>>>>
>>>>To:    Michael PEPPLER
>>>>
>>>>cc:
>>>>
>>>>
>>>>Subject:    Re: Sybperl: make error 1
>>>>
>>>>
>>>>Hello again,
>>>>
>>>>I have checked CONFIG, and it contains:
>>>>EXTRA_DEFS=-DDO_TIE
>>>>Further on CONFIG mentions -DNOBLK, and not -DNO_BLK.
>>>>Which option is valid ?
>>>>How do I append the valid option to the existing EXTRA_DEFS ?
>>>>
>>>># which make
>>>>o make in /usr/sbin /usr/bin
>>>>Although I have changed the order in PATH:
>>>># echo $PATH
>>>>/usr/ccs/bin:/usr/sbin:/usr/bin:/usr/perl5
>>>># which make
>>>>o make in /usr/sbin /usr/bin
>>>>
>>>>What have I missed here ?
>>>>
>>>>Marek
>>>>
>>>>michael.peppler@bnpparibas.com wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>A couple of problems.
>>>>>
>>>>>First, the -lblk library is missing. This is "normal" on Solaris
>>>>>unless
>>>>>
>>>>>
>>>>>
>>>>>
>>>>you
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>have the full OpenClient SDK installed.
>>>>>For sybperl you should be able to add a -DNO_BLK in the CONFIG file 
to
>>>>>
>>>>>
>>>>>
>>>get
>>>
>>>
>>>
>>>
>>>>>around this and have the make succeed.
>>>>>
>>>>>Second, the make binary is indeed in /usr/ccs/bin. My guess is that
>>>>>the
>>>>>path isn't quite right. What does "which make" produce?
>>>>>
>>>>>Michael
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>Internet
>>>>>dobbie1@swipnet.se@peppler.org - 11/11/2005 11:21
>>>>>
>>>>>
>>>>>Sent by:    owner-sybperl-l@peppler.org
>>>>>
>>>>>To:    sybperl-l
>>>>>
>>>>>cc:
>>>>>
>>>>>
>>>>>Subject:    Sybperl: make error 1
>>>>>
>>>>>
>>>>>Hello,
>>>>>
>>>>>Below is the screen output while trying to install Sybperl in my Sun
>>>>>E250 running Solaris 8 and Sybase 11.9:
>>>>># PATH=$PATH:/usr/perl5
>>>>># echo $PATH
>>>>>/usr/sbin:/usr/bin:/usr/perl5
>>>>># perl -v
>>>>>
>>>>>This is perl, version 5.005_03 built for sun4-solaris
>>>>># perl Makefile.PL
>>>>>/sybase
>>>>>Sybase OpenClient 11.1.1 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
>>>>>/sybase
>>>>>Sybase OpenClient 11.1.1 found.
>>>>>Writing Makefile for Sybase::BCP
>>>>>Writing Makefile for Sybase::BLK
>>>>>/sybase
>>>>>Sybase OpenClient 11.1.1 found.
>>>>>Note (probably harmless): No library found for -lblk
>>>>>Writing Makefile for Sybase::CTlib
>>>>>/sybase
>>>>>Sybase OpenClient 11.1.1 found.
>>>>>Writing Makefile for Sybase::DBlib
>>>>>/sybase
>>>>>Sybase OpenClient 11.1.1 found.
>>>>>Writing Makefile for Sybase::Sybperl
>>>>>Writing Makefile for Sybase
>>>>># make
>>>>>make: not found
>>>>># find / -name make -print
>>>>>/usr/share/lib/make
>>>>>/usr/ccs/bin/make
>>>>>/usr/xpg4/bin/make
>>>>># PATH=$PATH:/usr/ccs/bin
>>>>># echo $PATH
>>>>>/usr/sbin:/usr/bin:/usr/perl5:/usr/ccs/bin
>>>>># 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
>>>>>mkdir blib/man3
>>>>>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
>>>>>sh: make: not found
>>>>>*** Error code 1
>>>>>make: Fatal error: Command failed for target `subdirs'
>>>>>
>>>>>Shall I use another make instead of /usr/ccs/bin/make ?
>>>>>
>>>>>Regards,
>>>>>
>>>>>Marek
>>>>>
>>>>>
>>>>>
>>>>>This message and any attachments (the "message") is
>>>>>intended solely for the addressees and is confidential.
>>>>>If you receive this message in error, please delete it and
>>>>>immediately notify the sender. Any use not in accord with
>>>>>its purpose, any dissemination or disclosure, either whole
>>>>>or partial, is prohibited except formal approval. The internet
>>>>>can not guarantee the integrity of this message.
>>>>>BNP PARIBAS (and its subsidiaries) shall (will) not
>>>>>therefore be liable for the message if modified.
>>>>>
>>>>>             ---------------------------------------------
>>>>>
>>>>>Ce message et toutes les pieces jointes (ci-apres le
>>>>>"message") sont etablis a l'intention exclusive de ses
>>>>>destinataires et sont confidentiels. Si vous recevez ce
>>>>>message par erreur, merci de le detruire et d'en avertir
>>>>>immediatement l'expediteur. Toute utilisation de ce
>>>>>message non conforme a sa destination, toute diffusion
>>>>>ou toute publication, totale ou partielle, est interdite, sauf
>>>>>autorisation expresse. L'internet ne permettant pas
>>>>>d'assurer l'integrite de ce message, BNP PARIBAS (et ses
>>>>>filiales) decline(nt) toute responsabilite au titre de ce
>>>>>message, dans l'hypothese ou il aurait ete modifie.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>
>
>
>