Bug 1023960 - erlang-R16B-02.2.fc20 fails to build on secondary arches
erlang-R16B-02.2.fc20 fails to build on secondary arches
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: erlang (Show other bugs)
20
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Peter Lemenkov
Fedora Extras Quality Assurance
AcceptedFreezeException
:
Depends On:
Blocks: ZedoraTracker F20FinalFreezeException
  Show dependency treegraph
 
Reported: 2013-10-28 08:56 EDT by Dan Horák
Modified: 2013-12-08 21:02 EST (History)
6 users (show)

See Also:
Fixed In Version: erlang-R16B-02.7.fc19
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-12-05 07:14:19 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Dan Horák 2013-10-28 08:56:26 EDT
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
Comment 1 Dan Horák 2013-10-28 12:29:06 EDT
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1485226 is a scratch build with hipe enabled on ppc64 and disabled on ppc

my local test builds on s390 and s390x were successful with hipe disabled using the snippet from above
Comment 2 Peter Lemenkov 2013-10-29 01:40:32 EDT
(In reply to Dan Horák from comment #1)
> http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1485226 is a scratch
> build with hipe enabled on ppc64 and disabled on ppc
> 
> my local test builds on s390 and s390x were successful with hipe disabled
> using the snippet from above

Dan, could you please try the latest build:

http://koji.fedoraproject.org/koji/buildinfo?buildID=474347
Comment 4 Peter Lemenkov 2013-10-29 05:25:31 EDT
(In reply to Dan Horák from comment #3)
> scratch builds started
> http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1244397
> http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1487519

Dan, I'm terribly terribly sorry but I've made a typo in the spec-file which disabled HiPE entirely. Could you please try with the latest build (in progress at the moment of writing):

http://koji.fedoraproject.org/koji/taskinfo?taskID=6111139
Comment 5 Dan Horák 2013-10-29 05:36:32 EDT
(In reply to Peter Lemenkov from comment #4)
> (In reply to Dan Horák from comment #3)
> > scratch builds started
> > http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1244397
> > http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1487519
> 
> Dan, I'm terribly terribly sorry but I've made a typo in the spec-file which
> disabled HiPE entirely. Could you please try with the latest build (in
> progress at the moment of writing):
> 
> http://koji.fedoraproject.org/koji/taskinfo?taskID=6111139

no problem :-) I will start new scratch builds after this one finishes and let you know
Comment 7 Dan Horák 2013-10-29 08:55:49 EDT
all ppc went OK, but s390 failed because now hipe is again unconditionally enabled, the snippet bellow fixes it

diff --git a/erlang.spec b/erlang.spec
index 6c3b085..a850f27 100644
--- a/erlang.spec
+++ b/erlang.spec
@@ -22,8 +22,6 @@
 
 %ifarch %{arm} %{ix86} x86_64 ppc %{power64}
 %global __with_hipe 1
-%else
-%global __with_hipe 0
 %endif
 
 %global n_uvr %{name}-%{upstream_ver}-%{upstream_rel_for_rpm}

the semantics for the "inline condition" looks weird ...
Comment 8 Peter Lemenkov 2013-11-07 02:41:17 EST
Ok, I think we've fixed that. Dan, could you please try it again with the latest packages.
Comment 9 Dan Horák 2013-11-07 02:59:16 EST
Peter, thanks for the changes, it must succeed now. The scratch builds are
http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1252454
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1514758
Comment 10 Dan Horák 2013-11-07 05:25:58 EST
(In reply to Dan Horák from comment #9)
> Peter, thanks for the changes, it must succeed now. The scratch builds are
> http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1252454
> http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1514758

and both succeeded, please do updates in all branches where R16B-02 should exist
Comment 11 Peter Lemenkov 2013-11-07 05:33:26 EST
(In reply to Dan Horák from comment #10)
> (In reply to Dan Horák from comment #9)
> > Peter, thanks for the changes, it must succeed now. The scratch builds are
> > http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1252454
> > http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1514758
> 
> and both succeeded, please do updates in all branches where R16B-02 should
> exist

Ok, good! I'll postpone updating F19/F20 until I resolve another one issue (return of ECC in Erlang).
Comment 12 Dan Horák 2013-11-21 11:47:19 EST
Peter, as I see the crypto stuff is not resolved yet, but missing erlang is causing us some troubles, could you please do the updates for F19/F20?
Comment 13 Peter Lemenkov 2013-11-21 11:55:49 EST
(In reply to Dan Horák from comment #12)
> Peter, as I see the crypto stuff is not resolved yet, but missing erlang is
> causing us some troubles, could you please do the updates for F19/F20?

Just give me a couple of days more - I'll try to fix it during this weekend. If I won't find a free time for that then I'll rebuild f19 and f20 as is.
Comment 14 Dan Horák 2013-11-21 12:08:53 EST
(In reply to Peter Lemenkov from comment #13)
> (In reply to Dan Horák from comment #12)
> > Peter, as I see the crypto stuff is not resolved yet, but missing erlang is
> > causing us some troubles, could you please do the updates for F19/F20?
> 
> Just give me a couple of days more - I'll try to fix it during this weekend.
> If I won't find a free time for that then I'll rebuild f19 and f20 as is.

works for me, thanks
Comment 15 Fedora Update System 2013-11-26 08:18:08 EST
erlang-R16B-02.7.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/erlang-R16B-02.7.fc19
Comment 16 Fedora Update System 2013-11-26 08:18:11 EST
erlang-R16B-02.7.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/erlang-R16B-02.7.fc20
Comment 17 Fedora Update System 2013-11-26 08:20:05 EST
erlang-R16B-02.7.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/erlang-R16B-02.7.fc19
Comment 18 Fedora Update System 2013-11-26 13:00:31 EST
Package erlang-R16B-02.7.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing erlang-R16B-02.7.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-22163/erlang-R16B-02.7.fc20
then log in and leave karma (feedback).
Comment 19 Fedora Blocker Bugs Application 2013-12-02 06:55:09 EST
Proposed as a Freeze Exception for 20-final by Fedora user sharkcz using the blocker tracking app because:

 Erlang R16B02 was FTBFS on secondary arches
Comment 20 Adam Williamson 2013-12-02 13:43:11 EST
Discussed at 2013-12-02 freeze exception review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2013-12-02/f20-blocker-review-%234.2013-12-02-17.02.log.txt . Accepted as a freeze exception issue as a significant bug for secondary arches whose fix is unlikely to break anything important for primary arches.
Comment 21 Fedora Update System 2013-12-05 07:14:19 EST
erlang-R16B-02.7.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 22 Fedora Update System 2013-12-08 21:02:34 EST
erlang-R16B-02.7.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.