Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCO5 XS dyn loading fails #1834

Closed
p5pRT opened this issue Apr 14, 2000 · 11 comments
Closed

SCO5 XS dyn loading fails #1834

p5pRT opened this issue Apr 14, 2000 · 11 comments

Comments

@p5pRT
Copy link

p5pRT commented Apr 14, 2000

Migrated from rt.perl.org#3097 (status was 'resolved')

Searchable as RT3097$

@p5pRT
Copy link
Author

p5pRT commented Apr 14, 2000

From gin@mo.msk.ru

Created by gin@mo.msk.ru

`Configure -de' sets up dynamic loading. But anything that involves
loading of XS shared objects fails. All the error messages are the
same, only line numbers of perl code vary. While `make test' run they
look like this.

op/glob..............Can't load '../lib/auto/File/Glob/Glob.so' for module File​::Glob​: dynamic linker​: ./perl​: relocation error​: symbol not found​: PL_stack_sp at ../lib/XSLoader.pm line 73.
at ../lib/File/Glob.pm line 94
Compilation failed in require at op/glob.t line 10.
BEGIN failed--compilation aborted at op/glob.t line 10.
FAILED at test 0

Perl Info

Flags:
    category=core
    severity=medium

Site configuration information for perl v5.6.0:

Configured by gin at Fri Apr 14 15:07:46 MSD 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
  Platform:
    osname=sco, osvers=3.2v5.0.2, archname=i386-sco
    uname='sco_sv d-fens 3.2 2 i386 '
    config_args='-de'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
  Compiler:
    cc='cc', optimize='-O0', gccversion=
    cppflags='-U M_XENIX -D PERL_SCO -D PERL_SCO5 -w0 -belf -I/usr/local/include'
    ccflags ='-U M_XENIX -D PERL_SCO -D PERL_SCO5 -w0 -belf -g -I/usr/local/include'
    stdchar='unsigned char', d_stdstdio=undef, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=undef, longlongsize=, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
    alignbytes=4, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
    libs=-lintl -lsocket -lnsl -lndbm -ldbm -lld -lm -lc -lcrypt -lsec -lPW -lx
    libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Bexport -L/usr/local/lib'
    cccdlflags='-Kpic', lddlflags='-G -L/usr/local/lib'

Locally applied patches:
    


@INC for perl v5.6.0:
    lib
    /usr/local/lib/perl5/5.6.0/i386-sco
    /usr/local/lib/perl5/5.6.0
    /usr/local/lib/perl5/site_perl/5.6.0/i386-sco
    /usr/local/lib/perl5/site_perl/5.6.0
    /usr/local/lib/perl5/site_perl
    .


Environment for perl v5.6.0:
    HOME=/home/gin
    LANG=C_C.C
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=.:/home/gin/pbin:/bin:/usr/bin:/usr/local/bin:/usr/merge/dosroot/ubin:/usr/bin/X11:/home/gin/bin
    PERL_BADLANG (unset)
    SHELL=/bin/sh


@p5pRT
Copy link
Author

p5pRT commented Apr 14, 2000

From [Unknown Contact. See original ticket]

`Configure -de' puts `-Bexport' word in `ccdlflags'. But this option
may be passed to ld only, not to native SCO5 cc. `-Wl,-Bexport'
should be used instead. After patching Makefile and relinking `perl'
XS dynamic loading works in all tests.

@p5pRT
Copy link
Author

p5pRT commented Apr 15, 2000

From [Unknown Contact. See original ticket]

gin@​mo.msk.ru wrote​:

`Configure -de' sets up dynamic loading. But anything that involves
loading of XS shared objects fails. All the error messages are the
same, only line numbers of perl code vary. While `make test' run they
look like this.

op/glob..............Can't load '../lib/auto/File/Glob/Glob.so' for module File​::Glob​: dynamic linker​: ./perl​: relocation error​: symbol not found​: PL_stack_sp at ../lib/XSLoader.pm line 73.
at ../lib/File/Glob.pm line 94
Compilation failed in require at op/glob.t line 10.
BEGIN failed--compilation aborted at op/glob.t line 10.
FAILED at test 0

[snip]

osname=sco\, osvers=3\.2v5\.0\.2\, archname=i386\-sco

Sorry, I'm out for a few days and have no SCO box available by now.
I'll be back on tuesday and I'll have a look at it.

François

@p5pRT
Copy link
Author

p5pRT commented Dec 14, 2004

From @schwern

[RT_System - Sat Apr 15 02​:51​:25 2000]​:

gin@​mo.msk.ru wrote​:
Sorry, I'm out for a few days and have no SCO box available by now.
I'll be back on tuesday and I'll have a look at it.

François

Is it Tuesday yet? :)

Is there still a problem with 5.8.6?

@p5pRT
Copy link
Author

p5pRT commented Dec 14, 2004

@schwern - Status changed from 'open' to 'stalled'

@p5pRT
Copy link
Author

p5pRT commented Dec 15, 2004

From gin@mo.msk.ru

Is it Tuesday yet? :)

Ask <francois@​fdesar.net>. After all, it was he who wrote that in
<38F88CB4.26A67781@​fdesar.net>, not me. :-/

As for me, I reported <023a38f70b2278-gin@​mo.msk.ru> to be resolved
even earlier​: posted resolutions as <023a38f7333677-gin@​mo.msk.ru>,
<023a38f8a89537-gin@​mo.msk.ru>. Will re-post on request, but better
fix the bug database so that it adds messages to appropriate database
entry if they reference id of initial bug report (or other messages
contained along with it in database).

Is there still a problem with 5.8.6?

Never built that version on sco 5.0.2. And unlikely will in the
nearest days.

The bug depends solely on whether `Configure -de' still puts
`-Bexport' word in `ccdlflags', which is just incorrect for compiler,
or `-Wl,-Bexport'. That is, whether the following patch is applied.

--- hints/sco.sh 2000/04/15 17​:36​:35 1.1
+++ hints/sco.sh 2000/04/15 17​:38​:34 1.2
@​@​ -148,7 +148,7 @​@​
  lddlflags='-G -L/usr/local/lib'
  ;;
  *)
- ccdlflags='-Bexport -L/usr/local/lib'
+ ccdlflags='-Wl,-Bexport -L/usr/local/lib'
  cccdlflags='-Kpic'
  lddlflags='-G -L/usr/local/lib'
  ;;

@p5pRT
Copy link
Author

p5pRT commented Dec 15, 2004

The RT System itself - Status changed from 'stalled' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Dec 15, 2004

From @doughera88

On Tue, 14 Dec 2004, Ilya N. Golubev wrote​:

Is it Tuesday yet? :)

Ask <francois@​fdesar.net>. After all, it was he who wrote that in
<38F88CB4.26A67781@​fdesar.net>, not me. :-/

As for me, I reported <023a38f70b2278-gin@​mo.msk.ru> to be resolved
even earlier​: posted resolutions as <023a38f7333677-gin@​mo.msk.ru>,
<023a38f8a89537-gin@​mo.msk.ru>. Will re-post on request, but better
fix the bug database so that it adds messages to appropriate database
entry if they reference id of initial bug report (or other messages
contained along with it in database).

The bugs database already does contain your follow-ups. This report
unfortunately got stalled awaiting confirmation from another SCO user.

The bug depends solely on whether `Configure -de' still puts
`-Bexport' word in `ccdlflags', which is just incorrect for compiler,
or `-Wl,-Bexport'. That is, whether the following patch is applied.

This patch looks fine and should be applied. The original SCO user who
supplied the plain -B version probably was using a version of the compiler
that passed along unrecognized switches to the linker. I'd expect that
the -Wl,-B version should be safe across a wider range of compiler
versions.

--- hints/sco.sh 2000/04/15 17​:36​:35 1.1
+++ hints/sco.sh 2000/04/15 17​:38​:34 1.2
@​@​ -148,7 +148,7 @​@​
lddlflags='-G -L/usr/local/lib'
;;
*)
- ccdlflags='-Bexport -L/usr/local/lib'
+ ccdlflags='-Wl,-Bexport -L/usr/local/lib'
cccdlflags='-Kpic'
lddlflags='-G -L/usr/local/lib'
;;

--
  Andy Dougherty doughera@​lafayette.edu

@p5pRT
Copy link
Author

p5pRT commented Dec 15, 2004

From @rgs

Andy Dougherty wrote​:

This patch looks fine and should be applied. The original SCO user who
supplied the plain -B version probably was using a version of the compiler
that passed along unrecognized switches to the linker. I'd expect that
the -Wl,-B version should be safe across a wider range of compiler
versions.

--- hints/sco.sh 2000/04/15 17​:36​:35 1.1
+++ hints/sco.sh 2000/04/15 17​:38​:34 1.2

Thanks, applied as #23655 (with the other SCO-hint patch for bug #3100).

@p5pRT
Copy link
Author

p5pRT commented Dec 15, 2004

@rgs - Status changed from 'open' to 'resolved'

@p5pRT p5pRT closed this as completed Dec 15, 2004
@p5pRT
Copy link
Author

p5pRT commented Dec 15, 2004

From gin@mo.msk.ru

The original SCO user who
supplied the plain -B version probably was using a version of the compiler
that passed along unrecognized switches to the linker.

More precisely, plain `-B' is documented explicitly for `cc' in 5.0.4,
but not recognized in some earlier sco5 versions. `-Wl', in contrast,
is quite generic.

I'd expect that
the -Wl,-B version should be safe across a wider range of compiler
versions.

So do I, for the reasons above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant