Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 246722 - media-{video,libs}/x264{,-encoder} - missing --host=CHOST for cross-compiling
Summary: media-{video,libs}/x264{,-encoder} - missing --host=CHOST for cross-compiling
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-14 13:48 UTC by Phattanon Duangdara
Modified: 2008-11-17 09:44 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Emerge output from chrooted i686 build on amd64 system (build.log,16.71 KB, text/plain)
2008-11-14 13:52 UTC, Phattanon Duangdara
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phattanon Duangdara 2008-11-14 13:48:35 UTC
media-libs/x264 failed to cross compile.

Ebuild does not pass --host=CHOST to ./configure script and configure script then use config.guess to determine host system.

This result in incorrect ARCH used for gcc and yasm. It produce amd64 binary and cannot be link on ix86 host system library.

This will happen when cross compiling or doing chroot build
from different arch (such as build chrooted x86 on amd64 system)

Affected ebuilds 
x264-0.0.20070924.ebuild
x264-0.0.20080406.ebuild 
x264-0.0.20081006.ebuild
x264-0.0.20080301.ebuild
x264-0.0.20080819.ebuild

This can be fix by adding --host=${CHOST} to configure argumens

--- x264-0.0.20081006.ebuild	2008-11-14 13:42:42.435704547 +0000
+++ x264-0.0.20081006-r1.ebuild	2008-11-14 13:05:50.538732872 +0000
@@ -38,6 +38,7 @@
 		"--extra-cflags=${CFLAGS}" \
 		"--extra-ldflags=${LDFLAGS}" \
 		"--extra-asflags=${ASFLAGS}" \
+		"--host=${CHOST}" \
 		$(use_enable threads pthread) \
 		${myconf} \
 		--disable-mp4-output \


Reproducible: Always

Steps to Reproduce:
1. Use amd64 system to build x86 chroot target
2. emerge x264 or x264-encoder

Actual Results:  
Ebuild failed to compile because it produce amd64 binary and cannot be link on ix86 host system library.

Expected Results:  
Ebuild compile success with correct binary for system host inside chroot or cross compiling.

------ emerge --info ------

Portage 2.2_rc14 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r6 x86_64)
=================================================================
System uname: Linux-2.6.25-gentoo-r6-x86_64-AMD_Phenom-tm-_9550_Quad-Core_Processor-with-glibc2.0
Timestamp of tree: Thu, 13 Nov 2008 17:16:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -pipe -march=prescott"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-Os -pipe -march=prescott"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.in.th http://masterdistfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam firefox flag fortran fuse gdbm gif glitz gnome gpm gstreamer gtk hal iconv ipod ipv6 isdnlog jpeg libnotify mad midi mikmod mmx mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support quicktime readline reflection samba sdl session spell spl sse sse2 ssl startup-notification svg sysfs tcpd theora tiff truetype unicode usb vorbis win32codecs x264 x86 xcb xcomposize xfce4 xinerama xml xorg xosd xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev i810 intel vesa vga vmware v4l"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Phattanon Duangdara 2008-11-14 13:52:00 UTC
Created attachment 171715 [details]
Emerge output from chrooted i686 build on amd64 system
Comment 2 Alexis Ballier gentoo-dev 2008-11-17 09:44:10 UTC
fixed in 20081006, thanks