easybuilders / easybuild-easyconfigs

A collection of easyconfig files that describe which software to build using which build options with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
373 stars 699 forks source link

XZ symbol problem on Fedora 27 affects OS dep checking #5518

Open verdurin opened 6 years ago

verdurin commented 6 years ago

I've encountered an issue with XZ symbols on a Fedora 27 host, very similar to #4036

== 2017-12-12 19:47:17,731 run.py:478 DEBUG cmd "rpm -q libopenssl-devel" exited with exitcode 1 and output:
rpm: /home/huffmaa/.local/easybuild/software/XZ/5.2.3-GCCcore-6.4.0/lib/liblzma.so.5: version `XZ_5.2' not found (required by /lib64/librpmio.so.8)
verdurin commented 3 years ago

Possibly worth noting that this turns up in Fedora 33, too.

JensTimmerman commented 3 years ago

This also turns up in centos8, but not for os dep checkking, but when using FPM when running --package

When the XZ package is loaded dnf also breaks e.g.

[eb@eb ~]$ dnf whatprovides /lib64/librpmio.so.8
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/libdnf/error.py", line 14, in swig_import_helper
    return importlib.import_module(mname)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 571, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 922, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: /home/eb/.local/easybuild/software/XZ/5.2.4-GCCcore-8.2.0/lib/liblzma.so.5: version `XZ_5.2' not found (required by /lib64/librpmio.so.8)

eb /home/eb/.local/easybuild/software/EasyBuild/4.3.4/easybuild/easyconfigs/t/tesseract/tesseract-4.1.0-GCCcore-8.2.0.eb -r --debug --package --skip --rebuild fails with

{:timestamp=>"2021-04-30T11:14:34.465674+0000", :message=>"rpmbuild: /home/eb/.local/easybuild/software/XZ/5.2.4-GCCcore-8.2.0/lib/liblzma.so.5: version `XZ_5.2' not found (required by /lib64/librpmio.so.8)", :level=>:info, :file=>"cabin/mixins/pipe.rb", :line=>"47", :method=>"block in pipe"}

rebuilding XZ without the patch introduced in EB fixes this for rpm, but this then breaks the application (this error does not show up with the patch in place)

[eb@eb ~]$ module load tesseract
[eb@eb ~]$ tesseract
tesseract: /home/eb/.local/easybuild/software/XZ/5.2.4-GCCcore-8.2.0/lib/liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /home/eb/.local/easybuild/software/libarchive/3.4.0-GCCcore-8.2.0/lib/libarchive.so.13)
tesseract: /home/eb/.local/easybuild/software/XZ/5.2.4-GCCcore-8.2.0/lib/liblzma.so.5: version `XZ_5.2.2' not found (required by /home/eb/.local/easybuild/software/libarchive/3.4.0-GCCcore-8.2.0/lib/libarchive.so.13)

I think this might be fixed by not loading the module when creating the package?