Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #20879] Help, unable to install 5.8.0 on Solaris 2.7

2 views
Skip to first unread message

Rob Dallas

unread,
Feb 12, 2003, 11:55:27 AM2/12/03
to bugs-bi...@netlabs.develooper.com
# New Ticket Created by Rob Dallas
# Please include the string: [perl #20879]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=20879 >


per...@perl.org
I apologize in advance if this is the wrong place to post this question.

I am attempting to install Perl 5.8.0 on a Solaris 2.7 machine and 'make'
aborts with the following message:

(snip)
rm -f opmini.c
gcc -L/usr/local/lib -o miniperl \
miniperlmain.o opmini.o libperl.a -lsocket -lnsl -ldl -lm -lc
./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
make: [extra.pods] Error 1 (ignored)
./miniperl -Ilib configpm configpm.tmp
sh mv-if-diff configpm.tmp lib/Config.pm
./miniperl -Ilib lib/lib_pm.PL
Constant(undef) unknown: at lib/File/Basename.pm line 289, at end of line
Compilation failed in require at lib/lib_pm.PL line 2.
BEGIN failed--compilation aborted at lib/lib_pm.PL line 2.
make: *** [lib/lib.pm] Error 255

Here is 'myconfig' content:

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
osname=solaris, osvers=2.7, archname=sun4-solaris
uname='sunos daryl 5.7 generic_106541-19 sun4u sparc sunw,ultra-4 '
config_args='-Dprefix=/home/webland/Personal -Dcc=gcc'
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=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.3 20010315 (release)',
gccosandvers='solaris2.7'
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 '
libpth=/usr/local/lib /usr/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
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=' -Wl,-E'
cccdlflags='-fPIC', lddlflags=' -Wl,-E -G -L/usr/local/lib'

I have seen the discussion of a patch for Basename.pm and my Basename.pm
appears to be patched, at least in a similar way.
I have also seen the testimonials that says 5.8.0 installs OK on Solaris 2.7.
I have been able to install 5.8.0 with the same tar file on Solaris 2.8
without problem.

Can anyone advise me what is wrong with my system or what I'm doing wrong?

Much Thanks.
Rob Dallas
Canadian Heritage Information Network
rda...@chin.gc.ca

Dave Mitchell

unread,
Feb 19, 2003, 6:56:31 PM2/19/03
to perl5-...@perl.org
On Wed, Feb 12, 2003 at 04:55:27PM -0000, Rob Dallas wrote:
> I am attempting to install Perl 5.8.0 on a Solaris 2.7 machine and 'make'
> aborts with the following message:
>
> (snip)
> rm -f opmini.c
> gcc -L/usr/local/lib -o miniperl \
> miniperlmain.o opmini.o libperl.a -lsocket -lnsl -ldl -lm -lc
> ./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
> make: [extra.pods] Error 1 (ignored)
> ./miniperl -Ilib configpm configpm.tmp
> sh mv-if-diff configpm.tmp lib/Config.pm
> ./miniperl -Ilib lib/lib_pm.PL
> Constant(undef) unknown: at lib/File/Basename.pm line 289, at end of line
> Compilation failed in require at lib/lib_pm.PL line 2.
> BEGIN failed--compilation aborted at lib/lib_pm.PL line 2.

[snip]

> I have seen the discussion of a patch for Basename.pm and my Basename.pm
> appears to be patched, at least in a similar way.
> I have also seen the testimonials that says 5.8.0 installs OK on Solaris 2.7.
> I have been able to install 5.8.0 with the same tar file on Solaris 2.8
> without problem.

Just to clarify, are you using the Basename.pm file that comes with the
standard Perl 5.8.0 tarfile, or some other version of this file?

--
In England there is a special word which means the last sunshine
of the summer. That word is "spring".

Rob Dallas

unread,
Feb 20, 2003, 9:22:39 AM2/20/03
to perlbug-...@perl.org
I am using Basename.pm, asis, from the tar file.

Rob...

Dave Mitchell

unread,
Feb 20, 2003, 9:49:23 AM2/20/03
to Rob Dallas, perlbug-...@perl.org
On Thu, Feb 20, 2003 at 09:22:39AM -0500, Rob Dallas wrote:
> I am using Basename.pm, asis, from the tar file.

Could you try the following from the build directory:

./miniperl -Ilib -MFile::Basename -e ''

and let me know if you get the same error.
Even better, if you do, would it possible for you to produce
a stripped-down minimum version of lib/File/Basename.pm that still
exhibits the error?

Thanks,

Dave.

--
In the 70's we wore flares because we didn't know any better.
What possible excuse does the current generation have?

Dave Mitchell

unread,
Feb 20, 2003, 6:25:44 PM2/20/03
to perl5-...@perl.org
On Thu, Feb 20, 2003 at 05:17:04PM -0500, Rob Dallas wrote:
> When I execute the mimiperl command you suggest I simply get a command
> prompt back with no other messages.

Hmmm - could you try each of the following in order until you start
gettting error messages again?

./miniperl -Ilib -e 'use File::Basename'
./miniperl -Ilib -e 'use File::Basename qw(&basename &dirname)'
./miniperl -Ilib -e 'use Config; use File::Basename qw(&basename &dirname)'
./miniperl -Ilib lib/lib_pm.PL
make lib/lib.pm
make minitest
make

--
Lady Nancy Astor: If you were my husband, I would flavour your coffee
with poison.
Churchill: Madam - if I were your husband, I would drink it.

Rob Dallas

unread,
Feb 21, 2003, 11:50:19 AM2/21/03
to perlbug-...@perl.org
These are the results I got from the commands below.

Rob....

daryl:~/Personal>cd src/perl-5.8.0
daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib -e 'use File::Basename'
daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib -e 'use File::Basename
qw(&base
name &dirname)'
daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib -e 'use Config; use


File::Basen
ame qw(&basename &dirname)'

daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib lib/lib_pm.PL
Extracting lib.pm (with variable substitutions)
daryl:~/Personal/src/perl-5.8.0>make lib/lib.pm
make: `lib/lib.pm' is up to date.
daryl:~/Personal/src/perl-5.8.0>make minitest
cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm

You may see some irrelevant test failures if you have been unable
to build lib/Config.pm or lib/lib.pm.

cd t && (rm -f perl; /usr/bin/ln -s ../miniperl perl) \
&& ./perl TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t
</dev/tty
t/base/cond..........ok
t/base/if............ok
t/base/lex...........ok
t/base/num...........ok
t/base/pat...........ok
t/base/rs............ok
t/base/term..........ok
t/comp/bproto........ok
t/comp/cmdopt........ok
t/comp/colon.........ok
t/comp/cpp...........ok
t/comp/decl..........ok
t/comp/hints.........ok
t/comp/multiline.....ok
t/comp/package.......ok
t/comp/proto.........ok
t/comp/redef.........ok
t/comp/require.......ok
t/comp/script........ok
t/comp/term..........ok
t/comp/use...........ok
t/cmd/elsif..........ok
t/cmd/for............ok
t/cmd/mod............ok
t/cmd/subval.........ok
t/cmd/switch.........ok
t/cmd/while..........ok
t/run/exit...........ok
t/run/fresh_perl.....ok
t/run/noswitch.......ok
t/run/runenv.........ok
t/run/switchF........ok
t/run/switchPx.......ok
t/run/switcha........ok
t/run/switches.......ok
t/run/switchn........ok
t/run/switchp........ok
t/run/switcht........ok
t/run/switchx........ok
t/io/argv............ok
t/io/binmode.........ok
t/io/crlf............ok
t/io/dup.............ok
t/io/fflush..........ok
t/io/fs..............ok
t/io/inplace.........ok
t/io/iprefix.........ok
t/io/nargv...........ok
t/io/open............Can't locate Errno.pm in @INC (@INC contains: ../lib)
at io
/open.t line 234.
BEGIN failed--compilation aborted at io/open.t line 234.
FAILED at test 0
t/io/openpid.........ok
t/io/pipe............ok
t/io/print...........ok
t/io/read............ok
t/io/tell............ok
t/io/utf8............ok
t/op/64bitint........skipping test on this platform
t/op/alarm...........ok
t/op/anonsub.........ok
t/op/append..........ok
t/op/args............ok
t/op/arith...........ok
t/op/array...........ok
t/op/assignwarn......ok
t/op/attrs...........ok
t/op/auto............ok
t/op/avhv............ok
t/op/bless...........ok
t/op/bop.............ok
t/op/caller..........ok
t/op/chars...........ok
t/op/chdir...........ok
t/op/chop............ok
t/op/closure.........ok
t/op/cmp.............ok
t/op/concat..........ok
t/op/cond............ok
t/op/context.........ok
t/op/crypt...........ok
t/op/defins..........ok
t/op/delete..........ok
t/op/die.............ok
t/op/die_exit........ok
t/op/do..............ok
t/op/each............ok
t/op/eval............ok
t/op/exec............ok
t/op/exists_sub......ok
t/op/exp.............ok
t/op/fh..............ok
t/op/filetest........ok
t/op/flip............ok
t/op/fork............ok
t/op/glob............ok
t/op/gmagic..........ok
t/op/goto............ok
t/op/goto_xs.........skipping test on this platform
t/op/grent...........ok
t/op/grep............ok
t/op/groups..........ok
t/op/gv..............ok
t/op/hashassign......ok
t/op/hashwarn........ok
t/op/inc.............ok
t/op/inccode.........ok
t/op/index...........ok
t/op/int.............ok
t/op/join............ok
t/op/lc..............ok
t/op/length..........ok
t/op/lex_assign......ok
t/op/lfs.............skipping test on this platform
t/op/list............ok
t/op/local...........ok
t/op/loopctl.........ok
t/op/lop.............ok
t/op/magic...........Can't locate Errno.pm in @INC (@INC contains: ../lib)
at op
/magic.t line 299.
BEGIN failed--compilation aborted.
FAILED at test 38
t/op/method..........ok
t/op/mkdir...........ok
t/op/my..............ok
t/op/my_stash........ok
t/op/nothr5005.......ok
t/op/numconvert......ok
t/op/oct.............ok
t/op/or..............ok
t/op/ord.............ok
t/op/override........ok
t/op/pack............ok
t/op/pat.............ok
t/op/pos.............ok
t/op/pow.............ok
t/op/push............ok
t/op/pwent...........ok
t/op/qq..............ok
t/op/quotemeta.......ok
t/op/rand............ok
t/op/range...........ok
t/op/read............ok
t/op/readdir.........ok
t/op/recurse.........ok
t/op/ref.............ok
t/op/regexp..........ok
t/op/regexp_noamp....ok
t/op/regmesg.........ok
t/op/repeat..........ok
t/op/reverse.........ok
t/op/runlevel........ok
t/op/sleep...........ok
t/op/sort............ok
t/op/splice..........ok
t/op/split...........ok
t/op/sprintf.........ok
t/op/srand...........ok
t/op/stat............ok
t/op/study...........ok
t/op/sub_lval........ok
t/op/subst...........ok
t/op/subst_amp.......ok
t/op/subst_wamp......ok
t/op/substr..........ok
t/op/sysio...........ok
t/op/taint...........ok
t/op/tie.............ok
t/op/tiearray........ok
t/op/tiehandle.......ok
t/op/time............ok
t/op/tr..............ok
t/op/undef...........ok
t/op/universal.......ok
t/op/unshift.........ok
t/op/utf8decode......ok
t/op/utfhash.........ok
t/op/vec.............ok
t/op/ver.............ok
t/op/wantarray.......ok
t/op/write...........ok
t/uni/fold...........ok
t/uni/lower..........ok
t/uni/sprintf........ok
t/uni/title..........ok
t/uni/upper..........ok
Failed 2 test scripts out of 176, 98.86% okay.
### Since not all tests were successful, you may want to run some of
### them individually and examine any diagnostic messages they produce.
### See the INSTALL document's section on "make test".
### You have a good chance to get more information by running
### ./perl harness
### in the 't' directory since most (>=80%) of the tests succeeded.
### You may have to set your dynamic library search path,
### LD_LIBRARY_PATH, to point to the build directory:
### setenv LD_LIBRARY_PATH `pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness
### LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd t;
./pe
rl harness
### export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH; cd t; ./perl harness
### for csh-style shells, like tcsh; or for traditional/modern
### Bourne-style shells, like bash, ksh, and zsh, respectively.
u=1.84 s=0.3 cu=35.4 cs=8.48 scripts=176 tests=26621
make: [minitest] Error 1 (ignored)

daryl:~/Personal/src/perl-5.8.0>make
AutoSplitting perl library
./miniperl -Ilib -e 'use AutoSplit; \
autosplit_lib_modules(@ARGV)' lib/*.pm
./miniperl -Ilib -e 'use AutoSplit; \
autosplit_lib_modules(@ARGV)' lib/*/*.pm
make lib/re.pm
make[1]: Entering directory `/home/webland/Personal/src/perl-5.8.0'
make[1]: `lib/re.pm' is up to date.

<snip>

Making Errno (nonxs)
Writing Makefile for Errno
make[1]: Entering directory `/home/webland/Personal/src/perl-5.8.0/ext/Errno'
make[1]: Leaving directory `/home/webland/Personal/src/perl-5.8.0/ext/Errno'
make[1]: Entering directory `/home/webland/Personal/src/perl-5.8.0/ext/Errno'
../../miniperl "-I../../lib" "-I../../lib" "-I../../lib" "-I../../lib"
Errno_pm.
PL Errno.pm
cp Errno.pm ../../lib/Errno.pm
make[1]: Leaving directory `/home/webland/Personal/src/perl-5.8.0/ext/Errno'
make: [extras.make] Error 1 (ignored)

Everything is up to date. Type 'make test' to run test suite.

Dave Mitchell

unread,
Feb 25, 2003, 8:28:44 AM2/25/03
to Rob Dallas, perlbug-...@perl.org
On Fri, Feb 21, 2003 at 11:50:19AM -0500, Rob Dallas wrote:
> These are the results I got from the commands below.


Well, I don't know why, but the problem seems to have gone away.
A final 'make test; make install' should now work.

> daryl:~/Personal>cd src/perl-5.8.0
> daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib -e 'use File::Basename'
> daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib -e 'use File::Basename
> qw(&base
> name &dirname)'
> daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib -e 'use Config; use
> File::Basen
> ame qw(&basename &dirname)'
> daryl:~/Personal/src/perl-5.8.0>./miniperl -Ilib lib/lib_pm.PL
> Extracting lib.pm (with variable substitutions)

[snip]

--
To collect all the latest movies, simply place an unprotected ftp server
on the Internet, and wait for the disk to fill....

0 new messages