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: Andreas Schmidt <andi at team-konzept dot de>
Subject: Re: ld got signal 11 when "make test"
Date: Oct 23 1997 7:56PM

Hi Jeff,

I don't know how to find out, which static extensions are linked to your perl.

One other thing you could try is to take the ld/cc-call which crashes and
expand it to a pure command line without other `prog` inclusions. Examine
this command line, and reduce all -lc options to a single one, which you
put to the end of the argument list of ld. With this change, I could
prevent ld from crashing while trying to bring mod_perl and sybperl
together. Unfortunately the resulting binary did not run, because there
seems to be an conflict between the elf-port of the sybase libraries and
the newer libc-versions.

I just repost my former mailings with that subject in the mod_perl mailing
list, some weeks ago:

Andreas Schmidt wrote:
>
> Once again, I need some help
>
> >I'm trying to port our perl-based cgi-development from cgi to mod_perl. Our
> >current CGI-platform is Linux (Kernel V. 2.0.30), perl 5.004.03, and
> >sybperl 2.07 and apache 1.2.4.
> >
> >Till now everything for setting up mod_perl 1.00 worked fine. I built
> >mod_perl, perl and apache on a new system and everything worked nearly
> >immediate. Then I tried to add sybperl. Since I newer was able to install
> >sybperl as a dynamic perl extension under Linux (I use the ELF-port of the
> >sybase client library for linux), I first rebuild perl with sybperl as an
> >static extension. No problem.
> >
> >Then I tried to rebuild mod_perl with
> >
> >perl Makefile.PL "PERL_STATIC_EXTS=Sybase::CTlib"
> >
> >I made no further changes to either mod_perl or apache.
> >
> >After starting make everything works fine till linking the new httpd. There
> >cc crashes with
> >
> >cc: Internal compiler error: program ld got fatal signal 11
> >
> >Any ideas?
> >Did anyone else set up our configuration successfully? If so, how?
>
> Ok, one problem is fixed, others arise.
>
> Finaly I found the helping hint at Pablo Sanchez's Sybase FAQ
> (http://reality.sgi.com/employees/pablo_corp/Sybase_FAQ/Q9.17.html). There
> he writes, that there were problems with converting Sybase's ctlib from
> a.out to ELF-format, because the ctlib uses ctype- macros, that had changed
> in the c-library since the compilation of ctlib. Although I didn't really
> understand, what this all means, I had the idea to put the "-lc" argument,
> at the end of the argument list for the linker. After this minimal change,
> the link was successful and produced a new httpd.
>
> I could start the new httpd, and it works just fine - but only for plain
> http-requests. Any attempt to use mod_perl functionality (even without
> using any sybperl functionality) causes to grow the httpd to a giant
> process, which uses nearly all available cpu and memory-ressources, without
> producing any reasonable output.
>
> My idea is, that apache (or mod_perl) uses the same ctype macros as ctlib.
> Since apache is compiled with the new header files there is now a conflict
> with the structures linked into httpd from the ctlib.
>
> >From my point of view, the best solution, would be a new version of
> Sybase's ctlib for Linux. Has anyone access to this? I think, it should be
> easy for Sybase, to put the source on a linux box and execute make - or
> maybe distribute the source code?

Till today I have to solution for this problem. Once again: on the same
machine, sybperl/perl alone compiles, links and runs perfect.

If you can produce a simular effect, this could be a sign that your perl
uses some static extensions, that cause a simular libc-conflict that I have
with mod_perl.

Andi

>Andreas Schmidt wrote:
>>
>> Are you really shure to have the same environment on both machines? Maybe
>> you have linux distributions with different gcc versions installed on both
>> machines.
>> Or your perl has additional static linked modules.
>>
>> I don't belief that it's a hardware problem.
>>
>> Andi
>
>These are what come out by perl -V on the good PC:
>Summary of my perl5 (5.0 patchlevel 3 subversion 0) configuration:
>  Platform:
>    osname=linux, osver=2.0.27, archname=i586-linux
>    uname='linux porky.redhat.com 2.0.27 #1 tue dec 3 15:02:19 est 1996
>i586 '
>    hint=recommended, useposix=true, d_sigaction=define
>  Compiler:
>    cc='cc', optimize='-O2', gccversion=2.7.2.1
>    cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
>    ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
>    stdchar='char', d_stdstdio=define, usevfork=false
>    voidflags=15, castflags=0, d_casti32=define, d_castneg=define
>    intsize=4, alignbytes=4, usemymalloc=n, randbits=31
>  Linker and Libraries:
>    ld='cc', ldflags =' -L/usr/local/lib'
>    libpth=/usr/local/lib /lib /usr/lib
>    libs=-lndbm -lgdbm -ldb -ldl -lm -lc
>    libc=/lib/libc.so.5.3.12, so=so
>  Dynamic Linking:
>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=, ccdlflags='-rdynamic'
>    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
>
>@INC: /usr/lib/perl5/i386-linux/5.003 /usr/lib/perl5
>/usr/lib/perl5/site_perl/i586-linux /usr/lib/perl5/site_perl .
>
>===============================================================================
>===========
>Here is the same thing from the problem PC:
>
>Summary of my perl5 (5.0 patchlevel 3 subversion 0) configuration:
>  Platform:
>    osname=linux, osver=2.0.29, archname=i386-linux
>    uname='linux porky.redhat.com 2.0.29 #1 tue apr 8 12:35:45 edt 1997
>i586 unknown '
>    hint=recommended, useposix=true, d_sigaction=define
>  Compiler:
>    cc='cc', optimize='-O2', gccversion=2.7.2.1
>    cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
>    ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
>    stdchar='char', d_stdstdio=define, usevfork=false
>    voidflags=15, castflags=0, d_casti32=define, d_castneg=define
>    intsize=4, alignbytes=4, usemymalloc=n, randbits=31
>  Linker and Libraries:
>    ld='cc', ldflags =' -L/usr/local/lib'
>    libpth=/usr/local/lib /lib /usr/lib
>    libs=-lndbm -lgdbm -ldb -ldl -lm -lc
>    libc=/lib/libc.so.5.3.12, so=so
>  Dynamic Linking:
>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=, ccdlflags='-rdynamic'
>    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
>
>@INC: /usr/lib/perl5/i386-linux/5.003 /usr/lib/perl5
>/usr/lib/perl5/site_perl/i386-linux /usr/lib/perl5/site_perl .
>
>I would say they are almost identical.  How do I think if the perl has
>additional static linked moduls?