Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!ucsd!network.ucsd.edu!weber!pbiron From: pbiron@weber.ucsd.edu (Paul Biron) Newsgroups: comp.sys.next Subject: perl4.0.beta under 2.0 (was Re: where is libc.a?) Keywords: perl, perl4.0, perl4.0.beta, libc, libsys_s Message-ID: <4833@network.ucsd.edu> Date: 24 Feb 91 19:20:55 GMT References: <1991Feb24.165644.10032@solo.csci.unt.edu> Sender: news@network.ucsd.edu Reply-To: garp!pbiron@keynes.ucsd.edu (Paul Biron) Organization: Division of Social Sciences, UCSD Lines: 161 Nntp-Posting-Host: weber.ucsd.edu In article <1991Feb24.165644.10032@solo.csci.unt.edu> gene@ponder.csci.unt.edu (Gene De Lisa) writes: >I just tried to install perl and the Config script couldn't >find the C library. Sure enough I cannot find libc.a either. >Is it libg.a because it's gcc? > >(2.0 on a slab) libc doesn't exist in 2.0, what is normally there is all in the shared library libsys_s (silly, I know, but not *that* inconvient). I recently retrieved the perl4.0.beta distribution and installed it on my Cube ('030, running 2.0). I only had to change 2 lines in the Configure script to get it to find the shared lib. I sent the patches back to LWall for distribution in the "real" release of 4.0. So if you want you can just wait until that's released (should be sometime next week) or apply the patches below to the beta release. ----------------------------------------------------------------------- Fighting for peace is like fucking for virginity! ----------------------------------------------------------------------- Paul Biron garp!pbiron@keynes.ucsd.edu (can have NeXT attachments) SnUG/SIGHaCK pbiron@ucsd.edu (normal net mail) "Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read." --Groucho Marx ----- Included below are minor changes needed to the perl4.0.beta distribuation to compile under NeXTOS 2.0. The changes are 2 lines in Configure, and an additional note in the README file. Note that while I can't guarantee that these changes also work under NeXTOS 1.0 (since I don't have access to a 1.0 machine any more) I'm almost positive they will work in 1.0 as well. The changes to Configure allow it to find the NeXT shared library (since there is no libc in 2.0, all of it is in libsys_s, including what is normally in -lndbm). The changes to README note which -l flags should be used and include a note that ranlib(1) may have to be run on libnm.a before compilation, since NeXT forgot to. Also included is a portion of the output of `make all` which shows a few compiler warnings. These warnings don't seem to be serious since compilation and all tests succeed dispite them. I don't have the time to tract down the exact reasons for the warnings, but thought that maybe you would. Note: the "standard" C compiler is NeXTOS 2.0 is a modified gcc. The output of `cc -v` is "NeXT Release 2.0 (v31.1) -- GNU version 1.36" ---- Cut Here and feed the following to sh ---- #!/bin/sh # This is a shell archive (shar 3.47) # made 02/22/1991 08:57 UTC by garp!pbiron@keynes.ucsd.edu # Source directory /optical/usr/local/src/gnu/perl/perl-4.0.beta # # existing files will NOT be overwritten unless -c is specified # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 949 -rw-r--r-- Configure.patch # 610 -rw-r--r-- README.patch # 592 -rw-r--r-- cc.warnings # # ============= Configure.patch ============== if test -f 'Configure.patch' -a X"$1" != X"-c"; then echo 'x - skipping Configure.patch (File already exists)' else echo 'x - extracting Configure.patch (Text)' sed 's/^X//' << 'SHAR_EOF' > 'Configure.patch' && X*** Configure Fri Feb 15 14:58:28 1991 X--- Configure.mod Fri Feb 22 00:35:46 1991 X*************** X*** 309,315 **** X serve_unix_tcp="" X d_ndir=ndir X voidwant=1 X! libswanted="net_s net nsl_s nsl socket nm ndir ndbm dbm sun m bsd BSD x c_s" X inclwanted='/usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan' X X : Now test for existence of everything in MANIFEST X--- 309,315 ---- X serve_unix_tcp="" X d_ndir=ndir X voidwant=1 X! libswanted="net_s net nsl_s nsl socket nm ndir ndbm dbm sun m bsd BSD x c_s sys_s" X inclwanted='/usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan' X X : Now test for existence of everything in MANIFEST X*************** X*** 1613,1618 **** X--- 1613,1619 ---- X set /usr/ccs/lib/libc.so X test -f $1 || set /usr/lib/libc.so X test -f $1 || set /usr/lib/libc.so.[0-9]* X+ test -f $1 || set /lib/libsys_s.a X eval set \$$# X if test -f "$1"; then X echo "Your shared C library is in $1." SHAR_EOF chmod 0644 Configure.patch || echo 'restore of Configure.patch failed' Wc_c="`wc -c < 'Configure.patch'`" test 949 -eq "$Wc_c" || echo 'Configure.patch: original size 949, current size' "$Wc_c" fi # ============= README.patch ============== if test -f 'README.patch' -a X"$1" != X"-c"; then echo 'x - skipping README.patch (File already exists)' else echo 'x - extracting README.patch (Text)' sed 's/^X//' << 'SHAR_EOF' > 'README.patch' && X*** README Sat Jan 19 14:26:15 1991 X--- README.mod Fri Feb 22 00:49:28 1991 X*************** X*** 124,129 **** X--- 124,133 ---- X Machines with half-implemented dbm routines will need to #undef ODBM & NDBM. X C's that don't try to restore registers on longjmp() may need -DJMPCLOBBER. X (Try this if you get random glitches.) X+ NeXTOS 2.0 should specify -lnm -lm -lsys_s as "additional libraries" and X+ should *NOT* use the malloc supplied with perl. You may also have X+ to run ranlib(1) on /usr/lib/libnm.a (as it seems NeXT forgot to do X+ this before they releases 2.0). X X 5) make test X SHAR_EOF chmod 0644 README.patch || echo 'restore of README.patch failed' Wc_c="`wc -c < 'README.patch'`" test 610 -eq "$Wc_c" || echo 'README.patch: original size 610, current size' "$Wc_c" fi # ============= cc.warnings ============== if test -f 'cc.warnings' -a X"$1" != X"-c"; then echo 'x - skipping cc.warnings (File already exists)' else echo 'x - extracting cc.warnings (Text)' sed 's/^X//' << 'SHAR_EOF' > 'cc.warnings' && Xdoio.c:1332: warning: argument passing between incompatible pointer types Xdoio.c:1362: warning: argument passing between incompatible pointer types Xdoio.c:1423: warning: argument passing between incompatible pointer types Xdoio.c:1496: warning: argument passing between incompatible pointer types Xdoio.c:1541: warning: argument passing between incompatible pointer types Xdoio.c:1541: warning: argument passing between incompatible pointer types Xdoio.c:1545: warning: argument passing between incompatible pointer types Xdoio.c:1545: warning: argument passing between incompatible pointer types SHAR_EOF chmod 0644 cc.warnings || echo 'restore of cc.warnings failed' Wc_c="`wc -c < 'cc.warnings'`" test 592 -eq "$Wc_c" || echo 'cc.warnings: original size 592, current size' "$Wc_c" fi exit 0 Paul Biron pbiron@ucsd.edu (619) 534-5758 Central University Library, Mail Code C-075-R Social Sciences DataBase Project University of California, San Diego, La Jolla, Ca. 92093 Brought to you by Super Global Mega Corp .com