Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Apr 2003 23:16:13 +0800 (KRAST)
From:      Eugene Grosbein <eugen@grosbein.pp.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        ru@FreeBSD.org
Subject:   misc/50994: miniperl is linked with system libraries that breaks cross-build
Message-ID:  <200304151516.h3FFGDL4034790@grosbein.pp.ru>
Resent-Message-ID: <200304151530.h3FFUCau037685@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
>Number:         50994
>Category:       misc
>Synopsis:       miniperl is linked with system libraries that breaks cross-build
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 15 08:30:11 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Eugene Grosbein
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
Svyaz Service JSC
>Environment:
System: FreeBSD grosbein.pp.ru 4.8-STABLE FreeBSD 4.8-STABLE #3: Sun Apr 6 23:20:11 KRAST 2003 eu@grosbein.pp.ru:/usr/local/obj/usr/local/src/sys/DADV i386

>Description:
	I've build a world for i586 using a power build machine 
	(its world itself is optimised for i686).
	miniperl is statically linked with system binaries.
	Here is link command in my case (long line is broken here):

cc -O -pipe -march=pentiumpro -I/usr/local/src/gnu/usr.bin/perl/miniperl
 -I/usr/local/src/gnu/usr.bin/perl/miniperl/../../../../contrib/perl5
 -L/usr/local/src/gnu/usr.bin/perl/miniperl/../libperl -static -o miniperl
 miniperlmain.o perl.o gv.o toke.o perly.o op.o regcomp.o dump.o util.o mg.o
 hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o
 regexec.o taint.o universal.o globals.o perlio.o -lm -lcrypt

	miniperl crashes with SIGILL later when i586 tries to run
	installworld from NFS-mounted src and obj.

>How-To-Repeat:
	Make build machine with world optimized for i686.
	Make world for i586. Try to install it using i586 from NFS.
	Here are last lines from installworld (cut-n-paste):

===> gnu/usr.bin/perl/library/B
Illegal instruction
*** Error code 132
Stop in /usr/local/obj/usr/local/src/gnu/usr.bin/perl/library/B/ext/B.
*** Error code 1
Stop in /usr/local/src/gnu/usr.bin/perl/library/B.
*** Error code 1
Stop in /usr/local/src/gnu/usr.bin/perl/library.
*** Error code 1
Stop in /usr/local/src/gnu/usr.bin/perl.
*** Error code 1
Stop in /usr/local/src/gnu/usr.bin.
*** Error code 1
Stop in /usr/local/src/gnu.
*** Error code 1
Stop in /usr/local/src.
*** Error code 1
Stop in /usr/local/src.
*** Error code 1
Stop in /usr/local/src.
*** Error code 1
Stop in /usr/local/src.

>Fix:

	I guess, needed statis libraries (*.a) must be 
	included in a link command in src/gnu/usr.bin/perl/miniperl/Makefile
	to allow cross-installation.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304151516.h3FFGDL4034790>