Closed p5pRT closed 22 years ago
When you specify -Dstatic_ext but not -Ddynamic_ext to Configure\, it builds those extensions as both dynamic and static and lists them twice in extensions.
I assume this is not intentional.
Yitzchak Scott-Thoennes \perl5\-porters@​perl\.org writes:
# New Ticket Created by Yitzchak Scott-Thoennes # Please include the string: [perl #16000] # in the subject line of all future correspondence about this issue. # \<URL: http://rt.perl.org/rt2/Ticket/Display.html?id=16000 >
This is a bug report for perl from sthoenna@efn.org\, generated with the help of perlbug 1.34 running under perl v5.8.0.
----------------------------------------------------------------- [Please enter your report here]
When you specify -Dstatic_ext but not -Ddynamic_ext to Configure\, it builds those extensions as both dynamic and static and lists them twice in extensions.
I assume this is not intentional.
It may not be intentional but it would be very useful for embedding if there was a way to build .a libraries as well as .so loadables.
That way embedder could choose how extension was made available to embedded perl independantly of how perl itself got the extension.
I was considering using this non-intentional side effect to allow that to happen. But the side effect is not quite right.
--- Configure.orig Sun Aug 4 14:49:50 2002 +++ Configure Sun Aug 4 14:54:18 2002 @@ -19424\,7 +19424\,19 @@
EOM case "$dynamic_ext" in - '') dflt="$avail_ext" ;; + '') + : Exclude those listed in static_ext + dflt='' + for xxx in $avail_ext; do + case " $static_ext " in + *" $xxx "*) ;; + *) dflt="$dflt $xxx" ;; + esac + done + set X $dflt + shift + dflt="$*" + ;; *) dflt="$dynamic_ext" # Perhaps we are reusing an old out-of-date config.sh. case "$hint" in End of Patch.
[Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=install severity=low --- Site configuration information for perl v5.8.0:
Configured by sthoenna at Sun Aug 4 15:00:09 2002.
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: Platform: osname=cygwin\, osvers=1.3.10(0.5132)\, archname=cygwin-64int uname='cygwin_98-4.10 yo 1.3.10(0.5132) 2002-02-25 11:14 i686 unknown ' config_args='-de -Dusedevel -Duse64bitint -Ui_ndbm -Ui_dbm -Dstatic_ext='IO Socket' -Doptimize=-g' hint=recommended\, useposix=true\, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=y\, bincompat5005=undef Compiler: cc='gcc'\, ccflags ='-DPERL_USE_SAFE_PUTENV -DDEBUGGING -fno-strict-aliasing -I/usr/local/include'\, optimize='-g'\, cppflags='-DPERL_USE_SAFE_PUTENV -DDEBUGGING -fno-strict-aliasing -I/usr/local/include' ccversion=''\, gccversion='2.95.3-5 (cygwin special)'\, gccosandvers='' intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=12345678 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=12 ivtype='long long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=4 alignbytes=8\, prototype=define Linker and Libraries: ld='ld2'\, ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /usr/lib /lib libs=-lgdbm -lcrypt -lutil perllibs=-lcrypt -lutil libc=/usr/lib/libc.a\, so=dll\, useshrplib=true\, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs\, dlext=dll\, d_dlsymun=undef\, ccdlflags=' ' cccdlflags=' '\, lddlflags=' -L/usr/local/lib'
Locally applied patches:
--- @INC for perl v5.8.0: /usr/local/lib/perl5/5.8.0/cygwin-64int /usr/local/lib/perl5/5.8.0 /usr/local/lib/perl5/site_perl/5.8.0/cygwin-64int /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl .
--- Environment for perl v5.8.0: HOME=/cygdrive/c/home/sthoenna LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/local/bin:/usr/bin:/bin:/cygdrive/c/home/sthoenna/bin:/cygdrive/c/PROGRA~1/YARNW:/usr/bin:/USR/LOCAL/EMACS/EMACS-20.7/BIN:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/COMMAND PERL_BADLANG (unset) SHELL (unset) -- Nick Ing-Simmons http://www.ni-s.u-net.com/
On 6 Aug 2002\, Yitzchak Scott-Thoennes wrote:
When you specify -Dstatic_ext but not -Ddynamic_ext to Configure\, it builds those extensions as both dynamic and static and lists them twice in extensions.
I assume this is not intentional.
Right. Offhand\, the patch looks ok to me.
-- Andy Dougherty doughera@lafayette.edu Dept. of Physics Lafayette College\, Easton PA 18042
On Tue\, 06 Aug 2002 09:39:45 +0100\, nick.ing-simmons@elixent.com wrote:
Yitzchak Scott-Thoennes \perl5\-porters@​perl\.org writes:
That ^^^ is the most irritating feature of rt I've seen so far.
It may not be intentional but it would be very useful for embedding if there was a way to build .a libraries as well as .so loadables.
That way embedder could choose how extension was made available to embedded perl independantly of how perl itself got the extension.
I was considering using this non-intentional side effect to allow that to happen. But the side effect is not quite right.
Not quite right how? You can always specify both dynamic_ext and static_ext with some extensions in both\, though that involves knowing what the available extensions are before running Configure.
After my patch (assuming usedl): ..../Configure opts resulting static_ext resulting dynamic_ext none none avail_ext -Dstatic_ext=foo foo avail_ext less foo[*] -Ddynamic_ext=foo avail_ext less foo foo -Dstatic_ext=foo -Ddynamic_ext=bar foo bar
[*] before my patch\, this is avail_ext including foo
Would it be useful to be able to include a '*' or something in static_ext or dynamic_ext to mean any not-otherwise-specified extensions?
Then -Dstatic_ext=foo -Ddynamic_ext='foo *' would build all extensions as dynamic and foo as static also.
BTW\, who is the Configure pumpking now? Jarkko? There was an unanswered question from someone who wanted to patch (add to?) the metaconfig units in bugid #15015.
Yitzchak Scott-Thoennes (via RT) \perlbug@​perl\.org wrote: :When you specify -Dstatic_ext but not -Ddynamic_ext to Configure\, :it builds those extensions as both dynamic and static and lists :them twice in extensions. : :I assume this is not intentional.
Thanks\, applied as #17698.
Hugo
@gbarr - Status changed from 'new' to 'resolved'
Migrated from rt.perl.org#16000 (status was 'resolved')
Searchable as RT16000$