|
|
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 libinsck.so. 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, ~[],
SA_STACK|SA_RESTART|SA_INTERRUPT|SA_ONESHOT|0x7fffad4}, {SIG_DFL}) = 0
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
Mihai Ibanescu Dynamic Network Technologies
http://sysadm.dntis.ro/~misa Moara de Foc 35, et. 7, 6600 Iasi
misa@dntis.ro tel. +40-32-252936
|