Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.97k stars 560 forks source link

Problems Compiling Perl #858

Closed p5pRT closed 20 years ago

p5pRT commented 25 years ago

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

Searchable as RT1788$

p5pRT commented 25 years ago

From dreimann@netspeak.com

[root@​webdev perl5.005_03]# ./myconfig Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration​: Platform​: osname=linux\, osvers=2.0.33\, archname=mips-linux uname='linux webdev.engineering.netspeak.com 2.0.33 #1 tue mar 10 18​:00​:37 pst 1998 mips unknown ' hint=recommended\, useposix=true\, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler​: cc='cc'\, optimize='-O2'\, gccversion=2.7.2 cppflags='-Dbool=char -DHAS_BOOL' ccflags ='-Dbool=char -DHAS_BOOL' stdchar='char'\, d_stdstdio=define\, usevfork=false intsize=4\, longsize=4\, ptrsize=4\, doublesize=8 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=8 alignbytes=8\, usemymalloc=n\, prototype=define Linker and Libraries​: ld='ld'\, ldflags ='' libpth= libs= libc=\, so=so\, useshrplib=false\, libperl=libperl.a Dynamic Linking​: dlsrc=dl_none.xs\, dlext=none\, d_dlsymun=undef\, ccdlflags='' cccdlflags=''\, lddlflags=''

[root@​webdev perl5.005_03]#

And the failure​:

[root@​webdev perl5.005_03]# pwd /home/httpd/html/users/dreimann/perl5.005_03 [root@​webdev perl5.005_03]# make `sh cflags libperl.a miniperlmain.o` miniperlmain.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a perl.o` perl.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a gv.o` gv.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a toke.o` toke.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a perly.o` perly.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a op.o` op.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a regcomp.o` regcomp.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a dump.o` dump.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a util.o` util.c C! CCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a mg.o` mg.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a byterun.o` byterun.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a hv.o` hv.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a av.o` av.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a run.o` run.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a pp_hot.o` pp_hot.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a sv.o` sv.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a pp.o` pp.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a scope.o` scope.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a pp_ctl.o! ` pp_ctl.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a pp_sys.o` pp_sys.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a doop.o` doop.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a doio.o` doio.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a regexec.o` regexec.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a taint.o` taint.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a deb.o` deb.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a universal.o` universal.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a globals.o` globals.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -O2 `sh cflags libperl.a perlio.o` perlio.c CCCMD = cc -DPERL_CO! RE -c -Dbool=char -DHAS_BOOL -O2 rm -f libperl.a /usr/bin/ar rcu libperl.a perl.o gv.o toke.o perly.o op.o regcomp.o dump.o util .o mg.o byterun.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o d oop.o doio.o regexec.o taint.o deb.o universal.o globals.o perlio.o cc -o miniperl miniperlmain.o libperl.a libperl.a(pp.o)​: In function `Perl_pp_pow'​: pp.c(.text+0x35dc)​: undefined reference to `pow' libperl.a(pp.o)​: In function `Perl_pp_atan2'​: pp.c(.text+0x9138)​: undefined reference to `atan2' libperl.a(pp.o)​: In function `Perl_pp_sin'​: pp.c(.text+0x92dc)​: undefined reference to `sin' libperl.a(pp.o)​: In function `Perl_pp_cos'​: pp.c(.text+0x94c0)​: undefined reference to `cos' libperl.a(pp.o)​: In function `Perl_pp_exp'​: pp.c(.text+0x9bfc)​: undefined reference to `exp' libperl.a(pp.o)​: In function `Perl_pp_log'​: pp.c(.text+0x9e60)​: undefined reference to `log' libperl.a(pp.o)​: In function `Perl_pp_sqrt'​: pp.c(.text+0xa0cc)​: undefined reference to `sqrt' libperl.a(pp.o)​: In function `Perl_pp_pack'​: pp.c(.text+0x136a0)​: undefined reference to `floor' pp.c(.text+0x1391c)​: undefined reference to `floor' make​: *** [miniperl] Error 1 [root@​webdev perl5.005_03]#

-- Privacy and Confidentiality Notice The information contained in this transmission is intended for the above-named recipient(s) only and contains privileged and confidential information. If the reader of this message is not an intended recipient\, you are strictly prohibited from using\, copying\, distributing\, or taking any action in reliance on such information. If you have received this communication in error\, please notify us immediately.

p5pRT commented 25 years ago

From @doughera88

On Tue\, 16 Nov 1999\, Daniel Reimann wrote​:

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration​:

Linker and Libraries​:

libs=

cc -o miniperl miniperlmain.o libperl.a libperl.a(pp.o)​: In function `Perl_pp_pow'​: pp.c(.text+0x35dc)​: undefined reference to `pow'

[etc.]

The problem is that you have told Configure to not use any libraries\, but some are needed. Specifically\, when Configure ran it should have suggested a list of libraries something like

  -lnsl -lndbm -lgdbm -ldbm -ldb -ldl -lm -lc -lposix -lcrypt

You should have accepted that default list.

Some folks have found the relevant Configure prompt confusing. Here's what it says in the current development track​:

  In order to compile perl5 on your machine\, a number of libraries are   usually needed. Include any other special libraries here as well. Say   "none" for none. The default list is almost always right.

Hope this helps\,

  Andy Dougherty doughera@​lafayette.edu   Dept. of Physics   Lafayette College\, Easton PA 18042

p5pRT commented 25 years ago

From [Unknown Contact. See original ticket]

Hi. I wanted to attach the output of myconfig and also what happened when I was running make so that you could see it. Please let me know if I can do anything! =)

You're obviously missing the math library. Rerun configure manually\, using the right hint file (linux) and check the '-lm' ld flag is there (it was for me\, it should for you).

François Désarménien