develooper Front page | perl.perl5.porters | Postings from April 2000

Re: [ID 20000330.001] [PATCH Compress-Zlib-1.08] Subroutine DynaLoader::dl_error redefined on static build

Thread Previous | Thread Next
From:
Gurusamy Sarathy
Date:
April 25, 2000 11:17
Subject:
Re: [ID 20000330.001] [PATCH Compress-Zlib-1.08] Subroutine DynaLoader::dl_error redefined on static build
Message ID:
200004251817.LAA30670@maul.ActiveState.com
On Thu, 30 Mar 2000 09:56:58 +0200, Dominic Dunlop wrote:
>If perl is statically-linked, and in the absence of the patch below,
>make test for Compress::Zlib gives
>
>PERL_DL_NONLAZY=1 ./perl -Iblib/arch -Iblib/lib
>-I/usr/local/lib/perl5/5.6.0/pow
>erpc-machten -I/usr/local/lib/perl5/5.6.0 -e 'use Test::Harness
>qw(&runtests $ve
>rbose); $verbose=0; runtests @ARGV;' t/*.t
>t/examples..........NOK 6Subroutine DynaLoader::dl_error redefined at
>/usr/local
>/lib/perl5/5.6.0/powerpc-machten/DynaLoader.pm line 93.
>t/examples..........NOK 13FAILED tests 2, 4, 6, 8, 11, 13
>         Failed 6/13 tests, 53.85% okay
>t/zlib..............Subroutine DynaLoader::dl_error redefined at
>/usr/local/lib/
>perl5/5.6.0/powerpc-machten/DynaLoader.pm line 93.
>t/zlib..............ok
>Failed Test  Status Wstat Total Fail  Failed  List of failed
>-------------------------------------------------------------------------------
>t/examples.t                 13    6  46.15%  2, 4, 6, 8, 11, 13
>Failed 1/2 test scripts, 50.00% okay. 6/167 subtests failed, 96.41%
>okay.
>make: *** [test_static] Error 255
>
>Everything is fixed (for me) by stopping the module from requiring
>DynaLoader.  The patch does the same thing as
>Change 5884 by gsar@auger on 2000/03/22
>did to the IO module.  It needs testing on a dynamically-linked
>architecture.

Does this cure it?


Sarathy
gsar@ActiveState.com
-----------------------------------8<-----------------------------------
Change 5947 by gsar@auger on 2000/04/25 18:11:53

	use &dl_error rather than &dl_load_file as the guard for calling
	boot_DynaLoader() (meant to fix dl_error() redefined warnings in
	statically built perl)

Affected files ...

... //depot/perl/ext/DynaLoader/DynaLoader_pm.PL#13 edit
... //depot/perl/ext/DynaLoader/XSLoader_pm.PL#2 edit

Differences ...

==== //depot/perl/ext/DynaLoader/DynaLoader_pm.PL#13 (text) ====
Index: perl/ext/DynaLoader/DynaLoader_pm.PL
--- perl/ext/DynaLoader/DynaLoader_pm.PL.~1~	Tue Apr 25 11:12:00 2000
+++ perl/ext/DynaLoader/DynaLoader_pm.PL	Tue Apr 25 11:12:00 2000
@@ -114,9 +114,9 @@
 }
 
 # No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
+# NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB
 boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) &&
-                                !defined(&dl_load_file);
-
+                                !defined(&dl_error);
 
 if ($dl_debug) {
     print STDERR "DynaLoader.pm loaded (@INC, @dl_library_path)\n";

==== //depot/perl/ext/DynaLoader/XSLoader_pm.PL#2 (text) ====
Index: perl/ext/DynaLoader/XSLoader_pm.PL
--- perl/ext/DynaLoader/XSLoader_pm.PL.~1~	Tue Apr 25 11:12:00 2000
+++ perl/ext/DynaLoader/XSLoader_pm.PL	Tue Apr 25 11:12:00 2000
@@ -37,10 +37,12 @@
 
 print OUT <<'EOT';
 
+package DynaLoader;
+
 # No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
-package DynaLoader;
+# NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB
 boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) &&
-                                !defined(&dl_load_file);
+                                !defined(&dl_error);
 package XSLoader;
 
 1; # End of main code
End of Patch.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About