Date: Sat, 7 Oct 2000 03:25:02 +0200 (CEST) From: tobez@tobez.org To: FreeBSD-gnats-submit@freebsd.org Cc: markm@FreeBSD.org, tobez@tobez.org Subject: conf/21804: The lack of -lcrypt in Perl's Config.pm breaks Perl extension building. Message-ID: <20001007012502.CBDB85445@heechee.tobez.org>
next in thread | raw e-mail | index | archive | help
>Number: 21804 >Category: conf >Synopsis: The lack of -lcrypt in Perl's Config.pm breaks Perl extension building. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Oct 06 18:30:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Anton Berezin >Release: FreeBSD 5.0-CURRENT i386 >Organization: tobez.org >Environment: perl 5.6.0 >Description: Config.pm bundled with FreeBSD's Perl does not have a `-lcrypt' in its linking-related variables. Under certain conditions, this may break the build of Perl extensions. See the `How-To-Repeat' section for self-explanatory example, and the `Fix' section for a patch and a workaround. >How-To-Repeat: $ mkdir perlbug ; cd perlbug $ cat >Makefile.PL use ExtUtils::MakeMaker; WriteMakefile( NAME => 'Bla', PREREQ_PM => {}, EXE_FILES => ["./bin/foo"]); ^D $ mkdir bin ; cat >bin/foo.c int main(){} ^D $ perl Makefile.PL Writing Makefile for Bla $ make mkdir blib mkdir blib/lib mkdir blib/arch mkdir blib/arch/auto mkdir blib/arch/auto/Bla mkdir blib/lib/auto/Bla mkdir blib/man1 cc -O -pipe -Wl,-E -lperl -lm ./bin/foo.c -o ./bin/foo /usr/lib/libperl.so: undefined reference to `crypt' *** Error code 1 Stop in /usr/home/tobez/tmp/perlbug. >Fix: Apply the following patch and rebuild the system. As a quick fix for impatient, edit two files (they are identical): /usr/libdata/perl/5.6.0/mach/Config.pm /usr/libdata/perl/5.6.0/Config.pm and add -lcrypt to lddlflags and to ldflags. This patch is relative to /usr/src/gnu/usr.bin/perl/libperl, and is only tested on i386, non-threaded perl. diff -u orig/config.SH-elf.alpha ./config.SH-elf.alpha --- orig/config.SH-elf.alpha Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.alpha Sat Oct 7 00:13:47 2000 @@ -532,8 +532,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' ldlibpthname='LD_LIBRARY_PATH' less='less' lib_ext='.a' diff -u orig/config.SH-elf.arm32 ./config.SH-elf.arm32 --- orig/config.SH-elf.arm32 Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.arm32 Sat Oct 7 00:14:12 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-elf.i386 ./config.SH-elf.i386 --- orig/config.SH-elf.i386 Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.i386 Sat Oct 7 00:14:18 2000 @@ -532,8 +532,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' ldlibpthname='LD_LIBRARY_PATH' less='less' lib_ext='.a' diff -u orig/config.SH-elf.ia64 ./config.SH-elf.ia64 --- orig/config.SH-elf.ia64 Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.ia64 Sat Oct 7 00:14:22 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-elf.ppc ./config.SH-elf.ppc --- orig/config.SH-elf.ppc Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.ppc Sat Oct 7 00:14:26 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-elf.sparc ./config.SH-elf.sparc --- orig/config.SH-elf.sparc Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.sparc Sat Oct 7 00:14:30 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-elf.sparc64 ./config.SH-elf.sparc64 --- orig/config.SH-elf.sparc64 Sat Oct 7 00:12:58 2000 +++ ./config.SH-elf.sparc64 Sat Oct 7 00:14:34 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-threads-elf.alpha ./config.SH-threads-elf.alpha --- orig/config.SH-threads-elf.alpha Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.alpha Sat Oct 7 00:14:39 2000 @@ -532,8 +532,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' ldlibpthname='LD_LIBRARY_PATH' less='less' lib_ext='.a' diff -u orig/config.SH-threads-elf.arm32 ./config.SH-threads-elf.arm32 --- orig/config.SH-threads-elf.arm32 Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.arm32 Sat Oct 7 00:14:43 2000 @@ -413,8 +413,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-threads-elf.i386 ./config.SH-threads-elf.i386 --- orig/config.SH-threads-elf.i386 Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.i386 Sat Oct 7 00:14:47 2000 @@ -532,8 +532,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' ldlibpthname='LD_LIBRARY_PATH' less='less' lib_ext='.a' diff -u orig/config.SH-threads-elf.ia64 ./config.SH-threads-elf.ia64 --- orig/config.SH-threads-elf.ia64 Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.ia64 Sat Oct 7 00:15:28 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-threads-elf.ppc ./config.SH-threads-elf.ppc --- orig/config.SH-threads-elf.ppc Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.ppc Sat Oct 7 00:14:53 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-threads-elf.sparc ./config.SH-threads-elf.sparc --- orig/config.SH-threads-elf.sparc Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.sparc Sat Oct 7 00:14:57 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' diff -u orig/config.SH-threads-elf.sparc64 ./config.SH-threads-elf.sparc64 --- orig/config.SH-threads-elf.sparc64 Sat Oct 7 00:12:58 2000 +++ ./config.SH-threads-elf.sparc64 Sat Oct 7 00:15:00 2000 @@ -411,8 +411,8 @@ ksh='' large='' ld='cc' -lddlflags='-Wl,-E -shared -lperl -lm ' -ldflags='-Wl,-E -pthread -lperl -lm ' +lddlflags='-Wl,-E -shared -lperl -lm -lcrypt ' +ldflags='-Wl,-E -pthread -lperl -lm -lcrypt ' less='less' lib_ext='.a' libc='' >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001007012502.CBDB85445>