Fedora Account System
Red Hat Associate
Red Hat Customer
On a number of package sphinx is crashing when generating docs: jansson: https://koji.fedoraproject.org/koji/taskinfo?taskID=48811539 ==== + make html Making html in doc make[1]: Entering directory '/builddir/build/BUILD/jansson-2.12/doc' sphinx-build -b html -d _build/doctrees . _build/html Running Sphinx v3.1.1 Exception occurred: File "/builddir/build/BUILD/jansson-2.12/doc/ext/refcounting.py", line 60, in setup app.add_directive('refcounting', refcounting_directive, 0, (1, 0, 0)) TypeError: add_directive() takes from 3 to 4 positional arguments but 5 were given The full traceback has been saved in /tmp/sphinx-err-ln5s_rm1.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! make[1]: *** [Makefile:447: html-local] Error 2 make[1]: Leaving directory '/builddir/build/BUILD/jansson-2.12/doc' ==== libiio: https://koji.fedoraproject.org/koji/taskinfo?taskID=48541908 ==== 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-4j5lxn8p.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]: *** [bindings/python/CMakeFiles/libiio-py.dir/build.make:84: libiio-py] Error 2 gmake[2]: Leaving directory '/builddir/build/BUILD/libiio-0.21/x86_64-redhat-linux-gnu' gmake[1]: *** [CMakeFiles/Makefile2:493: bindings/python/CMakeFiles/libiio-py.dir/all] Error 2 gmake[1]: *** Waiting for unfinished jobs.... [ 37%] Linking C shared library libiio.so ====
Those appear as 2 unrelated issues. The first is jansson-2.12/doc/ext/refcounting.py using a removed API of sphinx: https://www.sphinx-doc.org/en/2.0/extdev/appapi.html#sphinx.application.Sphinx.add_directive https://www.sphinx-doc.org/en/3.x/extdev/appapi.html#sphinx.application.Sphinx.add_directive This would match https://koschei.fedoraproject.org/package/jansson?collection=f33 -- the failure started with Sphinx 3. In fact, this was reporte to the package maintainers via bz1823532 but ignored. The second package was not tested with Sphinx 3 because the dependency on sphinx was added after we've collected dependent packages. However it seem like: https://github.com/analogdevicesinc/libiio/issues/557 """So the problem is that the bindings need to have access to the library, so it needs to be on path and findable through find_library in python.""" This doesn't seem like a sphinx issue, but rather like a LD_LIBRARY_PATH problem. How can I help you debug it?
> The first is jansson-2.12/doc/ext/refcounting.py using a removed API of > sphinx: Why isn't Sphinx 3 a Fedora 33 change (I don't see it in the listed changes) and this more widely announced? > The second package was not tested with Sphinx 3 because the dependency on > sphinx was added after we've collected dependent packages. > > However it seem like: https://github.com/analogdevicesinc/libiio/issues/557 > > """So the problem is that the bindings need to have access to the library, > so it needs to be on path and findable through find_library in python.""" > > This doesn't seem like a sphinx issue, but rather like a LD_LIBRARY_PATH > problem. How can I help you debug it? It was building fine in late June and I saw 2 (and I think actually others which I didn't remember) issues around sphinx and I hadn't see any announcement around a new major version of it so I assumed (clearly incorrectly) it was something around the mass rebuild changes that had caused issues. TBH I know little about sphinx so I'm not sure how to debug it.
> Why isn't Sphinx 3 a Fedora 33 change (I don't see it in the listed changes) and this more widely announced? As with many other packages that get updated and don't have change proposals I guess. When the updated was prepared, it was communicated with individual package maintainers via bugzillas in https://bugzilla.redhat.com/showdependencytree.cgi?id=SPHINX3&hide_resolved=0 When it was updated, it was announced in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/46D6OHIGYOMUASFP6H446TCOT2T3RJRP/ I'll have a look at libiio.
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
This is a duplicate of bz1823532 and bz1864001. I've posted my findings to bz1864001. *** This bug has been marked as a duplicate of bug 1823532 ***