Closed p5pRT closed 11 years ago
To whom it may concern\, After running the Configure step and verifying that the config.sh file had the appropriate information for the make step\, I ran the make step. I am getting the following error:
************ . . . `sh cflags "optimize='-O'" pp_sort.o` pp_sort.c CCCMD = gcc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/mysql/include -I/usr/local/ssl/include/openssl -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -O -Wall -W -Wextra -Wdeclaration-after-statement -Wendif-labels `sh cflags "optimize='-O'" opmini.o` -DPERL_EXTERNAL_GLOB opmini.c CCCMD = gcc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/mysql/include -I/usr/local/ssl/include/openssl -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -O -Wall -W -Wextra -Wdeclaration-after-statement -Wendif-labels
gcc -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -o miniperl \ `echo gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o | sed 's/ op.o / /'` \ miniperlmain.o opmini.o Undefined first referenced symbol in file cos pp.o exp pp.o log pp.o pow pp.o sin pp.o ceil pp.o fmod pp.o sqrt pp.o atan2 pp.o floor pp.o ld: fatal: Symbol referencing errors. No output written to miniperl collect2: ld returned 1 exit status *** Error code 1 make: Fatal error: Command failed for target `miniperl' # ****
I have checked that /usr/include does have the math.h include file and that the /usr/lib directory has appropriate lib files. I see that config.h\, perl.h\, and uconfig.h all manipulate the referenced functions based upon some IFDEF's and UNDEF's.
Here is the output of ./myconfig.sh:
**** # ./myconfig Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=solaris\, osvers=2.10\, archname=sun4-solaris uname='sunos jordi 5.10 generic_127111-09 sun4v sparc sunw\,sparc-enterprise-t5120 solaris ' config_args='-Dprefix=/usr/local/perl5 -Dcc=gcc -Dlocincpth=/usr/local/include /usr/local/mysql/include /usr/local/ssl/include/openssl' hint=recommended\, useposix=true\, d_sigaction=define useithreads=undef\, usemultiplicity=undef useperlio=define\, d_sfio=undef\, uselargefiles=define\, usesocks=undef use64bitint=undef\, use64bitall=undef\, uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler: cc='gcc'\, ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/mysql/include -I/usr/local/ssl/include/openssl -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV'\, optimize='-O'\, cppflags='-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/mysql/include -I/usr/local/ssl/include/openssl' ccversion=''\, gccversion='3.4.6'\, gccosandvers='solaris2.10' intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=4321 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16 ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, prototype=define Linker and Libraries: ld='gcc'\, ldflags ='-L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib ' libpth=/usr/local/lib /usr/ccs/lib libs=-lgdbm perllibs= libc=/lib/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags=' ' cccdlflags='-fPIC'\, lddlflags='-G -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib'
#
******************
There must be some missing library reference or an ordering issue with the libraries and define statements\, but there is nothing that stands out.
Please advise.
Nathan K. Reed Programmer/Analyst Supervisor of Records group University of California\, Irvine Office of Admissions and Relations with Schools (949) 824-9631
On Thu\, 25 Sep 2008 10:02:51 -0700\, Nathan Reed (via RT) \perlbug\-followup@​perl\.org wrote:
To whom it may concern\, After running the Configure step and verifying that the config.sh file had the appropriate information for the make step\, I ran the make step. I am getting the following error: : gcc -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -o miniperl \ `echo gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o | sed 's/ op.o / /'` \ miniperlmain.o opmini.o Undefined first referenced symbol in file cos pp.o exp pp.o log pp.o pow pp.o sin pp.o ceil pp.o fmod pp.o sqrt pp.o atan2 pp.o floor pp.o
You're missing the math library\, not the include file. How did it not find libm.a/libm.so/libm.sl?
ld: fatal: Symbol referencing errors. No output written to miniperl collect2: ld returned 1 exit status *** Error code 1 make: Fatal error: Command failed for target `miniperl' : # ./myconfig Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=solaris\, osvers=2.10\, archname=sun4-solaris
We know AIX is known to `hide' libm.a or not ship a version that matches the architecture\, but I have not seen that on Solaris before
uname='sunos jordi 5\.10 generic\_127111\-09 sun4v sparc
sunw\,sparc-enterprise-t5120 solaris ' config_args='-Dprefix=/usr/local/perl5 -Dcc=gcc -Dlocincpth=/usr/local/include /usr/local/mysql/include /usr/local/ssl/include/openssl'
So\, you're building for a 32bit perl\, and you have chosen to answer the questions\, instead of choosing the default answers (I see no -de option)
hint=recommended\, useposix=true\, d\_sigaction=define useithreads=undef\, usemultiplicity=undef useperlio=define\, d\_sfio=undef\, uselargefiles=define\, usesocks=undef use64bitint=undef\, use64bitall=undef\, uselongdouble=undef usemymalloc=n\, bincompat5005=undef
Compiler: cc='gcc'\, ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/mysql/include -I/usr/local/ssl/include/openssl -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV'\, optimize='-O'\, cppflags='-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/local/mysql/include -I/usr/local/ssl/include/openssl' ccversion=''\, gccversion='3.4.6'\, gccosandvers='solaris2.10' intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=4321 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16 ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=8\, prototype=define Linker and Libraries: ld='gcc'\, ldflags ='-L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib ' libpth=/usr/local/lib /usr/ccs/lib libs=-lgdbm ^^^ No -lm here
perllibs=
And this line is frightening empty
Compare to what I have on HP-UX
Linker and Libraries: ld='/usr/bin/ld'\, ldflags ='-L/pro/local/lib +DD64 -L/usr/lib/hpux64' libpth=/pro/local/lib /usr/lib/hpux64 /lib /usr/lib /usr/ccs/lib /usr/local/lib libs=-lcl -lpthread -lnsl -lnm -ldb -ldl -ldld -lm -lsec -lc perllibs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc libc=/usr/lib/hpux64/libc.so\, so=so\, useshrplib=false\, libperl=libperl.a
So my guess is that you have entered '/usr/local/lib /usr/ccs/lib' where Configure came with a much longer list of path elements\, and doing it that way\, you've removed the default list.
libc=/lib/libc\.so\, so=so\, useshrplib=false\, libperl=libperl\.a gnulibc\_version=''
Dynamic Linking: dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags=' ' cccdlflags='-fPIC'\, lddlflags='-G -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib' : There must be some missing library reference or an ordering issue with the libraries and define statements\, but there is nothing that stands out.
-- 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/
The RT System itself - Status changed from 'new' to 'open'
On Fri\, 26 Sep 2008\, H.Merijn Brand wrote:
On Thu\, 25 Sep 2008 10:02:51 -0700\, Nathan Reed (via RT) \perlbug\-followup@​perl\.org wrote:
To whom it may concern\, After running the Configure step and verifying that the config.sh file had the appropriate information for the make step\, I ran the make step. I am getting the following error: : gcc -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -o miniperl \ `echo gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o | sed 's/ op.o / /'` \ miniperlmain.o opmini.o Undefined first referenced symbol in file cos pp.o exp pp.o log pp.o pow pp.o sin pp.o ceil pp.o fmod pp.o sqrt pp.o atan2 pp.o floor pp.o
You're missing the math library\, not the include file. How did it not find libm.a/libm.so/libm.sl?
So\, you're building for a 32bit perl\, and you have chosen to answer the questions\, instead of choosing the default answers (I see no -de option)
Yes\, that's what happened. It's a reasonable thing to do\, but for some reason it's also a common thing for users to delete the list of directories to search for libraries.
libpth=/usr/local/lib /usr/ccs/lib
So my guess is that you have entered '/usr/local/lib /usr/ccs/lib' where Configure came with a much longer list of path elements\, and doing it that way\, you've removed the default list.
Yes. That's the culprit. It's missing /usr/lib at the very least.
To fix this\, you need to start at the very beginning all over again. See the section
=item Missing functions and Undefined symbols
in the INSTALL file for more information.
-- Andy Dougherty doughera@lafayette.edu
On Fri Sep 26 05:22:53 2008\, doughera wrote:
On Fri\, 26 Sep 2008\, H.Merijn Brand wrote:
On Thu\, 25 Sep 2008 10:02:51 -0700\, Nathan Reed (via RT) \perlbug\-followup@​perl\.org wrote:
To whom it may concern\, After running the Configure step and verifying that the config.sh file had the appropriate information for the make step\, I ran the make step. I am getting the following error: : gcc -L/usr/local/lib -L/usr/local/BerkeleyDB.4.2/lib -o miniperl \ `echo gv.o toke.o perly.o op.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o perl.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o | sed 's/ op.o / /'` \ miniperlmain.o opmini.o Undefined first referenced symbol in file cos pp.o exp pp.o log pp.o pow pp.o sin pp.o ceil pp.o fmod pp.o sqrt pp.o atan2 pp.o floor pp.o
You're missing the math library\, not the include file. How did it not find libm.a/libm.so/libm.sl?
So\, you're building for a 32bit perl\, and you have chosen to answer the questions\, instead of choosing the default answers (I see no -de option)
Yes\, that's what happened. It's a reasonable thing to do\, but for some reason it's also a common thing for users to delete the list of directories to search for libraries.
libpth=/usr/local/lib /usr/ccs/lib
So my guess is that you have entered '/usr/local/lib /usr/ccs/lib' where Configure came with a much longer list of path elements\, and doing it that way\, you've removed the default list.
Yes. That's the culprit. It's missing /usr/lib at the very least.
To fix this\, you need to start at the very beginning all over again. See the section
=item Missing functions and Undefined symbols
in the INSTALL file for more information.
H.Merijn Brand and Andy Dougherty appear to have given reasonable responses to the original poster's problem\, which appears to have been at least partially self-induced.
I am therefore marking this ticket resolved.
Thank you very much. Jim Keenan
@jkeenan - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#59332 (status was 'resolved')
Searchable as RT59332$