ports/115769: Building the perl 5.8 port inside a jail fails

Aaron Gifford astounding at gmail.com
Thu Aug 23 21:00:08 UTC 2007


>Number:         115769
>Category:       ports
>Synopsis:       Building the perl 5.8 port inside a jail fails
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 23 21:00:07 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Aaron Gifford
>Release:        FreeBSD 6.2-STABLE (as of 7 June 2007)
>Organization:
>Environment:
FreeBSD my.host.name 6.2-STABLE FreeBSD 6.2-STABLE #6: Thu Jun  7 14:25:29 MDT 2007     root at my.host.name:/usr/obj/usr/src/sys/MY.HOST.NAME  i386

>Description:
The perl 5.8 port (/usr/ports/lang/perl5.8) fails to build inside of a jail with:

  ========== EXCERPT ==========
  make lib/re.pm
  "makefile", line 952: Need an operator
  make: fatal errors encountered -- cannot continue
  *** Error code 1
  
  Stop in /usr/ports/lang/perl5.8/work/perl-5.8.8.
  *** Error code 1
  
  Stop in /usr/ports/lang/perl5.8.
  ========== END OF EXCERPT ==========

This first error is be due to an error in the autogenerated makefile /usr/ports/lang/perl5.8/work/perl-5.8.8/makefile:

  ========== EXCERPT ==========
  # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
  # If this runs make out of memory, delete /usr/include lines.
  0
  malloc$(OBJ_EXT): /usr/include/machine/_types.h
  malloc$(OBJ_EXT): /usr/include/memory.h
  ========== END OF EXCERPT =========
  
Notice the line consisting of a zero '0' and nothing else?  That's the culprit.  If I correct that by hand by removing that line and continuing the build, the second autogenerated makefile error will stop things:

  ========== EXCERPT ==========
  cd x2p; LD_LIBRARY_PATH=/usr/ports/lang/perl5.8/work/perl-5.8.8 make s2p
  "makefile", line 159: Need an operator
  make: fatal errors encountered -- cannot continue
  *** Error code 1
  
  Stop in /usr/ports/lang/perl5.8/work/perl-5.8.8.
  *** Error code 1
  
  Stop in /usr/ports/lang/perl5.8.
  ========== END OF EXCERPT =========

This error comes from the exact same error in the following autogenerated makefile /usr/ports/lang/perl5.8/work/perl-5.8.8/x2p/makefile:

  ========== EXCERPT ==========
  # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
  # If this runs make out of memory, delete /usr/include lines.
  0
  hash$(OBJ_EXT): ../config.h
  hash$(OBJ_EXT): ../handy.h
  ========== END OF EXCERPT =========

Once again, when this error is encountered, hand-edit the file and remove the '0' line and then the build completes.
>How-To-Repeat:
Launch a FreeBSD jail with a /usr/ports tree and attempt to build the perl 5.8 port within it.
>Fix:
I have no idea how to fix the problem, but it is obvious that during 'make config' of the port the two 'makefile' files are having a spurious '0' output, corrupting them.  If I was more familiar with the makefile generation process I'd attempt to figure this out myself, but sadly I'm clueless in this area.

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



More information about the freebsd-ports-bugs mailing list