Typically with autoconf test results are stored in ac_cv_.... variables and the test is only run if the value is unset. So you can export the test result in advance. It isn't always obvious what the right variable name is but the full list of them can be found in config.log after a successful run of the configure script. In this case it appears to be x_ac_cv_check_fifo_recvfd=no so as a quick test simply do:
export x_ac_cv_check_fifo_recvfd=no emerge-amd64-usr sys-auth/munge If that works you can that export to the ebuild itself (we place modified ebuilds in coreos-overlay instead of portage-stable) or to leave the ebuild as-is you can drop in an appropriately named file into the overlay similar to this one: https://github.com/coreos/coreos-overlay/blob/master/coreos/config/env/app-admin/setools Hope that helps. On Fri, Dec 2, 2016 at 12:43 PM, <[email protected]> wrote: > After successful ./build_packages circular dependencies error is gone > And with the command emerge-amd64-usr sys-auth/munge the pakage begins > configuring, but fails with error: cannot run test program while cross > compiling > > user@ubuntu ~/trunk/src/scripts $ emerge-amd64-usr sys-auth/munge > Calculating dependencies... done! > >>>> Verifying ebuild manifests > >>>> Emerging (1 of 1) sys-auth/munge-0.5.10-r1::portage-stable for >>>> /build/amd64-usr/ > * munge-0.5.10.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ... > [ ok ] > * Running stacked hooks for pre_pkg_setup > * sysroot_build_bin_dir ... > [ ok ] > * Running stacked hooks for pre_src_unpack > * python_multilib_setup ... > [ ok ] >>>> Unpacking source... >>>> Unpacking munge-0.5.10.tar.bz2 to >>>> /build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work >>>> Source unpacked in >>>> /build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work >>>> Preparing source in >>>> /build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10 >>>> ... >>>> Source prepared. >>>> Configuring source in >>>> /build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10 >>>> ... > * econf: updating munge-0.5.10/config/config.guess with > /usr/share/gnuconfig/config.guess > * econf: updating munge-0.5.10/config/config.sub with > /usr/share/gnuconfig/config.sub > ./configure --prefix=/usr --build=x86_64-pc-linux-gnu > --host=x86_64-cros-linux-gnu --mandir=/usr/share/man > --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc > --localstatedir=/var/lib --disable-dependency-tracking --libdir=/usr/lib64 > --with-crypto-lib=openssl --localstatedir=/var > configure: loading site script /usr/share/config.site > configure: loading site script /usr/share/crossdev/include/site/linux > configure: loading site script /usr/share/crossdev/include/site/linux-gnu > configure: loading site script > /usr/share/crossdev/include/site/x86_64-linux-gnu > checking metadata... yes > checking build system type... x86_64-pc-linux-gnu > checking host system type... x86_64-cros-linux-gnu > checking for a sense of humor... yes > checking installation directory variables... yes > checking for a BSD-compatible install... > /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c > checking whether build environment is sane... yes > checking for x86_64-cros-linux-gnu-strip... x86_64-cros-linux-gnu-strip > checking for a thread-safe mkdir -p... /bin/mkdir -p > checking for gawk... gawk > checking whether make sets $(MAKE)... yes > checking whether to enable maintainer-specific portions of Makefiles... no > checking for style of include used by make... GNU > checking for x86_64-cros-linux-gnu-gcc... x86_64-cros-linux-gnu-gcc > checking whether the C compiler works... yes > checking for C compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... yes > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether x86_64-cros-linux-gnu-gcc accepts -g... yes > checking for x86_64-cros-linux-gnu-gcc option to accept ISO C89... none > needed > checking dependency style of x86_64-cros-linux-gnu-gcc... none > checking how to run the C preprocessor... x86_64-cros-linux-gnu-gcc -E > checking for grep that handles long lines and -e... /bin/grep > checking for egrep... /bin/grep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking minix/config.h usability... no > checking minix/config.h presence... no > checking for minix/config.h... no > checking whether it is safe to define __EXTENSIONS__... yes > checking for specified code architecture... no > checking for x86_64-cros-linux-gnu-gcc... (cached) x86_64-cros-linux-gnu-gcc > checking whether we are using the GNU C compiler... (cached) yes > checking whether x86_64-cros-linux-gnu-gcc accepts -g... (cached) yes > checking for x86_64-cros-linux-gnu-gcc option to accept ISO C89... (cached) > none needed > checking dependency style of x86_64-cros-linux-gnu-gcc... (cached) none > checking whether x86_64-cros-linux-gnu-gcc and cc understand -c and -o > together... yes > checking for a sed that does not truncate output... /bin/sed > checking for fgrep... /bin/grep -F > checking for ld used by x86_64-cros-linux-gnu-gcc... > /usr/libexec/gcc/x86_64-cros-linux-gnu/ld > checking if the linker (/usr/libexec/gcc/x86_64-cros-linux-gnu/ld) is GNU > ld... yes > checking for BSD- or MS-compatible name lister (nm)... > /usr/bin/x86_64-cros-linux-gnu-nm -B > checking the name lister (/usr/bin/x86_64-cros-linux-gnu-nm -B) interface... > BSD nm > checking whether ln -s works... yes > checking the maximum length of command line arguments... 1572864 > checking whether the shell understands some XSI constructs... yes > checking whether the shell understands "+="... yes > checking for /usr/libexec/gcc/x86_64-cros-linux-gnu/ld option to reload > object files... -r > checking for x86_64-cros-linux-gnu-objdump... x86_64-cros-linux-gnu-objdump > checking how to recognize dependent libraries... pass_all > checking for x86_64-cros-linux-gnu-ar... x86_64-cros-linux-gnu-ar > checking for x86_64-cros-linux-gnu-strip... (cached) > x86_64-cros-linux-gnu-strip > checking for x86_64-cros-linux-gnu-ranlib... x86_64-cros-linux-gnu-ranlib > checking command to parse /usr/bin/x86_64-cros-linux-gnu-nm -B output from > x86_64-cros-linux-gnu-gcc object... ok > checking for dlfcn.h... yes > checking for objdir... .libs > checking if x86_64-cros-linux-gnu-gcc supports -fno-rtti -fno-exceptions... > no > checking for x86_64-cros-linux-gnu-gcc option to produce PIC... -fPIC -DPIC > checking if x86_64-cros-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes > checking if x86_64-cros-linux-gnu-gcc static flag -static works... yes > checking if x86_64-cros-linux-gnu-gcc supports -c -o file.o... yes > checking if x86_64-cros-linux-gnu-gcc supports -c -o file.o... (cached) yes > checking whether the x86_64-cros-linux-gnu-gcc linker > (/usr/libexec/gcc/x86_64-cros-linux-gnu/ld -m elf_x86_64) supports shared > libraries... yes > checking whether -lc should be explicitly linked in... no > checking dynamic linker characteristics... GNU/Linux ld.so > checking how to hardcode library paths into programs... immediate > checking whether stripping libraries is possible... yes > checking if libtool supports shared libraries... yes > checking whether to build shared libraries... yes > checking whether to build static libraries... yes > checking whether make sets $(MAKE)... (cached) yes > checking whether debugging is enabled... no > checking how to link against pthreads... -lpthread > checking for BZ2_bzBuffToBuffCompress in default libs... no > checking for BZ2_bzBuffToBuffCompress in -lbz2... yes > checking for compress in default libs... no > checking for compress in -lz... yes > checking for library containing gethostbyname... none required > checking for library containing socket... none required > checking for libgcrypt-config... /usr/bin/libgcrypt-config > checking for LIBGCRYPT - version >= 1.2.0... yes (1.6.5) > checking LIBGCRYPT API version... okay > checking for OpenSSL installation... /usr > checking which cryptographic library to use... openssl > checking for ERR_error_string_n... yes > checking for EVP_CipherInit_ex... yes > checking for EVP_DigestInit_ex... yes > checking for EVP_aes_128_cbc... yes > checking for EVP_aes_256_cbc... yes > checking for EVP_sha256... yes > checking for EVP_sha512... yes > checking for HMAC_Init_ex... yes > checking for CRYPTO_dynlock... yes > checking for ANSI C header files... (cached) yes > checking bzlib.h usability... yes > checking bzlib.h presence... yes > checking for bzlib.h... yes > checking standards.h usability... no > checking standards.h presence... no > checking for standards.h... no > checking zlib.h usability... yes > checking zlib.h presence... yes > checking for zlib.h... yes > checking whether byte ordering is bigendian... no > checking for an ANSI C-conforming const... yes > checking for uid_t in sys/types.h... yes > checking for socklen_t... yes > checking for localtime_r... yes > checking for sysconf... yes > checking for inet_ntop... yes > checking for strlcat... no > checking for strlcpy... no > checking for getgrent... yes > checking for getgrent_r (AIX)... no > checking for getgrent_r (GNU)... yes > checking for getgrent_r (SunOS)... no > checking for getpwnam... yes > checking for getpwnam_r (AIX)... no > checking for getpwnam_r (POSIX)... yes > checking for getpwnam_r (SunOS)... no > configure: checking authentication support > checking for getpeereid... no > checking for getpeerucred... no > checking ucred.h usability... no > checking ucred.h presence... no > checking for ucred.h... no > checking for struct ucred... yes > checking for SO_PEERCRED sockopt... yes > checking for struct xucred... no > checking for LOCAL_PEERCRED sockopt... no > checking for struct strrecvfd... yes > checking if file descriptors can be passed over a fifo... configure: error: > in > `/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10': > configure: error: cannot run test program while cross compiling > See `config.log' for more details > > !!! Please attach the following file when seeking support: > !!! > /build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10/config.log > * ERROR: sys-auth/munge-0.5.10-r1::portage-stable failed (configure phase): > * econf failed > * > * Call stack: > * ebuild.sh, line 133: Called src_configure > * environment, line 743: Called econf > '--with-crypto-lib=openssl' '--localstatedir=/var' > * phase-helpers.sh, line 662: Called __helpers_die 'econf failed' > * isolated-functions.sh, line 117: Called die > * The specific snippet of code: > * die "$@" > * > * If you need support, post the output of `emerge --info > '=sys-auth/munge-0.5.10-r1::portage-stable'`, > * the complete build log and the output of `emerge -pqv > '=sys-auth/munge-0.5.10-r1::portage-stable'`. > * The complete build log is located at > '/build/amd64-usr/var/log/portage/sys-auth:munge-0.5.10-r1:20161202-202336.log'. > * For convenience, a symlink to the build log is located at > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/temp/build.log'. > * The ebuild environment file is located at > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/temp/environment'. > * Working directory: > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10' > * S: > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10' > >>>> Failed to emerge sys-auth/munge-0.5.10-r1 for /build/amd64-usr/, Log >>>> file: > >>>> >>>> '/build/amd64-usr/var/log/portage/sys-auth:munge-0.5.10-r1:20161202-202336.log' > > * Messages for package sys-auth/munge-0.5.10-r1 merged to > /build/amd64-usr/: > > * ERROR: sys-auth/munge-0.5.10-r1::portage-stable failed (configure phase): > * econf failed > * > * Call stack: > * ebuild.sh, line 133: Called src_configure > * environment, line 743: Called econf > '--with-crypto-lib=openssl' '--localstatedir=/var' > * phase-helpers.sh, line 662: Called __helpers_die 'econf failed' > * isolated-functions.sh, line 117: Called die > * The specific snippet of code: > * die "$@" > * > * If you need support, post the output of `emerge --info > '=sys-auth/munge-0.5.10-r1::portage-stable'`, > * the complete build log and the output of `emerge -pqv > '=sys-auth/munge-0.5.10-r1::portage-stable'`. > * The complete build log is located at > '/build/amd64-usr/var/log/portage/sys-auth:munge-0.5.10-r1:20161202-202336.log'. > * For convenience, a symlink to the build log is located at > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/temp/build.log'. > * The ebuild environment file is located at > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/temp/environment'. > * Working directory: > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10' > * S: > '/build/amd64-usr/var/tmp/portage/sys-auth/munge-0.5.10-r1/work/munge-0.5.10' > > > I tried to edit configure script, but it overwrites every time. > Without cross compilling emerge sys-auth/munge works fine. > Is there a way to deal with the error? > > пятница, 2 декабря 2016 г., 23:29:38 UTC+3 пользователь Michael Marineau > написал: >> >> Using the build_packages script will automatically break this cycle. >> >> >
