https://bugzilla.redhat.com/show_bug.cgi?id=1023960
Bug ID: 1023960 Summary: erlang-R16B-02.2.fc20 fails to build on secondary arches Product: Fedora Version: 20 Component: erlang Assignee: lemenkov@gmail.com Reporter: dan@danny.cz QA Contact: extras-qa@fedoraproject.org CC: erlang@lists.fedoraproject.org, lemenkov@gmail.com, rhbugs@n-dimensional.de Blocks: 467765 (ZedoraTracker)
erlang-R16B-02 fails to build on secondary arches, seen on ppc and s390, but I guess aarch64 would also fail.
from s390 build.log (http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1243484): ... gcc -Werror=return-type -O3 -fomit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m31 -march=z9-109 -mtune=z10 -fno-strict-aliasing -I/builddir/build/BUILD/otp_src_R16B02/erts/s390-ibm-linux-gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-tree-copyrename -D_GNU_SOURCE -DERTS_SMP -DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -DUSE_THREADS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -Is390-ibm-linux-gnu/opt/smp -Ibeam -Isys/unix -Isys/common -Is390-ibm-linux-gnu -Ipcre -Ihipe -I../include -I../include/s390-ibm-linux-gnu -I../include/internal -I../include/internal/s390-ibm-linux-gnu -c beam/erl_bif_info.c -o obj/s390-ibm-linux-gnu/opt/smp/erl_bif_info.o In file included from beam/erl_bif_info.c:30:0: beam/erl_bif_info.c: In function 'system_info_1': beam/erl_bif_info.c:2073:10: error: 'hipe_arch_name' undeclared (first use in this function) BIF_RET(hipe_arch_name); ^ beam/bif.h:118:28: note: in definition of macro 'BIF_RET' #define BIF_RET(x) return (x) ^ beam/erl_bif_info.c:2073:10: note: each undeclared identifier is reported only once for each function it appears in BIF_RET(hipe_arch_name); ^ beam/bif.h:118:28: note: in definition of macro 'BIF_RET' #define BIF_RET(x) return (x) ^ make[3]: Leaving directory `/builddir/build/BUILD/otp_src_R16B02/erts/emulator' make[3]: *** [obj/s390-ibm-linux-gnu/opt/smp/erl_bif_info.o] Error 1
from ppc build.log (http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1483569): ... gcc -Werror=return-type -O3 -fomit-frame-pointer -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m32 -fno-strict-aliasing -I/builddir/build/BUILD/otp_src_R16B02/erts/powerpc-redhat-linux-gnu -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fno-tree-copyrename -D_GNU_SOURCE -DERTS_SMP -DHAVE_CONFIG_H -Wall -Wstrict-prototypes -Wmissing-prototypes -Wdeclaration-after-statement -DUSE_THREADS -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -Ipowerpc-redhat-linux-gnu/opt/smp -Ibeam -Isys/unix -Isys/common -Ipowerpc-redhat-linux-gnu -Ipcre -Ihipe -I../include -I../include/powerpc-redhat-linux-gnu -I../include/internal -I../include/internal/powerpc-redhat-linux-gnu -c beam/erl_bif_info.c -o obj/powerpc-redhat-linux-gnu/opt/smp/erl_bif_info.o In file included from beam/erl_bif_info.c:30:0: beam/erl_bif_info.c: In function 'system_info_1': hipe/hipe_ppc.h:63:24: error: 'am_powerpc' undeclared (first use in this function) #define hipe_arch_name am_powerpc ^ beam/bif.h:118:28: note: in definition of macro 'BIF_RET' #define BIF_RET(x) return (x) ^ beam/erl_bif_info.c:2073:10: note: in expansion of macro 'hipe_arch_name' BIF_RET(hipe_arch_name); ^ hipe/hipe_ppc.h:63:24: note: each undeclared identifier is reported only once for each function it appears in #define hipe_arch_name am_powerpc ^ beam/bif.h:118:28: note: in definition of macro 'BIF_RET' #define BIF_RET(x) return (x) ^ beam/erl_bif_info.c:2073:10: note: in expansion of macro 'hipe_arch_name' BIF_RET(hipe_arch_name); ^ make[3]: *** [obj/powerpc-redhat-linux-gnu/opt/smp/erl_bif_info.o] Error 1 make[3]: Leaving directory `/builddir/build/BUILD/otp_src_R16B02/erts/emulator'
Version-Release number of selected component (if applicable): erlang-R16B-02.2.fc20
proposed solution: diff --git a/erlang.spec b/erlang.spec index 1d4cbfd..50bbe68 100644 --- a/erlang.spec +++ b/erlang.spec @@ -966,9 +966,15 @@ rm -f lib/ssl/examples/certs/etc/erlangCA/index.txt.old
%build %ifarch sparcv9 sparc64 -CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-hipe +CFLAGS="$RPM_OPT_FLAGS -mcpu=ultrasparc -fno-strict-aliasing" \ %else -CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --enable-shared-zlib --enable-sctp --enable-hipe +CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \ +%endif +%configure --enable-shared-zlib --enable-sctp \ +%ifnarch s390 s390x ppc + --enable-hipe +%else + %{nil} %endif
or maybe using %ifarch with a positive list like %{ix86} x86_64 %{arm} would be even better
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=467765 [Bug 467765] Fedora for System z (s390): Bug Tracker