Mail Archives: cygwin/2001/12/09/10:26:55
------------B014FECF478938
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hallo Pierre,
Am 2001-12-08 um 22:28 schriebst du:
> I have a package that uses perl itself to configure a makefile to
> use perl libraries. The command and its output are
>> perl -MExtUtils::Embed -e ldopts
> Note (probably harmless): No library found for -lperl
> -s -s -L/usr/local/lib
> /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a
> -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lcrypt
> 3 observations:
> 1) The "harmless note" suggests that the perl library is not where expected.
> Should it be -lperl5_6_1 or is there a missing link?
> 2) The -s causes the linker to drop the symbol table [when the command
> output is blindly used in a makefile]. Not nice while debugging!
> 3) why list /usr/local/lib?
> While not a show stopper, can this be fixed in future releases?
> Thanks.
1.
This is from ExtUtils::Embed::ldopts:
my $libperl;
if ($^O eq 'MSWin32') {
$libperl = $Config{libperl};
}
else {
$libperl = (grep(/^-l\w*perl\w*$/, @link_args))[0] || "-lperl";
}
It seems that it doesn't work as it should.
I have patched this for now (attached), I'll look to get this in perl
included if it is still broken in bleadperl.
$ perl -MExtUtils::Embed -e ldopts
-s -s -L/usr/local/lib /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lperl5_6_1 -lcrypt
Alternative: create a symlink libperl.a -> libperl5_6_1.a
2. Cygwin Perl is built with -s flag, that strips the binaries, if you want
to have symbols in your module you will need symbols in perl, that means
you will have to rebuild perl yourself with symbols, that is: change nothing
at the source and do: ./Configure -Doptimize='-g' which turns on DEBUGGING.
(Note that Cygwin Perl is also build with '-Dmultiplicity').
I really don'y know why the '-s' flag is passed twice here.
Probable because there are several flags involved (ldflags & ccdlflags)
3. I didn't add /usr/local/lib to the linkline, it is done somewhere automagically.
You may change the values in Config.pm.
ldflags=''
then you get:
$ perl -MExtUtils::Embed -e ldopts
-s /usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lperl5_6_1 -lcrypt
ccdlflags=''
$ perl -MExtUtils::Embed -e ldopts
/usr/lib/perl5/5.6.1/cygwin-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.6.1/cygwin-multi/CORE -lperl5_6_1 -lcrypt
but as stated above I don't know if it is sufficient, maybe you need to
rebuild perl to get the symbols.
Ciao,
Gerrit P. Haase mailto:gp AT familiehaase DOT de
--
=^..^=
------------B014FECF478938
Content-Type: application/octet-stream; name="Embed.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Embed.patch"
LS0tIHBlcmw1LzUuNi4xL0V4dFV0aWxzL0VtYmVkLnBtLm9yaWcJU3VuIERlYyAgOSAxNToyMzoy
MiAyMDAxCisrKyBwZXJsNS81LjYuMS9FeHRVdGlscy9FbWJlZC5wbQlTdW4gRGVjICA5IDE1OjIy
OjQxIDIwMDEKQEAgLTIwNyw5ICsyMDcsMTMgQEAKICAgICBpZiAoJF5PIGVxICdNU1dpbjMyJykg
ewogCSRsaWJwZXJsID0gJENvbmZpZ3tsaWJwZXJsfTsKICAgICB9CisgICAgZWxzaWYgKCReTyBl
cSAnY3lnd2luJykgeworCSRsaWJwZXJsID0gIi1scGVybDVfNl8xIjsgICAgIAorICAgIH0KICAg
ICBlbHNlIHsKIAkkbGlicGVybCA9IChncmVwKC9eLWxcdypwZXJsXHcqJC8sIEBsaW5rX2FyZ3Mp
KVswXSB8fCAiLWxwZXJsIjsKICAgICB9CisKIAogICAgIG15ICRscGF0aCA9IEZpbGU6OlNwZWMt
PmNhdGRpcigkQ29uZmlne2FyY2hsaWJleHB9LCAnQ09SRScpOwogICAgICRscGF0aCA9IHFxWyIk
bHBhdGgiXSBpZiAkXk8gZXEgJ01TV2luMzInOwotLS0gcGVybDUvNS42LjEvY3lnd2luLW11bHRp
L0V4dFV0aWxzL0VtYmVkLnBtLm9yaWcJU3VuIERlYyAgOSAxNToyMzoxMCAyMDAxCisrKyBwZXJs
NS81LjYuMS9jeWd3aW4tbXVsdGkvRXh0VXRpbHMvRW1iZWQucG0JU3VuIERlYyAgOSAxNToyMjo0
NyAyMDAxCkBAIC0yMDcsNiArMjA3LDkgQEAKICAgICBpZiAoJF5PIGVxICdNU1dpbjMyJykgewog
CSRsaWJwZXJsID0gJENvbmZpZ3tsaWJwZXJsfTsKICAgICB9CisgICAgZWxzaWYgKCReTyBlcSAn
Y3lnd2luJykgeworCSRsaWJwZXJsID0gIi1scGVybDVfNl8xIjsgICAgIAorICAgIH0KICAgICBl
bHNlIHsKIAkkbGlicGVybCA9IChncmVwKC9eLWxcdypwZXJsXHcqJC8sIEBsaW5rX2FyZ3MpKVsw
XSB8fCAiLWxwZXJsIjsKICAgICB9Cg==
------------B014FECF478938
Content-Type: text/plain; charset=us-ascii
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
------------B014FECF478938--
- Raw text -