Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Mihai Ibanescu <misa at dntis dot ro>
Subject: Re: sybperl and RedHat 5.1 (again)
Date: Aug 20 1998 2:24PM

On Thu, 20 Aug 1998, Michael Peppler wrote:

> Mihai Ibanescu writes:
>  > On Wed, 19 Aug 1998, Michael Peppler wrote:
>  > 
>  > > Mihai Ibanescu writes:
>  > >  > 		Hello
>  > >  > 
>  > >  > 	I bothered you with a similar message a while ago. It's about
>  > >  > sybperl (in fact ctlib) for glibc-based systems. I was able once to make
>  > >  > it work with RedHat 5.0. On fresh installs of RedHat 5.1, things are still
>  > >  > bad.
>  > >  > 	I've tried to compile the samples found in the ctlib tarball (the
>  > >  > one pointed by the link from your page). On my old systems everything is
>  > >  > OK. On glibc-based systems the linking phase complains about not finding
>  > >  > bsd_tcp:
>  > >  > 
>  > >  > /usr/local/sybase/lib/libsybtcl.a(sim_drvs.o)(.data+0x14): undefined
>  > >  > reference to `bsd_tcp'
>  > > 
>  > > That symbol lives in So maybe you need to add that
>  > > library to your link line?
>  > 
>  > 	Ok, I did it. Stupid me. It compiles, but segfaults.. Have no idea
>  > why.
> Me neither, unfortunately. Or rather I think I saw a message on the
> sybperl mailing list that libtermcap is the culprit, and that you need 
> to downgrade libtermcap to the version shipped with 5.0 to make things 
> work.

	Thank you very much, I've sent the message on sybperl-l... :-)
	Yes, that's true. In order to make sybperl work, you have to
downgrade libtermcap. But the CGI sybperl scripts still segfault. So do
the sample examples taken from the ctlib tarball. Strange.
	gdb shows a SIGSEGV in np_init(). This (internal?) function is
called somehow by ct_init(), but I have no idea what it does.
	Also, do you know why sybperl is looking for a file called
$SYBASE/install/sybnet.cfg? What is supposed to be in that file?

Here is a strace of the compute program from the samples directory:

getrlimit(RLIMIT_NOFILE, {rlim_cur=256, rlim_max=256}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=256, rlim_max=256}) = 0
brk(0x80be000)                          = 0x80be000
sigaction(SIGIO, {0x8095d70, ~[],
sigaction(SIGURG, {SIG_DFL}, {SIG_DFL}) = 0
sigaction(SIGPIPE, {0x8095e60, ~[], SA_STACK|SA_NOCLDSTOP|0x9424a},
{SIG_DFL}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=256, rlim_max=256}) = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

	Really missing something. Any hint would be appreciated.
	It's damn strange, because if I run a sybperl CGI script from a
perl CGI script (with print ``), everything works OK. If I call directly
the sybperl CGI from the web page, it segfaults without the chance to
print what I write in BEGIN{} (or maybe without having the chance to print
it? Buffer problem? I'll try to fflush() the buffer somehow).
	And why the C programs don't work? How in the world sybperl works?
	Too many questions. But I want to see this solved, since I want to
upgrade my system, and this one would not allow me.

Best wishes,


	Mihai Ibanescu			Dynamic Network Technologies	      Moara de Foc 35, et. 7, 6600 Iasi			    tel. +40-32-252936