Date: Fri, 6 May 2005 08:10:27 +0900 (JST) From: KOMATSU Shinichiro <koma2@lovepeers.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/80679: emulators/linux_base-8: Use ${MACHINE_ARCH} instead of ${ARCH}. Message-ID: <20050505231027.1A86456445@ksta.ms.u-tokyo.ac.jp> Resent-Message-ID: <200505052320.j45NK2aD065642@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050505231027.1A86456445>