Subject: pkg/33890: multimedia/transcode fails to build for amd64 (+fix)
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <martijnb@atlas.ipv6.stack.nl>
List: pkgsrc-bugs
Date: 07/01/2006 18:10:00
>Number:         33890
>Category:       pkg
>Synopsis:       multimedia/transcode fails to build for amd64 (+fix)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jul 01 18:10:00 +0000 2006
>Originator:     martijnb@atlas.ipv6.stack.nl
>Release:        NetBSD 3.99.21
>Organization:
	
>Environment:
	
	
System: NetBSD atlas.ipv6.stack.nl 3.99.21 NetBSD 3.99.21 (ATLAS) #1: Tue Jun 20 08:12:03 CEST 2006 martijnb@atlas.ipv6.stack.nl:/usr/obj/sys/arch/amd64/compile/ATLAS amd64
Architecture: x86_64
Machine: amd64
>Description:
    Same problems as existed with multimedia/mjpegtools in pkg/33769:

gmake[2]: Entering directory `/pkg_comp/obj/pkgsrc/multimedia/transcode/default/transcode-1.0.2/libvo'
if /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I..  -pthread   -DPNG_NO_ASSEMBLER_CODE -I/usr/pkg/include -I/usr/include -DGLX_GLXEXT_LEGACY -I/usr/pkg/include/freetype2  -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -I/usr/pkg/include -I/usr/include -DGLX_GLXEXT_LEGACY -I/usr/pkg/include/freetype2 -MT cpu_accel.lo -MD -MP -MF ".deps/cpu_accel.Tpo" -c -o cpu_accel.lo cpu_accel.c; \
	then mv -f ".deps/cpu_accel.Tpo" ".deps/cpu_accel.Plo"; else rm -f ".deps/cpu_accel.Tpo"; exit 1; fi
mkdir .libs
 cc -DHAVE_CONFIG_H -I. -I.. -pthread -DPNG_NO_ASSEMBLER_CODE -I/pkg_comp/obj/pkgsrc/multimedia/transcode/default/.buildlink/include -DGLX_GLXEXT_LEGACY -I/pkg_comp/obj/pkgsrc/multimedia/transcode/default/.buildlink/include/freetype2 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -MT cpu_accel.lo -MD -MP -MF .deps/cpu_accel.Tpo -c cpu_accel.c  -fPIC -DPIC -o .libs/cpu_accel.o
/tmp/ccca838b.s: Assembler messages:
/tmp/ccca838b.s:87: Error: suffix or operands invalid for `push'
/tmp/ccca838b.s:90: Error: suffix or operands invalid for `pop'
/tmp/ccca838b.s:103: Error: suffix or operands invalid for `push'
/tmp/ccca838b.s:106: Error: suffix or operands invalid for `pop'
/tmp/ccca838b.s:128: Error: suffix or operands invalid for `push'
/tmp/ccca838b.s:131: Error: suffix or operands invalid for `pop'
/tmp/ccca838b.s:142: Error: suffix or operands invalid for `push'
/tmp/ccca838b.s:145: Error: suffix or operands invalid for `pop'
gmake[2]: *** [cpu_accel.lo] Error 1

>How-To-Repeat:
    Try to build multimedia/transcode on amd64
>Fix:
    Same problem, same fix: Check on both __LP64__ and _LP64

$NetBSD$

--- libvo/cpu_accel.c.orig	2005-07-04 09:09:35.000000000 +0200
+++ libvo/cpu_accel.c
@@ -76,7 +76,7 @@ static uint32_t arch_accel (void)
 	/* Slightly weirdified cpuid that preserves the ebx and edi required
 	   by gcc for PIC offset table and frame pointer */
 
-#ifdef __LP64__
+#if defined(__LP64__) || defined(_LP64)
 #  define REG_b "rbx"
 #  define REG_S "rsi"
 #else

>Unformatted: