Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1632636 - Bad compilation on armhfp
Summary: Bad compilation on armhfp
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 29
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker
TreeView+ depends on / blocked
 
Reported: 2018-09-25 09:34 UTC by Nicolas Chauvet (kwizart)
Modified: 2018-09-26 07:16 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-09-26 07:16:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Nicolas Chauvet (kwizart) 2018-09-25 09:34:18 UTC
Description of problem:
For some reason, the vlc package fails to build on armhfp a community repository.
It seems related to the failure to create a cache of vlc plugins on a given library using ffmpeg-libs.
Looking at ffmpeg-libs rpmlint shows the following issues:


Version-Release number of selected component (if applicable):
current gcc , glibc in f29

How reproducible:
always but only on f29 on armhfp (not reproduced on f28 or f30 or in others arches in f29).

Steps to Reproduce:
1. build vlc from src.rpm on f29 using mock (you need mock-rpmfusion-free)

Another way is to run ldd on a ffmpeg-libs. There isn't anything verbose, but the errono is 1
Using /lib/ld-linux-armhf.so.3 /usr/lib/libavcodec.so.58.18.100 has more errorcode.

Actual results:
the errno is 2,whereas it should be 0

Expected results:


Additional info:
I've tried with the gcc version currently in candidate with no luck.

Comment 1 Nicolas Chauvet (kwizart) 2018-09-25 09:47:55 UTC
Also running :
 gdb /lib/ld-linux-armhf.so.3
...
(gdb) run /usr/lib/libavcodec.so.58.18.100
Starting program: /usr/lib/ld-linux-armhf.so.3 /usr/lib/libavcodec.so.58.18.100

Program received signal SIGSEGV, Segmentation fault.
0xb6fd7b90 in do_lookup_x ()
(gdb) bt
#0  0xb6fd7b90 in do_lookup_x ()
#1  0xb6fd8490 in _dl_lookup_symbol_x ()
#2  0xb6fda7b8 in _dl_relocate_object ()
#3  0xb6fd1c4c in dl_main ()
#4  0xb6fe544c in _dl_sysdep_start ()
#5  0x00000064 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Comment 2 Jakub Jelinek 2018-09-25 09:53:04 UTC
You've provided no evidence that the problem is in any way related to gcc.

Comment 3 Nicolas Chauvet (kwizart) 2018-09-25 10:03:47 UTC
(In reply to Jakub Jelinek from comment #2)
> You've provided no evidence that the problem is in any way related to gcc.
And I've indeed no evidence except that this seems to be a "toolchain issue"
because the same ffmpeg package works in f30 and f28 but not on f29 for armhfp.

I'm currently trying to reproduce the issue using ffmpeg-4.0.2-1.fc29 into the buildroot (used to build the last vlc on armhfp).
Then I'm going to resubmit a scratch build of ffmpeg-4.0.2-1.fc29 to see if the same error can be seen.

Comment 4 Nicolas Chauvet (kwizart) 2018-09-25 10:39:28 UTC
I'm tryint to audit the dependencies of libavcodec and this shows:

for i in $(ldd -r -d /usr/lib/libavformat.so.58 | awk '! /ld-linux-armhf.so.3/ {print $1}') ; do  ret=0 ; ldd -d -r /usr/lib/$i &>/dev/null; ret=$?; if [ ! x"$ret" = x"0" ] ; then echo $i ; fi; done
libavcodec.so.58
libvo-amrwbenc.so.0

But then I don't see what's the issue with libvo-amrwbenc.so.0
# ldd -r -d /usr/lib/libvo-amrwbenc.so.0
	linux-vdso.so.1 (0xbec35000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6ef7000)
	libc.so.6 => /lib/libc.so.6 (0xb6dab000)
	/lib/ld-linux-armhf.so.3 (0xb6f5c000)
<mock-chroot> sh-4.4# echo $?
1

Comment 5 Nicolas Chauvet (kwizart) 2018-09-25 12:01:37 UTC
ldd -r -d ./usr/lib/libvo-amrwbenc.so.0 from a fedora 27 armhfp kernel+userspace return 0, whereas in the same kernel but within mock for 29, it return 1

Tried using this build:
http://koji.rpmfusion.org/kojifiles/packages/vo-amrwbenc/0.1.3/6.fc29/armv7hl/vo-amrwbenc-0.1.3-6.fc29.armv7hl.rpm

Comment 6 Nicolas Chauvet (kwizart) 2018-09-25 17:07:44 UTC
I've rebuilded vo-amrwebenc and it's worked. so the previous built broke the dependencies. I will try to reproduce without adding the older ffmpeg.

So something went wrong at some point, and I'm not sure which others build are broken on fedora side or elsewhere...

Comment 7 Nicolas Chauvet (kwizart) 2018-09-26 07:16:13 UTC
Only updating the fixed vo-amrwbenc-0.1.3-8.fc29.armv7hl package was enough to clear the rpmlint error on ffmpeg-libs (ldd-failed /usr/lib/libavcodec.so.58.18.100).

So the problem was a bad compilation of the vo-amrwbenc package (built on 2018-08-19 20:19:38 on arm-builder09.home.rpmfusion.net).
This built was part of the second mass-rebuild batch made to clear the other toolchain issue. So far, no

I haven't seen any other case of such behaviour or any others fedora/non-fedora packages for f29 armhfp (from a fedora 29 workstation image), so closing.


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