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

static_ext Cwd: wrong deps #10925

Closed
p5pRT opened this issue Dec 25, 2010 · 5 comments
Closed

static_ext Cwd: wrong deps #10925

p5pRT opened this issue Dec 25, 2010 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented Dec 25, 2010

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

Searchable as RT81268$

@p5pRT
Copy link
Author

p5pRT commented Dec 25, 2010

From cygwin@cygwin.com

This is a bug report for perl from cygwin@​cygwin.com,
generated with the help of perlbug 1.39 running under perl 5.10.1.


Since Cwd has to be loaded for almost every module as core dependency,
I decided to use it as static_ext.
However this fails now with the following hardcoded wrong deps in
Makefile.SH​:

  case $f in
  Encode) extra_dep="$extra_dep
$this_target​: lib/auto/Cwd/Cwd.$dlext" ;;
...
  SDBM_File) extra_dep="$extra_dep
$this_target​: lib/auto/Cwd/Cwd.$dlext" ;;
  esac

Same for Scalar​::Util and List​::Util

dltext should be replaced with LIB_EXT in the case the ext is static.



Flags​:
  category=library
  severity=low


Site configuration information for perl 5.10.1​:

Configured by rurban at Sat Aug 28 20​:14​:06 CEST 2010.

Summary of my perl5 (revision 5 version 10 subversion 1) configuration​:
 
  Platform​:
  osname=cygwin, osvers=1.7.5(0.22553), archname=i686-cygwin-thread-multi-64int
  uname='cygwin_nt-5.1 reini 1.7.5(0.22553) 2010-04-12 19​:07 i686 cygwin '
  config_args='-de -Dlibperl=cygperl5_10.dll -Dcc=gcc-4 -Dld=g++-4 -Dmksymlinks -Dusethreads -Dmad=y -Doptimize=-O3 -Accflags=-g3'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=define, usemultiplicity=define
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=define, use64bitall=undef, uselongdouble=undef
  usemymalloc=y, bincompat5005=undef
  Compiler​:
  cc='gcc-4', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g3 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',
  optimize='-O3',
  cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g3 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
  ccversion='', gccversion='4.3.4 20090804 (release) 1', 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=8
  alignbytes=8, prototype=define
  Linker and Libraries​:
  ld='g++-4', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib /lib
  libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat
  perllibs=-ldl -lcrypt
  libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=cygperl5_10.dll
  gnulibc_version=''
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
  cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--stack,8388608 -Wl,--enable-auto-image-base -L/usr/local/lib -fstack-protector'

Locally applied patches​:
  CYG11 no-bs
  CYG12 no archlib in otherlibdirs
  CYG14 Dynaloader
  CYG15 static-Win32CORE
  CYG17 utf8-paths
  CYG21 LibList-Kid.patch
  CYG22 cygwin-1.7 hints
  CYG23 544-stat
  CYG24 build man pages
  CYG25 rebase_privlib
  Module-Build-0.36_13
  Bug#55162 CYG18 File​::Spec​::case_tolerant performance
  disable ExtUtils​::MakeMaker​::Coverage in Sys-Syslog


@​INC for perl 5.10.1​:
  /usr/lib/perl5/5.10/i686-cygwin
  /usr/lib/perl5/5.10
  /usr/lib/perl5/site_perl/5.10/i686-cygwin
  /usr/lib/perl5/site_perl/5.10
  /usr/lib/perl5/vendor_perl/5.10/i686-cygwin
  /usr/lib/perl5/vendor_perl/5.10
  /usr/lib/perl5/vendor_perl/5.10
  /usr/lib/perl5/site_perl/5.8
  /usr/lib/perl5/vendor_perl/5.8
  .


Environment for perl 5.10.1​:
  HOME=/home/rurban
  LANG=C.UTF-8
  LANGUAGE (unset)
  LD_LIBRARY_PATH (unset)
  LOGDIR (unset)
  PATH=~/bin​:/usr/bin​:/usr/sbin​:/usr/local/sbin​:/usr/local/bin​:/usr/bin​:/bin​:/usr/X11R6/bin​:/cygdrive/c/Programme/PC Connectivity Solution/​:/cygdrive/c/WINDOWS/system32​:/cygdrive/c/WINDOWS​:/usr/bin​:/cyg1/bin​:/cyg1/usr/local/bin​:/cygdrive/c/WINDOWS/System32/Wbem​:/cygdrive/c/Programme/ATI Technologies/ATI.ACE/Core-Static​:/cygdrive/c/Programme/Gemeinsame Dateien/Ulead Systems/MPEG​:/cygdrive/u​:/cygdrive/c/Programme/QuickTime/QTSystem/​:/cygdrive/c/Programme/Perforce​:/cygdrive/c/Programme/Gemeinsame Dateien/Nero/Lib/​:/usr/lib/lapack
  PERL_BADLANG (unset)
  SHELL (unset)

@p5pRT
Copy link
Author

p5pRT commented Mar 31, 2011

From @tonycoz

On Sat, Dec 25, 2010 at 05​:31​:51AM -0800, cygwin@​cygwin.com (via RT) wrote​:

Since Cwd has to be loaded for almost every module as core dependency,
I decided to use it as static_ext.
However this fails now with the following hardcoded wrong deps in
Makefile.SH​:

case $f in
Encode\) extra\_dep="$extra\_dep

$this_target​: lib/auto/Cwd/Cwd.$dlext" ;;
...
SDBM_File) extra_dep="$extra_dep
$this_target​: lib/auto/Cwd/Cwd.$dlext" ;;
esac

Same for Scalar​::Util and List​::Util

dltext should be replaced with LIB_EXT in the case the ext is static.

Well, not exactly, if they need the functionality provided by the XS
part of the module then they need $(PERL_EXE). But that isn't the
case here.

The Encode and SDBM_File dependencies were added because these modules
change directory during the build process, and because @​INC was setup
with relative paths to the directories needed during the build process
these would fail.

With Nicholas' buildcustomize.pl this is no longer an issue.

Removing these dependencies doesn't entirely fix the issue, since the
various utilities also depend on Cwd.

The Scalar/Util dependency is pure noise - Text/ParseWords is pure
perl and never appears in dynamic_ext, and even if this rule
triggered, the root Makefile doesn't have a
lib/auto/Scalar/Util.$dlext target (and no such file is built anyway.)

I have a set of fixes for this in branch tonyc/staticcwd, but I don't
know if this should be applied with the code freeze.

Tony

@p5pRT
Copy link
Author

p5pRT commented Mar 31, 2011

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

@p5pRT
Copy link
Author

p5pRT commented Jun 1, 2012

From @tonycoz

On Thu Mar 31 05​:00​:37 2011, tonyc wrote​:

I have a set of fixes for this in branch tonyc/staticcwd, but I don't
know if this should be applied with the code freeze.

This was applied in 6c5941c and
de4c009, over a year ago, by me.

I guess I can close this ticket now :)

Tony

@p5pRT
Copy link
Author

p5pRT commented Jun 1, 2012

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

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