Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 549608 - sys-process/audit: cross-compiles fail due to build-time programs (e.g. gen_actiontabs_h) compiled with $CC instead of $BUILD_CC
Summary: sys-process/audit: cross-compiles fail due to build-time programs (e.g. gen_a...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: MIPS All
: Normal normal (vote)
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-15 23:36 UTC by ytrezq
Modified: 2017-02-10 01:49 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ytrezq 2015-05-15 23:36:45 UTC
the build process of sys-process/audit creates a small C script for using it during build however crossdev build it for the target platform (mips instead of x86_64) so : 

mips32-uclibc-linux-gcc -fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition -Wl,-O1 -o gen_actiontabs_h gen_actiontabs_h-gen_tables.o -fwhole-program  -Wl,--as-needed
./gen_actiontabs_h --lowercase --i2s --s2i action > actiontabs.h
/bin/sh: ./gen_actiontabs_h: No such file or directory
make[2]: *** [actiontabs.h] Erreur 127
make[2] : on quitte le répertoire « /usr/mips32-uclibc-linux/tmp/portage/sys-process/audit-2.4.1/work/audit-2.4.1-.default/lib »
make[1]: *** [all-recursive] Erreur 1
make[1] : on quitte le répertoire « /usr/mips32-uclibc-linux/tmp/portage/sys-process/audit-2.4.1/work/audit-2.4.1-.default »
make: *** [all] Erreur 2
 [31;01m*[0m ERROR: sys-process/audit-2.4.1::gentoo failed (compile phase):
 [31;01m*[0m   emake failed
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the output of `emerge --info '=sys-process/audit-2.4.1::gentoo'`,
 [31;01m*[0m the complete build log and the output of `emerge -pqv '=sys-process/audit-2.4.1::gentoo'`.
 [31;01m*[0m The complete build log is located at '/usr/mips32-uclibc-linux/tmp/portage/sys-process/audit-2.4.1/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/usr/mips32-uclibc-linux/tmp/portage/sys-process/audit-2.4.1/temp/environment'.
 [31;01m*[0m Working directory: '/usr/mips32-uclibc-linux/tmp/portage/sys-process/audit-2.4.1/work/audit-2.4.1-.default'
 [31;01m*[0m S: '/usr/mips32-uclibc-linux/tmp/portage/sys-process/audit-2.4.1/work/audit-2.4.1'
Comment 1 ytrezq 2015-05-16 12:02:28 UTC
Ok, CBUILD was set correctly (x86_64-pc-linux-gnu)

dev-lang/perl-5.20.2-r1 is also impacted by this bug:

no idea of the reason of this message "No targethost for running compiler tests against defined, running locally" in :

[32;01m * [39;49;00mPackage:    dev-lang/perl-5.20.2-r1
[32;01m * [39;49;00mRepository: gentoo
[32;01m * [39;49;00mMaintainer: perl@gentoo.org
[32;01m * [39;49;00mUSE:        elibc_uclibc kernel_linux mips userland_GNU
[32;01m * [39;49;00mFEATURES:   nostrip preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking perl-5.20.2.tar.bz2 to /usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work
>>> Unpacking perl-5.20.2-patches-2.tar.xz to /usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work
>>> Source unpacked in /usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work
>>> Preparing source in /usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work/perl-5.20.2 ...
 [32;01m*[0m Applying patches from perl-5.20.2-2 ...
 [32;01m*[0m   gentoo/hints_hpux.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/aix_soname.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/EUMM-RUNPATH.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/config_over.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/opensolaris_headers.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/patchlevel.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/cpanplus_definstalldirs.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/cleanup-paths.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/enc2xs.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/enc2xs_checksums.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/darwin-cc-ld.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/cpan_definstalldirs.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/interix.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/create_libperl_soname.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/mod_paths.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/EUMM_delete_packlist.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/drop_fstack_protector.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/usr_local.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/D-SHA-CFLAGS.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   gentoo/io_socket_ip_tests.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   debian/cpan-missing-site-dirs.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   debian/regcomp-mips-optim.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   debian/perldoc-less-R.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   debian/makemaker-pasthru.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   fixes/net_smtp_docs.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   fixes/memoize_storable_nstore.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   fixes/document_makemaker_ccflags.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
 [32;01m*[0m   fixes/gcc5.diff ...
[A[202C [34;01m[ [32;01mok[34;01m ][0m
>>> Source prepared.
>>> Configuring source in /usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work/perl-5.20.2 ...
First let's make sure your kit is complete.  Checking...
Locating common programs...
Checking compatibility between /bin/echo and builtin echo (if any)...
Symbolic links are supported.
Checking how to test for symbolic links...
You can test for symbolic links with 'test -h'.
Checking for cross-compile
No targethost for running compiler tests against defined, running locally
Good, your tr supports [:lower:] and [:upper:] to convert case.
Using [:upper:] and [:lower:] to convert case.
aix   	     aux_3   	   cygwin   	 dynix        freemint        haiku   	  irix_6   	    linux   	    ncr_tower     nonstopux   	posix-bc      sco_2_3_1     sunos_4_0     ultrix_4   	  uwin   
aix_3        bitrig   	   darwin   	 dynixptx     genix   	      hpux   	  irix_6_0   	    lynxos   	    netbsd   	  openbsd   	powerux       sco_2_3_2     sunos_4_1     umips   	  vos   
aix_4        bsdos   	   dcosx   	 epix         gnu   	      i386   	  irix_6_1   	    midnightbsd     newsos4   	  opus   	qnx   	      sco_2_3_3     super-ux      unicos   
altos486     catamount     dec_osf   	 esix4        gnukfreebsd     interix     isc   	    mips   	    next_3   	  os2   	riscos        sco_2_3_4     svr4   	  unicosmk   
amigaos      convexos      dos_djgpp     fps          gnuknetbsd      irix_4      isc_2   	    mirbsd   	    next_3_0      os390   	sco   	      solaris_2     svr5   	  unisysdynix   
atheos       cxux   	   dragonfly     freebsd      greenhills      irix_5      linux-android     mpc   	    next_4   	  os400   	sco_2_3_0     stellar       ti1500   	  utekv   
Which of these apply, if any? [linux]  
./hints/linux.sh: line 227: ./a.out: No such file or directory

You don't have an ELF gcc.  I will use dld if possible.  If you are
using a version of DLD earlier than 3.2.6, or don't have it at all, you
should probably upgrade. If you are forced to use 3.2.4, you should
uncomment a couple of lines in hints/linux.sh and restart Configure so
that shared libraries will be disallowed.


Disabling ndbm.  This will generate a Whoa There message in Configure.
Read hints/linux.sh for further information.
/usr/bin/nm: /usr/lib/libdb.so: no symbols
Operating system name? [linux]  
Operating system version? [3.16.0-rc7-ck2]  
Installation prefix to use? (~name ok) [/usr]  
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok) [/usr]  
Getting the current patchlevel...
Build a threading Perl? [n]  
Build Perl for multiplicity? [n]  
Use which C compiler?
[mips32-uclibc-linux-gcc]  
Checking for GNU cc in disguise and/or its version number...
Configure: line 4550: ./try: No such file or directory
Directories to use for library searches? [/usr/lib/../lib64 /usr/lib]  
What is the file extension used for shared libraries? [sa]  
Make shared library basenames unique? [n]  
Build Perl for SOCKS? [n]  
Try to use long doubles if available? [n]  
Checking for optional libraries...
What libraries to use? [-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat]  
What optimizer/debugger flag should be used?
[ -fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition]  
Any additional cc flags? [-DOVR_DBL_DIG=14]  
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)? [-Wl,--as-needed -Wl,-O1]  
Checking your choice of C compiler and flags for coherency...
I've tried to compile and run the following simple program:

#include <stdio.h>
int main() { printf("Ok\n"); return(0); }

I used the command:

	mips32-uclibc-linux-gcc -fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition -DOVR_DBL_DIG=14 -Wl,--as-needed -Wl,-O1 try.c -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
	 ./try

and I got the following output:

/bin/sh: ./try: No such file or directory
The program compiled OK, but exited with status 127.
You have a problem.  Shall I abort Configure [y]  
Ok.  Stopping Configure.
 [31;01m*[0m ERROR: dev-lang/perl-5.20.2-r1::gentoo failed (configure phase):
 [31;01m*[0m   Unable to configure
 [31;01m*[0m 
 [31;01m*[0m Call stack:
 [31;01m*[0m                       ebuild.sh, line   93:  Called src_configure
 [31;01m*[0m                     environment, line 2581:  Called eblit-run 'src_configure' 'v50180002'
 [31;01m*[0m                     environment, line  793:  Called eblit-perl-src_configure
 [31;01m*[0m   src_configure-v50180002.eblit, line  145:  Called die
 [31;01m*[0m The specific snippet of code:
 [31;01m*[0m   	sh Configure \
 [31;01m*[0m   		-des \
 [31;01m*[0m   		-Duseshrplib \
 [31;01m*[0m   		-Darchname="${myarch}" \
 [31;01m*[0m   		-Dcc="$(tc-getCC)" \
 [31;01m*[0m   		-Doptimize="${CFLAGS}" \
 [31;01m*[0m   		-Dldflags="${LDFLAGS}" \
 [31;01m*[0m   		-Dprefix="${EPREFIX}"'/usr' \
 [31;01m*[0m   		-Dinstallprefix="${EPREFIX}"'/usr' \
 [31;01m*[0m   		-Dsiteprefix="${EPREFIX}"'/usr/local' \
 [31;01m*[0m   		-Dvendorprefix="${EPREFIX}"'/usr' \
 [31;01m*[0m   		-Dscriptdir="${EPREFIX}"'/usr/bin' \
 [31;01m*[0m   		-Dprivlib="${EPREFIX}${PRIV_LIB}" \
 [31;01m*[0m   		-Darchlib="${EPREFIX}${ARCH_LIB}" \
 [31;01m*[0m   		-Dsitelib="${EPREFIX}${SITE_LIB}" \
 [31;01m*[0m   		-Dsitearch="${EPREFIX}${SITE_ARCH}" \
 [31;01m*[0m   		-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
 [31;01m*[0m   		-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
 [31;01m*[0m   		-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
 [31;01m*[0m   		-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
 [31;01m*[0m   		-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
 [31;01m*[0m   		-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
 [31;01m*[0m   		-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
 [31;01m*[0m   		-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
 [31;01m*[0m   		-Dman1ext='1' \
 [31;01m*[0m   		-Dman3ext='3pm' \
 [31;01m*[0m   		-Dlibperl="${LIBPERL}" \
 [31;01m*[0m   		-Dlocincpth="${EPREFIX}"'/usr/include ' \
 [31;01m*[0m   		-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
 [31;01m*[0m   		-Duselargefiles \
 [31;01m*[0m   		-Dd_semctl_semun \
 [31;01m*[0m   		-Dcf_by='Gentoo' \
 [31;01m*[0m   		-Dmyhostname='localhost' \
 [31;01m*[0m   		-Dperladmin='root@localhost' \
 [31;01m*[0m   		-Dinstallusrbinperl='n' \
 [31;01m*[0m   		-Ud_csh \
 [31;01m*[0m   		-Uusenm \
 [31;01m*[0m   		"${myconf[@]}" || die "Unable to configure"
 [31;01m*[0m 
 [31;01m*[0m If you need support, post the output of `emerge --info '=dev-lang/perl-5.20.2-r1::gentoo'`,
 [31;01m*[0m the complete build log and the output of `emerge -pqv '=dev-lang/perl-5.20.2-r1::gentoo'`.
 [31;01m*[0m The complete build log is located at '/usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/temp/build.log'.
 [31;01m*[0m The ebuild environment file is located at '/usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/temp/environment'.
 [31;01m*[0m Working directory: '/usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work/perl-5.20.2'
 [31;01m*[0m S: '/usr/mips32-uclibc-linux/tmp/portage/dev-lang/perl-5.20.2-r1/work/perl-5.20.2'

From that log, it also call the host nm on a host library :
"/usr/bin/nm: /usr/lib/libdb.so: no symbols"


=================================================================
                         System Settings
=================================================================
System uname: Linux-3.16.0-rc7-ck2-x86_64-Intel-R-_Core-TM-_i5-3450S_CPU_@_2.80GHz-with-gentoo-2.2
KiB Mem:    15854796 total,  11316316 free
KiB Swap:   26675928 total,  26286052 free
Timestamp of tree: Sun, 10 May 2015 21:30:01 +0000
Repositories: gentoo
ACCEPT_KEYWORDS="mips ~mips"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition"
CHOST="mips32-uclibc-linux"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d"
CPPFLAGS="-fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition"
CXXFLAGS="-fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nodoc nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-fmodulo-sched -fmodulo-sched-allow-regmoves -Os -mips32 -march=mips32 -mtune=mips32 -membedded-data -mips16 -pipe -freorder-blocks-and-partition"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,--as-needed -Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/mips32-uclibc-linux/packages/"
PORTAGE_CONFIGROOT="/usr/mips32-uclibc-linux/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/usr/mips32-uclibc-linux/tmp/"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
USE="apng bzip2 cscope cytune edit fdformat fixed-point gmp gnutls gpm graphite hardfloat i18n iconv icu idn ipc ipv6 jpeg kdrive less lto lzma make-symlinks math mclib mdev minimal minizip mips mipsfpu multicall multitarget ncurses networking nls nptl oom pcre pgo plugins png python3 savedconfig sharedmem ssl static-libs svg tiff tinfo tls tty-helpers uclibc-compat unicode utils vim-pager wide-unicode wordexp zlib" CURL_SSL="gnutls" ELIBC="uclibc" INPUT_DEVICES="evdev mouse keyboard tslib" KERNEL="linux" LINGUAS="fr" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python3_4 python2_7" USERLAND="GNU" VIDEO_CARDS="fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Comment 2 SpanKY gentoo-dev 2015-05-18 16:02:46 UTC
this has nothing to do with crossdev, nor is it amd64 or mips specific.  some packages simply do not properly cross-compile.  please don't post reports about diff packages to the same bug.

this bug now is just about sys-process/audit.
Comment 3 SpanKY gentoo-dev 2017-02-10 01:49:41 UTC
should be fixed with:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4217595a8c17bec873832d6c58f13c7da6b6f997

let us know how it works out