pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/38414: [patch] lang/perl5 does not build on FreeBSD 7+



>Number:         38414
>Category:       pkg
>Synopsis:       [patch] lang/perl5 does not build on FreeBSD 7+
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 12 12:45:00 +0000 2008
>Originator:     Peter Schuller
>Release:        FreeBSD 7.0-RC1
>Organization:
>Environment:
>Description:
/usr/bin/objformat is gone on FreeBSD 7+ (the old contents as indicated by 
/usr/src/usr.bin/objformat/objformat.sh indicates it has been considered 
obsolete/deprecated for a while).

The freebsd hints script, used by the configure script to determine necessary 
flags, suffers from the common problem of silently doing the wrong thing if the 
tool does not exist. The result is that libperl.so is built without -shared, 
because lddflags are set up as if building on FreeBSD <= 2.*.

The attached patch assumes 'elf' format on modern FreeBSD, as seems to be the 
intended assumption to make, based on the comments in the obsoleted objformat 
source code which state:

# Please remove any build/configure script references.  New software
# should only have to only support elf on FreeBSD.



>How-To-Repeat:

>Fix:
Patch at:

http://distfiles.scode.org/mlref/pkgsrc_lang_perl_fbsd7_objformat.diff

For convenience it is also included inline below, but whitespace may be borked 
so the above URL is recommended:

Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/lang/perl5/distinfo,v
retrieving revision 1.46
diff -u -r1.46 distinfo
--- distinfo    13 Jan 2008 00:20:22 -0000      1.46
+++ distinfo    12 Apr 2008 12:42:02 -0000
@@ -6,6 +6,7 @@
 SHA1 (patch-aa) = 9b6844635086206dc7740103747a2b54bf987941
 SHA1 (patch-ab) = e32427327192f023477b16f29bc55fdf4f057410
 SHA1 (patch-ac) = 428e0757495b82a47ec092a71333fb3ec366f14f
+SHA1 (patch-ad) = 5fd67be5d28d234f86fdcb222ce1040b205e3953
 SHA1 (patch-ae) = 891e8d1cfbd69a63827239b4e04d84aac8fd795c
 SHA1 (patch-ah) = 25443063c26287b1b8130c53d5c9d92248d4c0d1
 SHA1 (patch-am) = cf1687063d0c0542e811545aaaad291bad12d75e
Index: patches/patch-ad
===================================================================
RCS file: patches/patch-ad
diff -N patches/patch-ad
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-ad    12 Apr 2008 12:42:02 -0000
@@ -0,0 +1,20 @@
+$NetBSD$
+
+--- hints/freebsd.sh.orig      2008-04-12 14:19:19.846263105 +0200
++++ hints/freebsd.sh
+@@ -115,7 +115,14 @@ case "$osvers" in
+       ;;
+ 
+ *)
+-        objformat=`/usr/bin/objformat`
++        if ! [ -e /usr/bin/objformat ]; then
++          # on FreeBSD 7+, /usr/bin/objformat does not exist (and was
++          # deprecated even earlier according to
++          # /usr/src/usr.bin/objformat/objformat.sh)
++          objformat="elf"
++      else
++          objformat=`/usr/bin/objformat`
++      fi
+         if [ x$objformat = xelf ]; then
+             libpth="/usr/lib /usr/local/lib"
+             glibpth="/usr/lib /usr/local/lib"



Home | Main Index | Thread Index | Old Index