Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!news.kei.com!news.mathworks.com!tank.news.pipex.net!pipex!news.sprintlink.net!news.magicnet.net!rd.gencon.com!usenet From: rd@tarpit.rd.gencon.com (Bob Thrush) Newsgroups: comp.unix.bsd.bsdi.misc,comp.lang.perl.misc Subject: Re: Perl Version Date: 08 Sep 1995 18:08:51 GMT Organization: Genesis Controls, Inc. Lines: 122 Message-ID: <RD.95Sep8140852@tarpit.rd.gencon.com> References: <429s4f$ot6@news.cais.com> <42ev3n$55r@news.ncu.edu.tw> <42o2l0$ni@gort.ucsd.edu> NNTP-Posting-Host: localhost.rd.gencon.com To: asinger@gort.ucsd.edu (Abe Singer) In-reply-to: asinger@gort.ucsd.edu's message of 7 Sep 1995 17:27:12 -0700 Xref: euryale.cc.adfa.oz.au comp.unix.bsd.bsdi.misc:858 comp.lang.perl.misc:2161 >>>>> "Abe" == Abe Singer <asinger@gort.ucsd.edu> writes: Abe> Um, does anyone actually *have* perl5.00x working on BSDi 2.0? Here's what I use to build perl5.001m on bsdi 2.0 and 2.0.1: o Unpack GNU dld-3.2.6 from prep.ai.mit.edu:/pub/gnu/jacal. o Apply the attached patches and install libdld.a in /usr/local/lib and dld.h in /usr/local/include. Thanks to Dr. Magnus V. Harlander for the key dld.c patch. o Unpack perl5.001m and do the following: make -k clobber ./Configure -des -O -Dcc=shlicc2 -Dcccdlflags=none -Dlddlflags=-r \ -Doptimize='-g -O2 -m486' -Dstatic_ext=POSIX \ -Ddynamic_ext='DB_File Fcntl NDBM_File SDBM_File Socket' \ -Ddlext=none make make test make install # Assuming all tests passed. For some reason, I am not able to build the POSIX extension as a dynamic extension. ----------- dld-3.2.6 patches for bsdi ----------- diff -wbur dld-3.2.6/Makefile dld/Makefile --- dld-3.2.6/Makefile Sun Mar 19 20:42:30 1995 +++ dld/Makefile Sun Aug 27 15:13:45 1995 @@ -11,9 +11,10 @@ infodir = $(prefix)info/ includedir = $(prefix)include/ -CC= gcc -CFLAGS = -O6 -I. -CXXFLAGS = -O6 -I. +CC= shlicc2 +CFLAGS = -g -O2 -I. +CXX= shlicc++ +CXXFLAGS = -g -O2 -I. all: ${ARCHIVE} all++: ${ARCHIVE++} diff -wbur dld-3.2.6/defs.h dld/defs.h --- dld-3.2.6/defs.h Fri Feb 10 08:10:44 1995 +++ dld/defs.h Sun Aug 27 15:14:50 1995 @@ -34,6 +34,10 @@ #include <unistd.h> #define N_COMM 16 #endif +#ifdef __bsdi__ +#include <stdlib.h> +#include <unistd.h> +#endif /* __bsdi__ */ /* Each input file, and each library member ("subfile") being loaded, has a `file_entry' structure for it. diff -wbur dld-3.2.6/dld.c dld/dld.c --- dld-3.2.6/dld.c Fri Feb 10 08:10:46 1995 +++ dld/dld.c Mon Jun 19 12:02:35 1995 @@ -994,9 +994,10 @@ symdef_base = (struct symdef *) (symdef_data + 1); length_of_strings = *(int *) (symdef_base + number_of_symdefs); + /* BSD/OS pads the odd numbers with \n */ if (length_of_strings < 0 - || number_of_symdefs * sizeof (struct symdef) + length_of_strings - + 2 * sizeof (int) != member_length) + || (number_of_symdefs * sizeof (struct symdef) + length_of_strings + + 2 * sizeof (int) +1)/2 != member_length/2) fatal (DLD_EBADLIBRARY); sym_name_base = sizeof (int) + (char *) (symdef_base + number_of_symdefs); diff -wbur dld-3.2.6/find_exec.c dld/find_exec.c --- dld-3.2.6/find_exec.c Fri Feb 10 08:10:46 1995 +++ dld/find_exec.c Sun Aug 27 15:16:27 1995 @@ -31,6 +31,10 @@ #include <sys/stat.h> #include <unistd.h> /* for X_OK define */ #endif +#ifdef __bsdi__ +#include <stdlib.h> +#include <unistd.h> +#endif /* __bsdi__ */ #define DEFAULT_PATH ".:~/bin::/usr/local/bin:/usr/new:/usr/ucb:/usr/bin:/bin:/usr/hosts" @@ -66,13 +70,11 @@ if (ABSOLUTE_FILENAME_P(file)) return copy_of (file); -#ifdef linux if ((file[0] == '.') && (file[1] == '/')) { getcwd (name, MAXPATHLEN); strcat (name, file+1); return copy_of (name); } -#endif if (((search = (char *) getenv("DLDPATH")) == 0) && ((search = (char *) getenv("PATH")) == 0)) diff -wbur dld-3.2.6/test/Makefile dld/test/Makefile --- dld-3.2.6/test/Makefile Sun Mar 19 20:43:04 1995 +++ dld/test/Makefile Sun Aug 27 15:14:11 1995 @@ -5,11 +5,11 @@ LIB = ../libdld.a INCLUDE = ../dld.h -CC= gcc -CXX= g++ +CC= shlicc2 +CXX= shlicc++ # add -static to CFLAGS for Sparc Sun4. -CFLAGS = -O6 -I.. -CXXFLAGS = -O6 -I.. +CFLAGS = -g -O2 -I.. +CXXFLAGS = -g -O2 -I.. SPECIAL = -DLIBGCC=\"`gcc --print-lib`\" check: all -- Bob Thrush rd@rd.gencon.com 407 425-4845/ FAX 841-8004