ports/84255: perl 5.8.7 and freebsd.sh patch leading to bus error

John Narron jnarron at cdsinet.net
Thu Jul 28 21:20:18 UTC 2005


>Number:         84255
>Category:       ports
>Synopsis:       perl 5.8.7 and freebsd.sh patch leading to bus error
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 28 21:20:16 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     John Narron
>Release:        FreeBSD 5.4-RELEASE-p4 i386
>Organization:
CDS/CDSinet, LLC
>Environment:
System: FreeBSD freebsd.cdsinet.net 5.4-RELEASE-p4 FreeBSD 5.4-RELEASE-p4 #12: Wed Jul 6 10:39:12 CDT 2005 zeek at freebsd.cdsinet.net:/usr/obj/usr/src/sys/NOAA i386


	
>Description:
	This was an odd thing to track down.  For sake of brevity, I won't go into
discussion of how this all came to be, just what I've observed.  What was originally
(seemingly) an amavisd-new problem, turned into a spamassassin problem, then into
a perl problem, but now it seems the problem is in patch-freebsd.sh.

	Regardless of WITH_THREADS=yes or WITH_THREADS=no, it still links in pthreads.
Also WITH_THREADS=no, the port still builds a threaded perl.  However, with neither
specified, it still seems to link in libpthreads.  This leads to a Bus Error, given
a sufficiently large parameter to 'eval'.  To keep things from being repeated, and
to save my poor fingers, this bus error is documented here:

http://rt.perl.org/rt3/Ticket/Display.html?id=36667
(requires a username and password which can be obtained at http://rt.perl.org/perlbug/)

>How-To-Repeat:
	How to repeat getting the Bus Error, see the link above.  Since thats to repeat
the bus error, and not the problem stated above, to repeat is to just install the port.

>Fix:

	Remove these lines from /usr/ports/lang/perl5.8.7/files/patch-freebsd.sh

 @@ -119,7 +123,7 @@ case "$osvers" in
          if [ x$objformat = xelf ]; then
              libpth="/usr/lib /usr/local/lib"
              glibpth="/usr/lib /usr/local/lib"
 -            ldflags="-Wl,-E "
 +            ldflags="%%PTHREAD_LIBS%% -Wl,-E"
              lddlflags="-shared "
          else
              if [ -e /usr/lib/aout ]; then

	Or remove files/patch-freebsd.sh (seems to work just fine w/o it, though have not
tested it with the WITH_THREADS= option). 


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list