ports/80679: emulators/linux_base-8: Use ${MACHINE_ARCH} instead of ${ARCH}.
KOMATSU Shinichiro
koma2 at lovepeers.org
Thu May 5 23:20:03 UTC 2005
>Number: 80679
>Category: ports
>Synopsis: emulators/linux_base-8: Use ${MACHINE_ARCH} instead of ${ARCH}.
>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 May 05 23:20:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: KOMATSU Shinichiro
>Release: FreeBSD 5.3-RELEASE-p5 amd64
>Organization:
>Environment:
FreeBSD 5.3-RELEASE-p5 amd64
>Description:
On amd64, emulators/linux_base-8 cannot be built with the following error,
in case a separate make process is executed
(when installed by, for example, 'make reinstall' or portupgrade).
===> Installing for linux_base-8-8.0_6
kern.fallback_elf_brand: -1 -> 3
redhat-release-8.0-8.noarch.rpm
glibc-common-2.3.2-4.80.8.i386.rpm
ELF binary type "0" not known.
execution of glibc-common-2.3.2-4.80.8 script failed, exit status 255
*** Error code 1
Stop in /usr/local/ports/emulators/linux_base-8.
*** Error code 1
Stop in /usr/local/ports/emulators/linux_base-8.
This is because ${ARCH} is overwritten to "i386" by Makefile,
and this overwritten ${ARCH} is passed to another make process
by the .MAKEFLAGS target in bsd.port.mk.
So, when the following part of Makefile is interpreted,
.if (${ARCH} == "amd64")
LATEST_LINK:= ${LATEST_LINK:C/linux/linux32/}
ARCH= i386
FALLBACK_ELF_MIB= kern.elf32.fallback_brand
RPMFLAGS+= --noscripts
.else
FALLBACK_ELF_MIB= kern.fallback_elf_brand
.endif
FALLBACK_ELF_MIB becomes to "kern.fallback_elf_brand"
instead of "kern.elf32.fallback_brand".
>How-To-Repeat:
>Fix:
Use ${MACHINE_ARCH} instead of ${ARCH} in ".if" statement.
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/linux_base-8/Makefile,v
retrieving revision 1.102
diff -u -r1.102 Makefile
--- Makefile 15 Mar 2005 05:25:17 -0000 1.102
+++ Makefile 5 May 2005 22:30:57 -0000
@@ -86,7 +86,7 @@
etc/protocols
BRAND_FILES= bin/rpm sbin/ldconfig sbin/sln
-.if (${ARCH} == "amd64")
+.if (${MACHINE_ARCH} == "amd64")
LATEST_LINK:= ${LATEST_LINK:C/linux/linux32/}
ARCH= i386
FALLBACK_ELF_MIB= kern.elf32.fallback_brand
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list