Perl / perl5

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

Cannot compile perl-5.6.1 on Irix 6.5.11 #5458

Closed p5pRT closed 15 years ago

p5pRT commented 22 years ago

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

Searchable as RT9328$

p5pRT commented 22 years ago

From mmokrejs@natur.cuni.cz

Hi\,   I'm trying to compile new release\, but it fails at​:

`sh cflags libperl.a perlio.o` perlio.c   CCCMD = cc -n32 -DPERL_CORE -c -D_BSD_TYPES -D_BSD_TIME -woff 1009\,1110\,1174\,1184\,1552 -OPT​:Olimit=0​:space=ON -I/usr/local/include -DLANGUAGE_C -O3 cc-1143 cc​: ERROR File = perlio.c\, Line = 549   Declaration is incompatible with "int vprintf(const char *\, char *)" (declared   at line 242 of "/usr/include/stdio.h").

  vprintf(char *pat\, char *args)   ^

cc-1143 cc​: ERROR File = perlio.c\, Line = 556   Declaration is incompatible with "int vfprintf(FILE *\, const char *\, char *)"   (declared at line 241 of "/usr/include/stdio.h").

  vfprintf(FILE *fd\, char *pat\, char *args)   ^

2 errors detected in the compilation of "perlio.c". make​: *** [perlio.o] Error 2

  I tried google search to find some patch\, but no luck. Also looking into tlates devel tre doesn't show any difference in definition of these two in perlio.c.

Any ideas? TIA -- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3616 \, fax​: +49-89-3187 3585

p5pRT commented 22 years ago

From @doughera88

On Tue\, 14 May 2002\, [Iso-8859-2] Martin mokrej© wrote​:

Hi\, I'm trying to compile new release\, but it fails at​:

`sh cflags libperl.a perlio.o` perlio.c CCCMD = cc -n32 -DPERL_CORE -c -D_BSD_TYPES -D_BSD_TIME -woff 1009\,1110\,1174\,1184\,1552 -OPT​:Olimit=0​:space=ON -I/usr/local/include -DLANGUAGE_C -O3 cc-1143 cc​: ERROR File = perlio.c\, Line = 549 Declaration is incompatible with "int vprintf(const char *\, char *)" (declared at line 242 of "/usr/include/stdio.h").

vprintf(char *pat\, char *args)

[and similar error for vprintf]

Odd. A simple fix might be to edit the perlio.c source and add in the 'const' that your compiler is apparently insisting upon.

The problem may be deeper\, however. Your compiler should only be trying to compile that code if your system doesn't have a vprintf() function of its own. It would be odd (but not unheard of) to have a prototype in the headers for the function but to not actually have the function in the C library.

Configure tests for the presence of vprintf. It's possible Configure got it wrong. If it did\, it's also possible that Configure got a bunch of other things wrong too. See the section

  =item vsprintf

in the INSTALL file for more details.

Hope this helps\,

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

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

Hi\,   I'went through the manual configuration process\, and I got​:

[...] \<ndbm.h> found.

dbm_open() NOT found. We won't be including \<ndbm.h>

\<net/errno.h> NOT found.

\<netinet/tcp.h> found.

\<poll.h> found.

\<prot.h> NOT found.

Guessing which symbols your C compiler and preprocessor define... ld32​: WARNING 84 : /usr/lib32/mips3/libm.so is not used for resolving any symbol. Your C compiler and pre-processor define these symbols​: _COMPILER_VERSION __DSO__ __EXTENSIONS__ __INLINE_INTRINSICS __MATH_HAS_NO_SIDE_EFFECTS host_mips mips sgi unix

Your C pre-processor also defines the following symbols​: LANGUAGE_C _LANGUAGE_C _LONGLONG MIPSEB _MIPSEB _MIPS_FPSET _MIPS_ISA _MIPS_SIM _MIPS_SZINT _MIPS_SZLONG _MIPS_SZPTR _MODERN_C _PIC _SGI_SOURCE _SIZE_INT _SIZE_LONG _SIZE_PTR __STDC__ _SVR4_SOURCE _SYSTYPE_SVR4 __host_mips __mips __sgi __unix

Your C compiler further defines the following cpp symbols​: LANGUAGE_C MIPSEB _ABIN32=2 _LANGUAGE_C _LONGLONG _MIPSEB _MIPS_FPSET=32 _MIPS_ISA=3 _MIPS_SIM=_ABIN32 _MIPS_SZINT=32 _MIPS_SZLONG=32 _MIPS_SZPTR=32 _MODERN_C _PIC _SGI_SOURCE _SIZE_INT=32 _SIZE_LONG=32 _SIZE_PTR=32 _SVR4_SOURCE _SYSTYPE_SVR4 __host_mips __mips=3 __sgi __unix

tcsetattr() NOT found.

../Cppsym[3]​: ./Cppsym.try​: not found \<sgtty.h> found.

------------------------------------^ !

\<shadow.h> found.

\<stdarg.h> found.

[...]

\<syslog.h> found.

\<sys/mode.h> found.

*** WHOA THERE!!! ***   The recommended value for $i_sysmode on this machine was "undef"!   Keep the recommended value? [y]

-----------------^ ???

\<sys/resource.h> found.

\<sys/security.h> NOT found.

[...]

I see in config.sh​:

d_vprintf='undef'

You're right\, there were many other's not found. I think the nm method should be disabled in such case\, or there should be some test of nm fucntinality in the Configure. For example\, crypt() should exist\, right?

Please find attached more hints\, sorry for the length. ;) -- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3616 \, fax​: +49-89-3187 3585

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

The `nm' extraction really caused trouble in this case​:

bcmp() NOT found.

bcopy() NOT found.

\<unistd.h> found.

getpgrp() NOT found.

setpgrp() NOT found.

bzero() NOT found.

You have void (*signal())().

Checking whether your C compiler can cast large floats to int32. ld32​: WARNING 84 : /usr/lib32/mips3/libm.so is not used for resolving any symbol. Yup\, it can.

Checking whether your C compiler can cast negative float to unsigned. ld32​: WARNING 84 : /usr/lib32/mips3/libm.so is not used for resolving any symbol. Yup\, it can.

vprintf() NOT found.

chown() NOT found.

chroot() NOT found.

chsize() NOT found.

Checking to see if your C compiler knows about "const"... Yup\, it does.

crypt() NOT found.

cuserid() NOT found.

and after fixing manually the d_vprintf in config.sh I run make depend and then make and after a while I got​:

`sh cflags libperl.a pp_sys.o` pp_sys.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 cc-1174 cc​: WARNING File = pp_sys.c\, Line = 565   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 649   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 650   The variable "anum" was declared but never referenced.

  Mode_t anum;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 899   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 899   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1552 cc​: WARNING File = pp_sys.c\, Line = 1192   The variable "newsp" is set but never used.

  SV **newsp;   ^

cc-1552 cc​: WARNING File = pp_sys.c\, Line = 1193   The variable "gimme" is set but never used.

  I32 gimme;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 1329   The variable "n_a" was declared but never referenced.

  STRLEN n_a;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2012   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2012   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2013   The variable "value" was declared but never referenced.

  I32 value;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2014   The variable "argtype" was declared but never referenced.

  int argtype;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2015   The variable "gv" was declared but never referenced.

  GV *gv;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2016   The variable "io" was declared but never referenced.

  IO *io = NULL;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2017   The variable "fp" was declared but never referenced.

  PerlIO *fp;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2052   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2101   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2155   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2214   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2244   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2270   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2270   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2335   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2335   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2368   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 2449   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3227   The variable "sp" was declared but never referenced.

  dSP; dMARK; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3227   The variable "targ" was declared but never referenced.

  dSP; dMARK; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3228   The variable "value" was declared but never referenced.

  I32 value;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3241   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3241   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3242   The variable "tmps" was declared but never referenced.

  char *tmps;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3313   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3328   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3328   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3343   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3502   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3529   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3587   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3587   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3615   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3638   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3659   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3776   The variable "childpid" was declared but never referenced.

  Pid_t childpid;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3778   The variable "status" was declared but never referenced.

  int status;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3779   The variable "ihand" was declared but never referenced.

  Sigsave_t ihand\,qhand; /* place to save signals during system() */   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3779   The variable "qhand" was declared but never referenced.

  Sigsave_t ihand\,qhand; /* place to save signals during system() */   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3781   The variable "did_pipes" was declared but never referenced.

  I32 did_pipes = 0;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 3782   The variable "pp" was declared but never referenced.

  int pp[2];   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4018   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4018   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4019   The variable "which" was declared but never referenced.

  int which;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4020   The variable "who" was declared but never referenced.

  int who;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4033   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4033   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4034   The variable "which" was declared but never referenced.

  int which;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4035   The variable "who" was declared but never referenced.

  int who;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4036   The variable "niceval" was declared but never referenced.

  int niceval;   ^

cc-1164 cc​: WARNING File = pp_sys.c\, Line = 4057   Argument of type "int *" is incompatible with parameter of type "time_t *".

  XPUSHi( time(Null(Time_t*)) );   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4080   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1164 cc​: WARNING File = pp_sys.c\, Line = 4120   Argument of type "int *" is incompatible with parameter of type "time_t *".

  (void)time(&when);   ^

cc-1164 cc​: WARNING File = pp_sys.c\, Line = 4129   Argument of type "int *" is incompatible with parameter of type   "const time_t *".

  tmbuf = localtime(&when);   ^

cc-1164 cc​: WARNING File = pp_sys.c\, Line = 4131   Argument of type "int *" is incompatible with parameter of type   "const time_t *".

  tmbuf = gmtime(&when);   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4165   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4165   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4166   The variable "anum" was declared but never referenced.

  int anum;   ^

cc-1164 cc​: WARNING File = pp_sys.c\, Line = 4187   Argument of type "int *" is incompatible with parameter of type "time_t *".

  (void)time(&lasttime);   ^

cc-1164 cc​: WARNING File = pp_sys.c\, Line = 4194   Argument of type "int *" is incompatible with parameter of type "time_t *".

  (void)time(&when);   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4339   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4448   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4536   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4619   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4709   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4720   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4731   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4742   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4753   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4765   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4777   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 4789   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 5033   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 5044   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 5132   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 5143   The variable "sp" was declared but never referenced.

  dSP;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 5154   The variable "sp" was declared but never referenced.

  dSP; dTARGET;   ^

cc-1174 cc​: WARNING File = pp_sys.c\, Line = 5154   The variable "targ" was declared but never referenced.

  dSP; dTARGET;   ^

`sh cflags libperl.a doop.o` doop.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 cc-1174 cc​: WARNING File = doop.c\, Line = 197   The variable "p" was declared but never referenced.

  U8* p = send;   ^

cc-1552 cc​: WARNING File = doop.c\, Line = 372   The variable "uv" is set but never used.

  UV uv;   ^

`sh cflags libperl.a doio.o` doio.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 cc-1174 cc​: WARNING File = doio.c\, Line = 1438   The variable "val2" was declared but never referenced.

  register I32 val2;   ^

`sh cflags libperl.a regexec.o` regexec.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 cc-1174 cc​: WARNING File = regexec.c\, Line = 2918   The variable "lastcp" was declared but never referenced.

  CHECKPOINT lastcp;   ^

cc-1174 cc​: WARNING File = regexec.c\, Line = 1909   The variable "firstcp" was declared but never referenced.

  I32 firstcp = PL_savestack_ix;   ^

`sh cflags libperl.a utf8.o` utf8.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 `sh cflags libperl.a taint.o` taint.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 `sh cflags libperl.a deb.o` deb.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 `sh cflags libperl.a universal.o` universal.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 `sh cflags libperl.a xsutils.o` xsutils.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 cc-1174 cc​: WARNING File = xsutils.c\, Line = 109   The variable "items" was declared but never referenced.

  dXSARGS;   ^

`sh cflags libperl.a globals.o` globals.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 `sh cflags libperl.a perlio.o` perlio.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 `sh cflags libperl.a perlapi.o` perlapi.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 rm -f libperl.a /usr/bin/ar rcu libperl.a perl.o malloc.o gv.o toke.o perly.o op.o regcomp.o dump.o util.o mg.o hv.o av.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 rm -f opmini.c cp op.c opmini.c `sh cflags libperl.a opmini.o` -DPERL_EXTERNAL_GLOB opmini.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -I/software/@​sys/usr/include -I/usr/local/include -O3 -n32 -TARG​:platform=IP22 cc-1174 cc​: WARNING File = opmini.c\, Line = 2381   The variable "kid" was declared but never referenced.

  OP *kid;   ^

cc-1174 cc​: WARNING File = opmini.c\, Line = 2382   The variable "last" was declared but never referenced.

  OP *last = 0;   ^

cc-1174 cc​: WARNING File = opmini.c\, Line = 2675   The variable "cl" was declared but never referenced.

  I32* cl;   ^

cc-1552 cc​: WARNING File = opmini.c\, Line = 3893   The variable "condop" is set but never used.

  OP *condop;   ^

rm -f opmini.c cc -L/software/@​sys/usr/lib -o miniperl \   miniperlmain.o opmini.o libperl.a -lm -lc ld32​: ERROR 33 : Unresolved text symbol "do_aspawn" -- 1st referenced by libperl.a(pp_sys.o).   Use linker option -v to see when and which objects\, archives and dsos are loaded.
ld32​: ERROR 33 : Unresolved text symbol "do_spawn" -- 1st referenced by libperl.a(pp_sys.o).   Use linker option -v to see when and which objects\, archives and dsos are loaded.
ld32​: INFO 152​: Output file removed because of error. make​: *** [miniperl] Error 2

So I have started from scratch and not used nm extraction\, and that's what I got​:

bcmp() found.

bcopy() found.

\<unistd.h> found.

getpgrp() found.

Checking to see which flavor of getpgrp is in use... (I see you are running Configure as super-user...) You have to use getpgrp() instead of getpgrp(pid).

setpgrp() found.

Checking to see which flavor of setpgrp is in use... (I see you are running Configure as super-user...) You have to use setpgrp() instead of setpgrp(pid\,pgrp).

bzero() found.

You have void (*signal())().

Checking whether your C compiler can cast large floats to int32. Yup\, it can.

Checking whether your C compiler can cast negative float to unsigned. Yup\, it can.

vprintf() found. Your vsprintf() returns (int).

chown() found.

chroot() found.

chsize() NOT found.

Checking to see if your C compiler knows about "const"... Yup\, it does.

crypt() found.

Looks much better! You may pick up one of those for the test case. ;)

I do not understand much this​: Checking for optional libraries... No -lsfio. Found -lbind. No -linet. No -lnm. No -lndbm. No -lgdbm. No -ldbm. Found -ldb (shared). No -ldld. No -lld. Found -lm (shared). Found -lc (shared). No -lcposix. No -lposix. No -lndir. No -ldir. No -lsec. No -lucb. No -lBSD. No -lx. No -liconv. No -lutil.

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.

What libraries to use? [-lbind -ldb -lm -lc] -lc

Are there LDFLAGS to be used for all binaries? Then I don want to see warnings that mnost of these libraries haven't been used to resolved for symbols\, so I'd stick with -lc only. Is that OK?


To help you with some more cleanup\, here're some warnings​:

`sh cflags libperl.a gv.o` gv.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -OPT​:Olimit=0 -O3 cc-1552 cc​: WARNING File = gv.c\, Line = 740   The variable "sig_num" is set but never used.

  int sig_num[] = { SIG_NUM };   ^

cc-1174 cc​: WARNING File = gv.c\, Line = 1152   The variable "n_a" was declared but never referenced.

  STRLEN n_a;   ^

cc-1184 cc​: WARNING File = gv.c\, Line = 1437   "=" is used where where "==" may have been intended.

  && (cvp=ocvp) && (lr = -1))   ^

cc-1184 cc​: WARNING File = gv.c\, Line = 1438   "=" is used where where "==" may have been intended.

  || (cvp && amtp->fallback > AMGfallNEVER && (lr=1)))   ^

cc-1552 cc​: WARNING File = gv.c\, Line = 1313   The variable "fl" is set but never used.

  int fl=0\, off\, off1\, lr=0\, assign=AMGf_assign & flags\, notfound=0;   ^

cc-1552 cc​: WARNING File = gv.c\, Line = 1315   The variable "stash" is set but never used.

  HV* stash;   ^

[...]

`sh cflags libperl.a regcomp.o` regcomp.c   CCCMD = cc -DPERL_CORE -c -O3 -n32 -TARG​:platform=IP22 -OPT​:Olimit=0 -O3 cc-1552 cc​: WARNING File = regcomp.c\, Line = 977   The variable "nxt2" is set but never used.

  regnode *nxt1 = nxt\, *nxt2;   ^

cc-1184 cc​: WARNING File = regcomp.c\, Line = 1656   "=" is used where where "==" may have been intended.

  while ((OP(first) == OPEN && (sawopen = 1)) ||   ^

cc-1174 cc​: WARNING File = regcomp.c\, Line = 1810   The variable "sv" was declared but never referenced.

  SV *sv;   ^

cc-1174 cc​: WARNING File = regcomp.c\, Line = 1861   The variable "sv" was declared but never referenced.

  SV *sv;   ^

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

Hi\,   I've a folloup to my last mail. What shall I do withg this?​:

make[1]​: Entering directory `/software/scratch/perl-5.6.1/ext/B' rm -f ../../lib/auto/B/B.so LD_RUN_PATH="" cc -L/software/@​sys/usr/lib -L/usr/local/BerkeleyDB.4.0/lib -L/usr/local/BerkeleyDB.3.3/lib -L/usr/local/lib B.o -o ../../lib/auto/B/B.so
ld32​: ERROR 33 : Unresolved text symbol "main" -- 1st referenced by /usr/lib32/mips3/crt1.o.   Use linker option -v to see when and which objects\, archives and dsos are loaded.
ld32​: ERROR 33 : Unresolved text symbol "Perl_warn" -- 1st referenced by B.o.   Use linker option -v to see when and which objects\, archives and dsos are loaded.
ld32​: ERROR 33 : Unresolved text symbol "Perl_newSVrv" -- 1st referenced by B.o.   Use linker option -v to see when and which objects\, archives and dsos are loaded.
[...]

-- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3616 \, fax​: +49-89-3187 3585

p5pRT commented 22 years ago

From @tux

On Thu 16 May 2002 09​:49\, Martin MOKREJŠ \mmokrejs@&#8203;natur\.cuni\.cz wrote​:

Hi\, I'went through the manual configuration process\, and I got​:

[...] \<ndbm.h> found.

Can you invoke 'Configure -Dusenm=n -de' and not answer 'y' to use nm to extract symbols.

-- H.Merijn Brand Amsterdam Perl Mongers (http​://amsterdam.pm.org/) using perl-5.6.1\, 5.7.3 & 631 on HP-UX 10.20 & 11.00\, AIX 4.2\, AIX 4.3\,   WinNT 4\, Win2K pro & WinCE 2.11. Smoking perl CORE​: smokers@​perl.org http​://archives.develooper.com/daily-build@​perl.org/ perl-qa@​perl.org send smoke reports to​: smokers-reports@​perl.org\, QA​: http​://qa.perl.org

************************************************************** Scanned by MailScan Content-Security and Anti-Virus Software. Visit http​://www.mwti.net for more info on eScan and MailScan. **************************************************************

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

Hi\,   as I'm still unable to compile perl-5.6.1\, I've downloaded perl-5.8.0RC1 and did​:

Configure -Dusenm=n -de

and I got​:

[...]

bzero() found.

You have void (*signal())().

Checking whether your C compiler can cast large floats to int32. Yup\, it can.

*** WHOA THERE!!! ***   The recommended value for $d_casti32 on this machine was "undef"!   Keep the recommended value? [y]

Checking whether your C compiler can cast negative float to unsigned. Yup\, it can.

vprintf() found. Your vsprintf() returns (int).

[....]

\<sys/mode.h> found.

*** WHOA THERE!!! ***   The recommended value for $i_sysmode on this machine was "undef"!   Keep the recommended value? [y]

[...]

make test gave me​:

[...] ext/IO/lib/IO/t/io_linenum...........ok ext/IO/lib/IO/t/io_multihomed........Unsupported socket function "getprotobyname" called at ../lib/IO/Socket/INET.pm line 45. FAILED at test 1 ext/IO/lib/IO/t/io_pipe..............ok ext/IO/lib/IO/t/io_poll..............ok ext/IO/lib/IO/t/io_sel...............ok ext/IO/lib/IO/t/io_sock..............Unsupported socket function "getprotobyname" called at ../lib/IO/Socket/INET.pm line 45. FAILED at test 1 ext/IO/lib/IO/t/io_taint.............ok ext/IO/lib/IO/t/io_tell..............ok ext/IO/lib/IO/t/io_udp...............Unsupported socket function "getprotobyname" called at ../lib/IO/Socket/INET.pm line 45. FAILED at test 1 ext/IO/lib/IO/t/io_unix..............ok ext/IO/lib/IO/t/io_xs................ok [...] lib/Memoize/t/unmemoize..............ok lib/Net/hostent......................Unsupported socket function "gethostbyname" called at ../lib/Net/hostent.pm line 45. # Looks like you planned 7 tests but only ran 1. # Looks like your test died just after 1. FAILED at test 2 lib/Net/netent.......................skipping test on this platform lib/Net/Ping/t/100_load..............ok lib/Net/Ping/t/110_icmp_inst.........Unsupported socket function "getprotobyname" called at ../lib/Net/Ping.pm line 113. FAILED at test 2 lib/Net/Ping/t/120_udp_inst..........Unsupported socket function "getservbyname" called at ../lib/Net/Ping/t/120_udp_inst.t line 9. BEGIN failed--compilation aborted at ../lib/Net/Ping/t/120_udp_inst.t line 13. FAILED at test 0 lib/Net/Ping/t/130_tcp_inst..........Unsupported socket function "getservbyname" called at ../lib/Net/Ping/t/130_tcp_inst.t line 8. BEGIN failed--compilation aborted at ../lib/Net/Ping/t/130_tcp_inst.t line 12. FAILED at test 0 lib/Net/Ping/t/140_stream_inst.......Unsupported socket function "getservbyname" called at ../lib/Net/Ping/t/140_stream_inst.t line 8. BEGIN failed--compilation aborted at ../lib/Net/Ping/t/140_stream_inst.t line 12. FAILED at test 0 lib/Net/Ping/t/200_ping_tcp..........skipping test on this platform lib/Net/Ping/t/250_ping_hires........skipping test on this platform lib/Net/Ping/t/300_ping_stream.......skipping test on this platform lib/Net/protoent.....................skipping test on this platform lib/Net/servent......................skipping test on this platform lib/Net/t/config.....................ok lib/Net/t/ftp........................skipping test on this platform lib/Net/t/hostname...................ok lib/Net/t/netrc......................ok lib/Net/t/nntp.......................skipping test on this platform lib/Net/t/require....................ok lib/Net/t/smtp.......................skipping test on this platform lib/Net/t/time.......................Unsupported socket function "getservbyname" called at ../lib/Net/Time.pm line 30. FAILED at test 3 lib/NEXT/t/actual....................ok [...]

Inspecting config.h I see​:

/* HAS_GETPROTOENT​: * This symbol\, if defined\, indicates that the getprotoent() routine is * available to look up protocols in some data base or another. */ /*#define HAS_GETPROTOENT / **/

/* HAS_GETPGRP​: * This symbol\, if defined\, indicates that the getpgrp routine is * available to get the current process group. */ /* USE_BSD_GETPGRP​: * This symbol\, if defined\, indicates that getpgrp needs one * arguments whereas USG one needs none. */ #define HAS_GETPGRP /**/ /*#define USE_BSD_GETPGRP / **/

/* HAS_GETPROTOBYNAME​: * This symbol\, if defined\, indicates that the getprotobyname() * routine is available to look up protocols by their name. */ /* HAS_GETPROTOBYNUMBER​: * This symbol\, if defined\, indicates that the getprotobynumber() * routine is available to look up protocols by their number. */ /*#define HAS_GETPROTOBYNAME / **/ /*#define HAS_GETPROTOBYNUMBER / **/

[...]

/* HAS_GETSERVBYNAME​: * This symbol\, if defined\, indicates that the getservbyname() * routine is available to look up services by their name. */ /* HAS_GETSERVBYPORT​: * This symbol\, if defined\, indicates that the getservbyport() * routine is available to look up services by their port. */ /*#define HAS_GETSERVBYNAME / **/ /*#define HAS_GETSERVBYPORT / **/

Also\, config.sh has​:

d_getpgrp2='undef' d_getpgrp='define' d_getppid='define' d_getprior='define' d_getprotobyname_r='undef' d_getprotobynumber_r='undef' d_getprotoent_r='undef' d_getprotoprotos='define' d_getprpwnam='undef' d_getpwent='define' d_getpwent_r='undef' d_getpwnam_r='undef' d_getpwuid_r='undef' d_getsbyname='undef' d_getsbyport='undef' d_getsent='undef' d_getservbyname_r='undef' d_getservbyport_r='undef' d_getservent_r='undef' d_getservprotos='define' d_getspnam='define' d_getspnam_r='undef'

There's a problem with configure. When it uses -n32 option\, it should set then LD_LIBRARYN32_PATH and not LD_LIBRARY_PATH. I think same applies to LD_RUN_PATH.

LIBRARY SEARCH PATHS   NOTE​: Because there are three distinct ABIs used by IRIX programs   with accompanying libraries\, there are three distinct sets of rld   search paths. In addition\, there are usually 3 environment variables   for each purpose\, one for each ABI.

  The default library search path for old 32-bit ABI programs is

/usr/lib​:/usr/lib/internal​:/lib​:/lib/cmplrs/cc​:/usr/lib/cmplrs/cc​:/opt/lib\,   which can be overridden by either the _RLD_ROOT or the LD_LIBRARY_PATH   environment variable.

  The default library search path for 64-bit ABI programs is   /usr/lib64​:/usr/lib64/internal​:/lib64​:/opt/lib64\, which can be   overridden by either the _RLD64_ROOT or the LD_LIBRARY64_PATH   environment variable.

  The default library search path for new 32-bit ABI programs is   /usr/lib32​:/usr/lib32/internal​:/lib32​:/opt/lib32\, which can be   overridden by either the _RLDN32_ROOT or the LD_LIBRARYN32_PATH   environment variable.

  For new 32-bit or 64-bit programs\, if LD_LIBRARYN32_PATH or   LD_LIBRARY64_PATH is not specified\, rld honors LD_LIBRARY_PATH\, if   specified. As a result\, if LD_LIBRARY_PATH is set for an old 32-bit   program\, it is recommended that you also set LD_LIBRARYN32_PATH and   LD_LIBRARY64_PATH to something (""\, for example) to avoid having   LD_LIBRARY_PATH apply accidentally to new 32-bit and 64-bit   applications in that environment.

[...] Writing Makefile for DB_File make[1]​: Entering directory `/software/scratch/perl-5.8.0-RC1/ext/DB_File' make[1]​: Leaving directory `/software/scratch/perl-5.8.0-RC1/ext/DB_File' make[1]​: Entering directory `/software/scratch/perl-5.8.0-RC1/ext/DB_File' cp DB_File.pm ../../lib/DB_File.pm AutoSplitting ../../lib/DB_File.pm (../../lib/auto/DB_File) cc -n32 -c -D_BSD_TYPES -D_BSD_TIME -woff 1184\,1552 -OPT​:Olimit=0​:space=ON -I/usr/local/include -DLANGUAGE_C -O3 -DVERSION=\"1.804\" -DXS_VERSION=\"1.804\" "-I../.." version.c .../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap -typemap typemap DB_File.xs > DB_File.xsc && mv DB_File.xsc DB_File.c cc -n32 -c -D_BSD_TYPES -D_BSD_TIME -woff 1184\,1552 -OPT​:Olimit=0​:space=ON -I/usr/local/include -DLANGUAGE_C -O3 -DVERSION=\"1.804\" -DXS_VERSION=\"1.804\" "-I../.." DB_File.c Running Mkbootstrap for DB_File () chmod 644 DB_File.bs rm -f ../../lib/auto/DB_File/DB_File.so LD_RUN_PATH="/usr/lib" cc -n32 -rpath "/usr/lib" -n32 -shared -L/usr/local/lib32 -L/usr/local/lib version.o DB_File.o -o ../../lib/auto/DB_File/DB_File.so -L/usr/local/lib -ldb
ld32​: FATAL 9 : I/O error (-ldb)​: No such file or directory

--------------------------------^

make[1]​: *** [../../lib/auto/DB_File/DB_File.so] Error 2 make[1]​: Leaving directory `/software/scratch/perl-5.8.0-RC1/ext/DB_File' make​: *** [lib/auto/DB_File/DB_File.so] Error 2 [...] after creating link from /usr/local/lib/libdb.a to the library file in BerkeleyDB.4.0/lib [...] make[1]​: Entering directory `/software/scratch/perl-5.8.0-RC1/ext/DB_File' rm -f ../../lib/auto/DB_File/DB_File.so LD_RUN_PATH="/usr/lib" cc -n32 -rpath "/usr/lib" -n32 -shared -L/usr/local/lib32 -L/usr/local/lib version.o DB_File.o -o ../../lib/auto/DB_File/DB_File.so -L/usr/local/lib -ldb
ld32​: WARNING 84 : /usr/local/lib32/libdb.so is not used for resolving any symbol.

-----------------------------------------^ ???

chmod 755 ../../lib/auto/DB_File/DB_File.so cp DB_File.bs ../../lib/auto/DB_File/DB_File.bs chmod 644 ../../lib/auto/DB_File/DB_File.bs make[1]​: Leaving directory `/software/scratch/perl-5.8.0-RC1/ext/DB_File'

  Making Data​::Dumper (dynamic) Writing Makefile for Data​::Dumper make[1]​: Entering directory `/software/scratch/perl-5.8.0-RC1/ext/Data/Dumper' make[1]​: Leaving directory `/software/scratch/perl-5.8.0-RC1/ext/Data/Dumper' [...]

Configure somehow detects Berkeley DB version 1\, but I have version 2\, 3\, 4 installed in /usr/local/BerkeleyDB.2.7\, /usr/local/BerkeleyDB.3.3\, /usr/local/BerkeleyDB.4.0. None of them has been picked up by configure\, as I did not speccify the include and lib path tho them. However\, I thought looks in default places also.

Whe I put BDB 4.0 library and headers in LDFLAGS and CFLAGS\, configure doesnt find it. Maybe the problem is that the headers have to be in CPPFLAGS\, right?

All performed on Irix 6.5.11\, cc.

On Thu\, 16 May 2002\, H.Merijn Brand wrote​:

On Thu 16 May 2002 09​:49\, Martin MOKREJŠ \mmokrejs@&#8203;natur\.cuni\.cz wrote​:

Hi\, I'went through the manual configuration process\, and I got​:

[...] \<ndbm.h> found.

Can you invoke 'Configure -Dusenm=n -de' and not answer 'y' to use nm to extract symbols.

-- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3616 \, fax​: +49-89-3187 3585

p5pRT commented 22 years ago

From @jhi

(1) As far as the network db oddities go\, are you certain all the right   headers (irix_dev.sw.headers) have been installed?

(2) For the LD_LIBRARY{N32\,64}PATH problem\, my reading of the manual   page information is slightly different​: if one does *not* have the   LD_LIBRARY{N32\,64}_PATH set\, everything should be working just fine   (falling back to LD_LIBRARY_PATH\, as planned). I have certainly   not seen anything like what you describe in IRIX 6.5.

-- $jhi++; # http​://www.iki.fi/jhi/   # There is this special biologist word we use for 'stable'.   # It is 'dead'. -- Jack Cohen

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

On Wed\, 5 Jun 2002\, Jarkko Hietaniemi wrote​:

(1) As far as the network db oddities go\, are you certain all the right headers (irix_dev.sw.headers) have been installed?

Yes\, it is installed​:

  irix_dev.gifts.mload 0 IRIX Loadable Driver Examples   irix_dev.gifts.prio [o] 0 IRIX Priority I/O Development   Examples   irix_dev.gifts.scsi [o] 0 IRIX SCSI Examples   I irix_dev.man.relnotes [do] 12- Development Environment Release   Notes   I irix_dev.sw.headers [do] 4032- Development Environment Headers

(2) For the LD_LIBRARY{N32\,64}PATH problem\, my reading of the manual page information is slightly different​: if one does *not* have the LD_LIBRARY{N32\,64}_PATH set\, everything should be working just fine (falling back to LD_LIBRARY_PATH\, as planned). I have certainly not seen anything like what you describe in IRIX 6.5.

I agree with this\, but back top the original; problem\, why does not configure read my environment variables (when same shell settings work for other configure processes when compiling other GNU programs?)?

-- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3616 \, fax​: +49-89-3187 3585

p5pRT commented 22 years ago

From @jhi

On Thu\, Jun 06\, 2002 at 03​:11​:15PM +0200\, Martin MOKREJ© wrote​:

On Wed\, 5 Jun 2002\, Jarkko Hietaniemi wrote​:

(1) As far as the network db oddities go\, are you certain all the right headers (irix_dev.sw.headers) have been installed?

Yes\, it is installed​:

 irix\_dev\.gifts\.mload               0   IRIX Loadable Driver Examples
 irix\_dev\.gifts\.prio \[o\]            0   IRIX Priority I/O Development
                                        Examples
 irix\_dev\.gifts\.scsi \[o\]            0   IRIX SCSI Examples

I irix_dev.man.relnotes [do] 12- Development Environment Release Notes I irix_dev.sw.headers [do] 4032- Development Environment Headers

Hmmm. Okay. Then I have no idea why is it not finding the host db functions correctly.

(2) For the LD_LIBRARY{N32\,64}PATH problem\, my reading of the manual page information is slightly different​: if one does *not* have the LD_LIBRARY{N32\,64}_PATH set\, everything should be working just fine (falling back to LD_LIBRARY_PATH\, as planned). I have certainly not seen anything like what you describe in IRIX 6.5.

I agree with this\, but back top the original; problem\, why does not configure read my environment variables (when same shell settings work for other configure processes when compiling other GNU programs?)?

Sorry but I do not follow. What reading of your environment variables you think should be happening?

(IRIX does not have LD_RUN_PATH.)

(Perl "configure" is not GNU configure\, Perl is not "other GNU program". Do not confuse one of Perl's licenses with the GNU project itself.)

Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3616 \, fax​: +49-89-3187 3585

-- $jhi++; # http​://www.iki.fi/jhi/   # There is this special biologist word we use for 'stable'.   # It is 'dead'. -- Jack Cohen

p5pRT commented 22 years ago

From [Unknown Contact. See original ticket]

Hi\,   I'd like to summarize it\, as it's still opened bug.

The /usr/bin/nm symbol extraction does not work for me on irix 6.5.11. I suggest for Irix machines to have set by default some of the "Configure -Dusenm=n" magic.

As the "make test" fails with​:

ext/IO/lib/IO/t/io_linenum...........ok ext/IO/lib/IO/t/io_multihomed........Unsupported socket function "getprotobyname" called at ../lib/IO/Socket/INET.pm line 45. FAILED at test 1 ext/IO/lib/IO/t/io_pipe..............ok [...]

As I don't know where to find config.log file\, I don't know why it did not find them. In the Configure script I see some tests\, but the idea behind them isn't very clear to me. If someone explains me how to read those tests\, I could do more research on it.

GETPROTOENT(3N) GETPROTOENT(3N)

NAME   getprotoent\, getprotobynumber\, getprotobyname\, getprotoent_r\,   getprotobynumber_r\, getprotobyname_r\, fgetprotoent\, fgetprotoent_r\,   setprotoent\, endprotoent - get protocol entry

SYNOPSIS   #include \<netdb.h>

  struct protoent *getprotoent(void);

  struct protoent *getprotoent_r(struct protoent *entry\, char *buffer\, int buflen);

  struct protoent *getprotobyname(const char *name);

  struct protoent *getprotobyname_r(const char *name\, struct protoent *entry\, char *buffer\, int buflen);

  struct protoent *getprotobynumber(int proto);

  struct protoent *getprotobynumber_r(int proto\, struct protoent *entry\, char *buffer\, int buflen);

  struct protoent *fgetprotoent(FILE *f);

  struct protoent *fgetprotoent_r(FILE *f\, struct protoent *entry\, char *buffer\, int buflen);

  void setprotoent(int stayopen);

  void endprotoent(void)

DESCRIPTION   getprotoent\, getprotobyname\, and getprotobynumber each return a pointer   to an object with the following structure containing the broken-out   fields of a line in the network protocol data base file\, /etc/protocols\,   or the NIS protocols map.

  struct protoent {   char *p_name; /* official name of protocol */   char **p_aliases; /* alias list */   int p_proto; /* protocol number */   };

  The members of this structure are​:

  p_name The official name of the protocol.

  p_aliases A zero terminated list of alternate names for the protocol.

  p_proto The protocol number.

  Getprotoent reads the next line of the file\, opening the file if   necessary.

[...]

Third. I see in Configure​:

: Proper PATH setting paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /usr/ccs/bin" paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" paths="$paths /sbin /usr/sbin /usr/libexec" paths="$paths /system/gnu_library/bin"

Shouldn't there be at least the following?​:

: Proper PATH setting oldpaths=$PATH oldpath=`sed -e 's/​:/\ /g'` paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" [...] paths="$paths /system/gnu_library/bin $oldpath"

-- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz

p5pRT commented 22 years ago

From mmokrejs@natur.cuni.cz

Hi\,   I've managed to get perl-5.8.0 compiled and passing all tests. This did the trick​:

rm -f config.sh Policy.sh sh Configure -de -Dlocincpth="/software/@​sys/usr/include /usr/local/BerkeleyDB.4.0/include /usr/local/include" -Dloclibpth="/software/@​sys/usr/lib /usr/local/BerkeleyDB.4.0/lib /usr/local/lib" -Doptimize='-O3' -Accflags="-n32 -TARG​:platform=IP22"

However\, when I used -Dusenm=n option to configure\, strangely\, gethostbyname() etc. were NOT detected! So I switched back to the default behaviour which found them (/usr/bin/nm).

I think\, Configure while looking for libdb could have a look in those directories where BerkeleyDB from sleepycat.com is installed by default\, i.e. /usr/local/BerkeleyDB*. I'm missing an example like the above in the INSTALL file.

Hope this helps. Martin

On Tue\, 14 May 2002\, Andy Dougherty wrote​:

On Tue\, 14 May 2002\, [Iso-8859-2] Martin mokrej�� wrote​:

Hi\, I'm trying to compile new release\, but it fails at​:

`sh cflags libperl.a perlio.o` perlio.c CCCMD = cc -n32 -DPERL_CORE -c -D_BSD_TYPES -D_BSD_TIME -woff 1009\,1110\,1174\,1184\,1552 -OPT​:Olimit=0​:space=ON -I/usr/local/include -DLANGUAGE_C -O3 cc-1143 cc​: ERROR File = perlio.c\, Line = 549 Declaration is incompatible with "int vprintf(const char *\, char *)" (declared at line 242 of "/usr/include/stdio.h").

vprintf(char *pat\, char *args)

[and similar error for vprintf]

Odd. A simple fix might be to edit the perlio.c source and add in the 'const' that your compiler is apparently insisting upon.

The problem may be deeper\, however. Your compiler should only be trying to compile that code if your system doesn't have a vprintf() function of its own. It would be odd (but not unheard of) to have a prototype in the headers for the function but to not actually have the function in the C library.

Configure tests for the presence of vprintf. It's possible Configure got it wrong. If it did\, it's also possible that Configure got a bunch of other things wrong too. See the section

=item vsprintf

in the INSTALL file for more details.

Hope this helps\,

-- Martin Mokrejs \mmokrejs@&#8203;natur\.cuni\.cz PGP5.0i key is at http​://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics \<http​://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1\, D-85764 Neuherberg\, Germany tel.​: +49-89-3187 3683 \, fax​:��+49-89-3187 3585

p5pRT commented 15 years ago

From @doughera88

The attached suggested patch replaces the artificial "/usr/you/" example in INSTALL with a realistic BerkeleyDB example. (Making Configure do this automatically would be nice\, but is a different task altogether.)

Unless I hear any objections\, I'll go ahead and commit this in a few days.

Inline Patch ```diff --- perl-current/INSTALL 2009-05-12 07:40:10.000000000 -0400 +++ perl-andy/INSTALL 2009-06-01 11:39:24.187350933 -0400 @@ -970,34 +970,36 @@ you have gdbm installed in any of (/usr/local, /opt/local, /usr/gnu, /opt/gnu, /usr/GNU, or /opt/GNU). -=item gdbm in /usr/you +=item BerkeleyDB in /usr/local/BerkeleyDB -Suppose you have gdbm installed in some place other than /usr/local, -but you still want Configure to find it. To be specific, assume you -have /usr/you/include/gdbm.h and /usr/you/lib/libgdbm.a. You -still have to add -I/usr/you/include to cc flags, but you have to take -an extra step to help Configure find libgdbm.a. Specifically, when -Configure prompts you for library directories, you have to add -/usr/you/lib to the list. +The version of BerkeleyDB distributed by sleepycat.com installs in a +version-specific directory by default, typically something like +/usr/local/BerkeleyDB.4.7. To have Configure find that, you need to add +-I/usr/local/BerkeleyDB.4.7/include to cc flags, as in the previous example, +and you will also have to take extra steps to help Configure find -ldb. +Specifically, when Configure prompts you for library directories, +add /usr/local/BerkeleyDB.4.7/lib to the list. Also, you will need to +add appropriate linker flags to tell the runtime linker where to find the +BerkeleyDB shared libraries. -It is possible to specify this from the command line too (all on one +It is possible to specify this from the command line (all on one line): sh Configure -de \ - -Dlocincpth="/usr/you/include" \ - -Dloclibpth="/usr/you/lib" + -Dlocincpth='/usr/local/BerkeleyDB.4.7/include /usr/local/include' \ + -Dloclibpth='/usr/local/BerkeleyDB.4.7/lib /usr/local/lib' \ + -Aldflags='-R/usr/local/BerkeleyDB.4.7/lib' locincpth is a space-separated list of include directories to search. Configure will automatically add the appropriate -I directives. loclibpth is a space-separated list of library directories to search. -Configure will automatically add the appropriate -L directives. If -you have some libraries under /usr/local/ and others under -/usr/you, then you have to include both, namely +Configure will automatically add the appropriate -L directives. - sh Configure -de \ - -Dlocincpth="/usr/you/include /usr/local/include" \ - -Dloclibpth="/usr/you/lib /usr/local/lib" +The addition to ldflags is so that the dynamic linker knows where to find +the BerkeleyDB libraries. For Linux and Solaris, the -R option does that. +Other systems may use different flags. Use the appropriate flag for your +system. =back -- ```

  Andy Dougherty doughera@​lafayette.edu

p5pRT commented 15 years ago

From @doughera88

Patch applied as​: commit e8b9ce6006d3ecb2b02af04e4406ccb4294e728c Author​: Andy Dougherty \doughera@&#8203;lafayette\.edu Date​: Fri Jun 5 12​:20​:48 2009 -0400

  [perl #9328] Update INSTALL example for BerkeleyDB install

p5pRT commented 15 years ago

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