misc/50994: miniperl is linked with system libraries that breaks
cross-build
Eugene Grosbein
eugen at grosbein.pp.ru
Tue Apr 15 08:30:14 PDT 2003
>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 at 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:
More information about the freebsd-bugs
mailing list