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

Please Help #9564

Closed
p5pRT opened this issue Nov 12, 2008 · 8 comments
Closed

Please Help #9564

p5pRT opened this issue Nov 12, 2008 · 8 comments

Comments

@p5pRT
Copy link

p5pRT commented Nov 12, 2008

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

Searchable as RT60496$

@p5pRT
Copy link
Author

p5pRT commented Nov 12, 2008

From lokesha.r@lifetreeindia.com

GlacierOutput of ./myconfig

Summary of my perl5 (revision 5 version 8 subversion 4) configuration​:
  Platform​:
  osname=linux, osvers=2.6.9-55.elsmp, archname=x86_64-linux
  uname='linux appserver 2.6.9-55.elsmp #1 smp fri apr 20 16​:36​:54 edt 2007 x86_64 x86_64 x86_64 gnulinux '
  config_args='-de'
  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=define uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
  optimize='-O2',
  cppflags='-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
  ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-8)', gccosandvers=''
  intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
  ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
  alignbytes=8, prototype=define
  Linker and Libraries​:
  ld='ld', ldflags =' -L/usr/local/lib'
  libpth=/usr/local/lib /lib /usr/lib
  libs=
  perllibs=
  libc=/lib/libc-2.3.4.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.3.4'
  Dynamic Linking​:
  dlsrc=dl_none.xs, dlext=none, d_dlsymun=undef, ccdlflags=''
  cccdlflags='', lddlflags=''

Following is the error while make

[mdxsetup@​Appserver perl-5.8.4]$ make
cc -L/usr/local/lib -o miniperl \
  miniperlmain.o opmini.o libperl.a
libperl.a(pp.o)(.text+0x27b3)​: In function `Perl_pp_pow'​:
: undefined reference to `pow'
libperl.a(pp.o)(.text+0x34dc)​: In function `Perl_pp_modulo'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x3504)​: In function `Perl_pp_modulo'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x35cb)​: In function `Perl_pp_modulo'​:
: undefined reference to `fmod'
libperl.a(pp.o)(.text+0x7bd3)​: In function `Perl_pp_atan2'​:
: undefined reference to `atan2'
libperl.a(pp.o)(.text+0x7cb3)​: In function `Perl_pp_sin'​:
: undefined reference to `sin'
libperl.a(pp.o)(.text+0x7dd3)​: In function `Perl_pp_cos'​:
: undefined reference to `cos'
libperl.a(pp.o)(.text+0x8143)​: In function `Perl_pp_exp'​:
: undefined reference to `exp'
libperl.a(pp.o)(.text+0x829d)​: In function `Perl_pp_log'​:
: undefined reference to `log'
libperl.a(pp.o)(.text+0x8467)​: In function `Perl_pp_sqrt'​:
: undefined reference to `sqrt'
libperl.a(pp.o)(.text+0x8605)​: In function `Perl_pp_int'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x8618)​: In function `Perl_pp_int'​:
: undefined reference to `ceil'
libperl.a(pp_pack.o)(.text+0x51c8)​: In function `S_pack_rec'​:
: undefined reference to `floor'
libperl.a(pp_pack.o)(.text+0x51ec)​: In function `S_pack_rec'​:
: undefined reference to `floor'
collect2​: ld returned 1 exit status
make​: *** [miniperl] Error 1

@p5pRT
Copy link
Author

p5pRT commented Nov 12, 2008

@p5pRT
Copy link
Author

p5pRT commented Nov 13, 2008

From @Tux

On Wed, 12 Nov 2008 07​:47​:56 -0800, "Lokesha R" (via RT)
<perlbug-followup@​perl.org> wrote​:

# New Ticket Created by "Lokesha R"
# Please include the string​: [perl #60496]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=60496 >

For 5.8.4 it is a wonder you get this far :)
Why are you building 5.8.4, and not 5.8.8 or 5.10.0?
Why don't you get a predefined package for this linux distro?

GlacierOutput of ./myconfig

Summary of my perl5 (revision 5 version 8 subversion 4) configuration​:
Platform​:
osname=linux, osvers=2.6.9-55.elsmp, archname=x86_64-linux
uname='linux appserver 2.6.9-55.elsmp #1 smp fri apr 20 16​:36​:54 edt 2007 x86_64 x86_64 x86_64 gnulinux '
config_args='-de'
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=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-8)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries​:
ld='ld', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
that is empty, and that is not good!

perllibs=

  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
same here

libc=/lib/libc\-2\.3\.4\.so\, so=so\, useshrplib=false\, libperl=libperl\.a
gnulibc\_version='2\.3\.4'

The above section should look somewhat like this​:

  Linker and Libraries​:
  ld='gcc', ldflags ='-L/usr/local/lib'
  libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
  libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
  libc=/lib/libc-2.5.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.5'

Did you answer any of the questions with something weird?

Dynamic Linking​:
dlsrc=dl_none.xs, dlext=none, d_dlsymun=undef, ccdlflags=''
cccdlflags='', lddlflags=''

Following is the error while make

[mdxsetup@​Appserver perl-5.8.4]$ make
cc -L/usr/local/lib -o miniperl \
miniperlmain.o opmini.o libperl.a
libperl.a(pp.o)(.text+0x27b3)​: In function `Perl_pp_pow'​:
: undefined reference to `pow'
libperl.a(pp.o)(.text+0x34dc)​: In function `Perl_pp_modulo'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x3504)​: In function `Perl_pp_modulo'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x35cb)​: In function `Perl_pp_modulo'​:
: undefined reference to `fmod'
libperl.a(pp.o)(.text+0x7bd3)​: In function `Perl_pp_atan2'​:
: undefined reference to `atan2'
libperl.a(pp.o)(.text+0x7cb3)​: In function `Perl_pp_sin'​:
: undefined reference to `sin'
libperl.a(pp.o)(.text+0x7dd3)​: In function `Perl_pp_cos'​:
: undefined reference to `cos'
libperl.a(pp.o)(.text+0x8143)​: In function `Perl_pp_exp'​:
: undefined reference to `exp'
libperl.a(pp.o)(.text+0x829d)​: In function `Perl_pp_log'​:
: undefined reference to `log'
libperl.a(pp.o)(.text+0x8467)​: In function `Perl_pp_sqrt'​:
: undefined reference to `sqrt'
libperl.a(pp.o)(.text+0x8605)​: In function `Perl_pp_int'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x8618)​: In function `Perl_pp_int'​:
: undefined reference to `ceil'
libperl.a(pp_pack.o)(.text+0x51c8)​: In function `S_pack_rec'​:
: undefined reference to `floor'
libperl.a(pp_pack.o)(.text+0x51ec)​: In function `S_pack_rec'​:
: undefined reference to `floor'
collect2​: ld returned 1 exit status
make​: *** [miniperl] Error 1

Which explains all of the above errors​: You don't have the math library
in there (-lm), so most system functions are missing

--
H.Merijn Brand Amsterdam Perl Mongers http​://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, SuSE 10.1, 10.2, and 10.3, AIX 5.2, and Cygwin.
http​://mirrors.develooper.com/hpux/ http​://www.test-smoke.org/
http​://qa.perl.org http​://www.goldmark.org/jeff/stupid-disclaimers/

@p5pRT
Copy link
Author

p5pRT commented Nov 13, 2008

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

@p5pRT
Copy link
Author

p5pRT commented Nov 13, 2008

From @smpeters

On Thu, Nov 13, 2008 at 9​:11 AM, H.Merijn Brand <h.m.brand@​xs4all.nl> wrote​:

On Wed, 12 Nov 2008 07​:47​:56 -0800, "Lokesha R" (via RT)
<perlbug-followup@​perl.org> wrote​:

# New Ticket Created by "Lokesha R"
# Please include the string​: [perl #60496]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=60496 >

For 5.8.4 it is a wonder you get this far :)
Why are you building 5.8.4, and not 5.8.8 or 5.10.0?
Why don't you get a predefined package for this linux distro?

GlacierOutput of ./myconfig

Summary of my perl5 (revision 5 version 8 subversion 4) configuration​:
Platform​:
osname=linux, osvers=2.6.9-55.elsmp, archname=x86_64-linux
uname='linux appserver 2.6.9-55.elsmp #1 smp fri apr 20 16​:36​:54 edt 2007 x86_64 x86_64 x86_64 gnulinux '
config_args='-de'
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=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-8)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries​:
ld='ld', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
that is empty, and that is not good!

perllibs=
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

same here

libc=/lib/libc\-2\.3\.4\.so\, so=so\, useshrplib=false\, libperl=libperl\.a
gnulibc\_version='2\.3\.4'

The above section should look somewhat like this​:

Linker and Libraries​:
ld='gcc', ldflags ='-L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.5.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.5'

Did you answer any of the questions with something weird?

Dynamic Linking​:
dlsrc=dl_none.xs, dlext=none, d_dlsymun=undef, ccdlflags=''
cccdlflags='', lddlflags=''

Following is the error while make

[mdxsetup@​Appserver perl-5.8.4]$ make
cc -L/usr/local/lib -o miniperl \
miniperlmain.o opmini.o libperl.a
libperl.a(pp.o)(.text+0x27b3)​: In function `Perl_pp_pow'​:
: undefined reference to `pow'
libperl.a(pp.o)(.text+0x34dc)​: In function `Perl_pp_modulo'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x3504)​: In function `Perl_pp_modulo'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x35cb)​: In function `Perl_pp_modulo'​:
: undefined reference to `fmod'
libperl.a(pp.o)(.text+0x7bd3)​: In function `Perl_pp_atan2'​:
: undefined reference to `atan2'
libperl.a(pp.o)(.text+0x7cb3)​: In function `Perl_pp_sin'​:
: undefined reference to `sin'
libperl.a(pp.o)(.text+0x7dd3)​: In function `Perl_pp_cos'​:
: undefined reference to `cos'
libperl.a(pp.o)(.text+0x8143)​: In function `Perl_pp_exp'​:
: undefined reference to `exp'
libperl.a(pp.o)(.text+0x829d)​: In function `Perl_pp_log'​:
: undefined reference to `log'
libperl.a(pp.o)(.text+0x8467)​: In function `Perl_pp_sqrt'​:
: undefined reference to `sqrt'
libperl.a(pp.o)(.text+0x8605)​: In function `Perl_pp_int'​:
: undefined reference to `floor'
libperl.a(pp.o)(.text+0x8618)​: In function `Perl_pp_int'​:
: undefined reference to `ceil'
libperl.a(pp_pack.o)(.text+0x51c8)​: In function `S_pack_rec'​:
: undefined reference to `floor'
libperl.a(pp_pack.o)(.text+0x51ec)​: In function `S_pack_rec'​:
: undefined reference to `floor'
collect2​: ld returned 1 exit status
make​: *** [miniperl] Error 1

Which explains all of the above errors​: You don't have the math library
in there (-lm), so most system functions are missing

I think I know what the problem is. Older Perl's do not have the
hints necessary to find the math libraries on some 64-bit Linux's. I
think this problem was fixed by Perl 5.8.8 and Perl 5.10. Please try
again with a newer Perl.

Steve Peters
steve@​fisharerojo.org

@p5pRT
Copy link
Author

p5pRT commented Nov 13, 2008

From @doughera88

On Thu, 13 Nov 2008, H.Merijn Brand wrote​:

On Wed, 12 Nov 2008 07​:47​:56 -0800, "Lokesha R" (via RT)
<perlbug-followup@​perl.org> wrote​:

# New Ticket Created by "Lokesha R"
# Please include the string​: [perl #60496]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=60496 >

For 5.8.4 it is a wonder you get this far :)
Why are you building 5.8.4, and not 5.8.8 or 5.10.0?
Why don't you get a predefined package for this linux distro?

GlacierOutput of ./myconfig

Summary of my perl5 (revision 5 version 8 subversion 4) configuration​:
Platform​:
osname=linux, osvers=2.6.9-55.elsmp, archname=x86_64-linux
uname='linux appserver 2.6.9-55.elsmp #1 smp fri apr 20 16​:36​:54 > > edt 2007 x86_64 x86_64 x86_64 gnulinux '
config_args='-de'
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=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-8)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries​:
ld='ld', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
that is empty, and that is not good!

I suspect that this is a problem with where Red Hat put its libraries on
the x86_64 systems. I vaguely recall there was some issue with /lib vs.
/lib64. I'm not completely surprised that a 2004-vintage version of
perl's Configure couldn't automatically cope with a 2007-vintage
installation.

If it's crucial to run perl-5.8.4, then running Configure interactively
and including the correct library directories (probably something like
/lib64, /usr/lib64, or /lib/lib64, or /usr/lib/lib64, or some variation on
those themes) will probably come closer to working.

The above section should look somewhat like this​:

Linker and Libraries​:
ld='gcc', ldflags ='-L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.5.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.5'

Did you answer any of the questions with something weird?

He accepted all the defaults -- I just don't think Configure knew about
Red Hat's 64-bit library locations at the time.

--
  Andy Dougherty doughera@​lafayette.edu

@p5pRT
Copy link
Author

p5pRT commented Nov 13, 2008

From @Tux

On Thu, 13 Nov 2008 13​:00​:10 -0500 (EST), Andy Dougherty
<doughera@​lafayette.edu> wrote​:

Linker and Libraries​:
ld='ld', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
that is empty, and that is not good!

I suspect that this is a problem with where Red Hat put its libraries on
the x86_64 systems. I vaguely recall there was some issue with /lib vs.
/lib64. I'm not completely surprised that a 2004-vintage version of
perl's Configure couldn't automatically cope with a 2007-vintage
installation.

Darn, I did those changes myself :)
Why did no bells ring?

____________________________________________________________________________
[ 29603] By​: merijn on 2006/12/20 12​:58​:41
  Log​: Open Configure to the world of 64bitonly environments
  Branch​: perl
  ! Configure
http​://public.activestate.com/cgi-bin/perlbrowse/p/29603

A very short and simple patch to Configure. I'm sure more work was done
later on, but this might fix your problem immediately

If it's crucial to run perl-5.8.4, then running Configure interactively
and including the correct library directories (probably something like
/lib64, /usr/lib64, or /lib/lib64, or /usr/lib/lib64, or some variation on
those themes) will probably come closer to working.
--
H.Merijn Brand Amsterdam Perl Mongers http​://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, SuSE 10.1, 10.2, and 10.3, AIX 5.2, and Cygwin.
http​://mirrors.develooper.com/hpux/ http​://www.test-smoke.org/
http​://qa.perl.org http​://www.goldmark.org/jeff/stupid-disclaimers/

@p5pRT
Copy link
Author

p5pRT commented Nov 14, 2008

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

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

No branches or pull requests

1 participant