It has happened several times for the last 10 years, a program to fail during the configure stage with a strange error:
checking whether we are cross compiling... * /var/tmp/portage/sys-apps/sandbox-2.12/work/sandbox-2.12/libsandbox/libsandbox.c:check_syscall():968: failure (Value too large for defined data type): * ISE: fopen_wr(conftest.out) abs_path: (null) res_path: /var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86/conftest.out configure: error: in `/var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86': configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details
It’s like the “./conftest” is made and the execution failed?
Last package it happened was when trying to build
but it is not especially related to this Gentoo package or even to Gentoo!
And the debug.log is not informative neither:
configure:3793: ./conftest /usr/lib32/libsandbox.so(+0xb238)[0xf7738238] /usr/lib32/libsandbox.so(+0xb2c7)[0xf77382c7] /usr/lib32/libsandbox.so(+0x40b1)[0xf77310b1] /usr/lib32/libsandbox.so(+0x421e)[0xf773121e] /usr/lib32/libsandbox.so(fopen+0x55)[0xf7733e45] ./conftest(+0x4a1)[0x565754a1] /lib32/libc.so.6(__libc_start_main+0xf6)[0xf7561956] ./conftest(+0x508)[0x56575508] /proc/23882/cmdline: ./conftest /var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13/configure: line 3795: 23882 Aborted ./conftest$ac_cv_exeext configure:3797: $? = 134 configure:3804: error: in `/var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13-abi_x86_32.x86': configure:3806: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details
After some debugging it turned out the problem was the
The root was formatted with XFS and therefore
where all the compilation occurred was on a xfs formatted partition!
It is easy to resolve the issue, just mount your “/var/tmp/portage” on another filesystem, if you do not have any spare devices or places with other filesystem, you could always mount it using
(using your memory for the directory) like this:
mount -t tmpfs -o size=4096m tmpfs /var/tmp/portage/
You can adjust the size with “size” parameter, but most of the program require a way below 4G of space. And do not forget mounting your build directory in the tmpfs speeds up the emerge process significantly!
And probably it is a good idea before mounting it to delete all old sub-directories, because they can take much space and they are left there after failed compilations of packages.
rm -R /var/tmp/portage/*
PS: It was the same with compilation of
configure: updating cache ./config.cache * /var/tmp/portage/sys-apps/sandbox-2.13/work/sandbox-2.13/libsandbox/libsandbox.c:check_syscall():968: failure (Value too large for defined data type): * ISE: fopen_wr(conftest.val) abs_path: (null) res_path: /var/tmp/portage/sys-devel/gcc-7.3.0/work/build/x86_64-pc-linux-gnu/32/libgomp/conftest.val configure: error: unsupported system, cannot find sizeof (omp_lock_t) make: *** [Makefile:20106: configure-stage1-target-libgomp] Error 1 make: Leaving directory '/var/tmp/portage/sys-devel/gcc-7.3.0/work/build' make: *** [Makefile:22189: stage1-bubble] Error 2 make: Leaving directory '/var/tmp/portage/sys-devel/gcc-7.3.0/work/build' make: *** [Makefile:22521: bootstrap-lean] Error 2 * ERROR: sys-devel/gcc-7.3.0::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=sys-devel/gcc-7.3.0::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-7.3.0::gentoo'`. * The complete build log is located at '/var/tmp/portage/sys-devel/gcc-7.3.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-7.3.0/temp/environment'. * Working directory: '/var/tmp/portage/sys-devel/gcc-7.3.0/work/build' * S: '/var/tmp/portage/sys-devel/gcc-7.3.0/work/gcc-7.3.0' * * Please include /var/tmp/portage/sys-devel/gcc-7.3.0/work/gcc-build-logs.tar.bz2 in your bug report. * >>> Failed to emerge sys-devel/gcc-7.3.0, Log file:
The problem is the same, compiling on