Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 563650 - dev-lang/erlang-18.1 fails to build on x32 - gentoo-x32 gcc-4.9.3 __builtin_choose_expr missing
Summary: dev-lang/erlang-18.1 fails to build on x32 - gentoo-x32 gcc-4.9.3 __builtin_c...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: x32
  Show dependency tree
 
Reported: 2015-10-21 08:48 UTC by r01
Modified: 2017-07-18 10:37 UTC (History)
0 users

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 r01 2015-10-21 08:48:59 UTC
dev-lang/erlang-18.1 unable to build on gentoo-x32, please block 393673.

it failed on __builtin_choose_expr builtin missing, while according to gcc website, this builtin should be available since gcc-3.1
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Other-Builtins.html

$ cat abc.c

typedef unsigned long long UWord;

# define ERTS_CT_ASSERT(e) \
    do { \
	enum { compile_time_assert__ = __builtin_choose_expr((e),0,(void)0) }; \
    } while(0)

struct Allctr_t;

void test1() {
    ERTS_CT_ASSERT(sizeof(UWord) == sizeof(struct Allctr_t *));
}

$ gcc -Wall -c abc.c
abc.c: In function 'test1':
abc.c:6:33: error: enumerator value for 'compile_time_assert__' is not an integer constant
  enum { compile_time_assert__ = __builtin_choose_expr((e),0,(void)0) }; \
                                 ^
abc.c:12:5: note: in expansion of macro 'ERTS_CT_ASSERT'
     ERTS_CT_ASSERT(sizeof(UWord) == sizeof(struct Allctr_t *));
     ^

$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnux32/gcc-bin/4.9.3/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnux32/4.9.3/lto-wrapper
Target: x86_64-pc-linux-gnux32
Configured with: /var/tmp/portage/sys-devel/gcc-4.9.3/work/gcc-4.9.3/configure --host=x86_64-pc-linux-gnux32 --build=x86_64-pc-linux-gnux32 --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnux32/gcc-bin/4.9.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnux32/4.9.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnux32/4.9.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnux32/4.9.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnux32/4.9.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnux32/4.9.3/include/g++-v4 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnux32/4.9.3/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.9.3 p1.2, pie-0.6.3' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m64,m32,mx32 --disable-altivec --disable-fixed-point --with-abi=mx32 --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --enable-lto --without-cloog --enable-libsanitizer
Thread model: posix
gcc version 4.9.3 (Gentoo 4.9.3 p1.2, pie-0.6.3) 


$ emerge --info

Portage 2.2.20.1 (python 3.4.3-final-0, unavailable, gcc-4.9.3, glibc-2.20-r2, 4.2.0-16-generic x86_64)
=================================================================
System uname: Linux-4.2.0-16-generic-x86_64-Intel-R-_Core-TM-_i7-4770HQ_CPU_@_2.20GHz-with-gentoo-2.2
KiB Mem:    16339104 total,   1671412 free
KiB Swap:    4194300 total,   4194172 free
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
dev-lang/python:          2.7.10::gentoo, 3.4.3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
Repositories:

ACCEPT_LICENSE="* -@EULA"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnux32"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="bindist mmx sse sse2"
Unset:  ACCEPT_KEYWORDS, EMERGE_DEFAULT_OPTS, PORTAGE_BUNZIP2_COMMAND
Comment 1 Dirkjan Ochtman (RETIRED) gentoo-dev 2017-07-18 08:12:08 UTC
I will not be maintaining erlang anymore, sorry. If you can contribute, please work with the proxy maintenance team.
Comment 2 Pacho Ramos gentoo-dev 2017-07-18 10:37:12 UTC
please retry with 20.0