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 1864001

Summary: libiio: FTBFS in Fedora rawhide/f33
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: libiioAssignee: Peter Robinson <pbrobinson>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: law, mhroncok, pbrobinson
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-11 15:09:31 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1803234    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2020-08-03 17:51:21 UTC
libiio failed to build from source in Fedora rawhide/f33

https://koji.fedoraproject.org/koji/taskinfo?taskID=47993504


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Please fix libiio at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
libiio will be orphaned. Before branching of Fedora 34,
libiio will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://fedoraproject.org/wiki/Fails_to_build_from_source

Comment 1 Fedora Release Engineering 2020-08-03 17:51:23 UTC
Created attachment 1705469 [details]
build.log

Comment 2 Fedora Release Engineering 2020-08-03 17:51:24 UTC
Created attachment 1705470 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2020-08-03 17:51:25 UTC
Created attachment 1705471 [details]
state.log

Comment 4 Miro HronĨok 2020-08-07 08:41:22 UTC
It appears to be a race condition. Apparently, the shared library may not be built before the documentation is built and the documentation executes the Python code that tries to load the library:


[ 37%] Linking C shared library libiio.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/iio.dir/link.txt --verbose=1
/usr/bin/gcc -fPIC -O2 -flto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fvisibility=hidden -Wall -Wextra -Wno-unused-parameter -Wpedantic -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -shared -Wl,-soname,libiio.so.0 -o libiio.so.0.21 CMakeFiles/iio.dir/backend.c.o CMakeFiles/iio.dir/channel.c.o CMakeFiles/iio.dir/device.c.o CMakeFiles/iio.dir/context.c.o CMakeFiles/iio.dir/buffer.c.o CMakeFiles/iio.dir/utilities.c.o CMakeFiles/iio.dir/scan.c.o CMakeFiles/iio.dir/sort.c.o CMakeFiles/iio.dir/usb.c.o CMakeFiles/iio.dir/local.c.o CMakeFiles/iio.dir/libini/libini.c.o CMakeFiles/iio.dir/serial.c.o CMakeFiles/iio.dir/network.c.o CMakeFiles/iio.dir/xml.c.o CMakeFiles/iio.dir/lock.c.o CMakeFiles/iio.dir/iiod-client.c.o  -lusb-1.0 -lrt -lserialport -L/usr/lib -lxml2 -lpthread -llzma -lz -lm -lpthread 
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 11 source files that are out of date
updating environment: [new config] 11 added, 0 changed, 0 removed
reading sources... [  9%] buffer
Exception occurred:
  File "/usr/lib64/python3.9/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/bin/python3: undefined symbol: iio_get_backends_count
The full traceback has been saved in /tmp/sphinx-err-ppmjaxvu.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
gmake[2]: Leaving directory '/builddir/build/BUILD/libiio-0.21/x86_64-redhat-linux-gnu'
gmake[2]: *** [bindings/python/CMakeFiles/libiio-py.dir/build.make:84: libiio-py] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:493: bindings/python/CMakeFiles/libiio-py.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....


This makes it build:

    %global _smp_ncpus_max 1

Comment 5 Ben Cotton 2020-08-11 14:14:12 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 6 Jeff Law 2020-08-11 15:09:31 UTC
Rebuilt.  But it'd be better to fix the race condition.