This fixes the rpath issue:
https://koschei.fedoraproject.org/package/R-littler?collection=f38
This update changed the linker flags used when building executable in R-packages.
With 4.2.2-1
gcc -o r -O2 -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 -I/usr/include/R littler.c -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,--export-dynamic -fopenmp -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -L/usr/lib64/R/lib -lR -ltre -lpcre2-8 -llzma -lbz2 -lz -lrt -ldl -lm -licuuc -licui18n -lflexiblas -lflexiblas -Wl,-rpath,/usr/lib64/R/lib -Wl,-rpath,/usr/lib/jvm/java-17-openjdk-17.0.5.0.8-1.fc38.x86_64/lib/server -Wl,-rpath,/usr/lib64/R/lib -Wl,-rpath,/usr/lib/jvm/java-17-openjdk-17.0.5.0.8-1.fc38.x86_64/lib/server -Wl,-rpath,/usr/lib64/R/lib -Wl,-rpath,/usr/lib/jvm/java-17-openjdk-17.0.5.0.8-1.fc38.x86_64/lib/server
With 4.2.2-2:
gcc -o r -O2 -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 -I/usr/include/R littler.c -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,--export-dynamic -fopenmp -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -L/usr/lib64/R/lib -lR -ltre -lpcre2-8 -llzma -lbz2 -lz -lrt -ldl -lm -licuuc -licui18n -lflexiblas -lflexiblas -Wl,-rpath,/usr/lib64/R/lib -Wl,-rpath,/usr/lib/jvm/jre/lib/amd64/server -Wl,-rpath,/usr/lib/jvm/jre/lib/amd64 -Wl,-rpath,/usr/lib/jvm/java/lib/amd64 -Wl,-rpath,/usr/lib/jvm/jre/lib/server -Wl,-rpath,/usr/java/packages/lib/amd64 -Wl,-rpath,/lib -Wl,-rpath,/usr/lib -Wl,-rpath,/usr/lib64/R/lib -Wl,-rpath,/usr/lib/jvm/jre/lib/amd64/server -Wl,-rpath,/usr/lib/jvm/jre/lib/amd64 -Wl,-rpath,/usr/lib/jvm/java/lib/amd64 -Wl,-rpath,/usr/lib/jvm/jre/lib/server -Wl,-rpath,/usr/java/packages/lib/amd64 -Wl,-rpath,/lib -Wl,-rpath,/usr/lib -Wl,-rpath,/usr/lib64/R/lib -Wl,-rpath,/usr/lib/jvm/jre/lib/amd64/server -Wl,-rpath,/usr/lib/jvm/jre/lib/amd64 -Wl,-rpath,/usr/lib/jvm/java/lib/amd64 -Wl,-rpath,/usr/lib/jvm/jre/lib/server -Wl,-rpath,/usr/java/packages/lib/amd64 -Wl,-rpath,/lib -Wl,-rpath,/usr/lib
The problem comes from:
-Wl,-rpath,/lib -Wl,-rpath,/usr/lib
This adds standard library paths to RPATH, which makes rpm builds fail:
*
WARNING: 'check-rpaths' detected a broken RPATH OR RUNPATH and will cause
* 'rpmbuild' to fail. To ignore these errors, you can set the
* '$QA_RPATHS' environment variable which is a bitmask allowing the
* values below. The current value of QA_RPATHS is 0x0000.
*
0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor
* issue but are introducing redundant searchpaths without
* providing a benefit. They can also cause errors in multilib
* environments.
* 0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute
* nor relative filenames and can therefore be a SECURITY risk
* 0x0004 ... insecure RPATHs; these are relative RPATHs which are a
* SECURITY risk
* 0x0008 ... the special '$ORIGIN' RPATHs are appearing after other
* RPATHs; this is just a minor issue but usually unwanted
* 0x0010 ... the RPATH is empty; there is no reason for such RPATHs
* and they cause unneeded work while loading libraries
* 0x0020 ... an RPATH references '..' of an absolute path; this will break
* the functionality when the path before '..' is a symlink
*
*
* Examples:
* - to ignore standard and empty RPATHs, execute 'rpmbuild' like
* $ QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild my-package.src.rpm
* - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like
* $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths
*
ERROR 0002: file '/usr/bin/r' contains an invalid runpath '/usr/java/packages/lib/amd64' in [/usr/lib64/R/lib:/usr/lib/jvm/jre/lib/amd64/server:/usr/lib/jvm/jre/lib/amd64:/usr/lib/jvm/java/lib/amd64:/usr/lib/jvm/jre/lib/server:/usr/java/packages/lib/amd64:/lib:/usr/lib] ERROR 0001: file '/usr/bin/r' contains a standard runpath '/lib' in [/usr/lib64/R/lib:/usr/lib/jvm/jre/lib/amd64/server:/usr/lib/jvm/jre/lib/amd64:/usr/lib/jvm/java/lib/amd64:/usr/lib/jvm/jre/lib/server:/usr/java/packages/lib/amd64:/lib:/usr/lib] ERROR 0001: file '/usr/bin/r' contains a standard runpath '/usr/lib' in [/usr/lib64/R/lib:/usr/lib/jvm/jre/lib/amd64/server:/usr/lib/jvm/jre/lib/amd64:/usr/lib/jvm/java/lib/amd64:/usr/lib/jvm/jre/lib/server:/usr/java/packages/lib/amd64:/lib:/usr/lib]
This build failure was detected by koschei:
https://koschei.fedoraproject.org/package/R-littler?collection=f38
The spec file adds patch 202:
Patch202: openssh-9.0p1-audit-log.patch
But it is never applied, i.e. there is no %patch202.
Running transaction
Preparing : 1/1
Upgrading : perl-XML-XPath-1.48-2.fc38.noarch 1/2
Cleanup : perl-XML-XPath-1.47-3.fc37.noarch 2/2
Verifying : perl-XML-XPath-1.48-2.fc38.noarch 1/2
Verifying : perl-XML-XPath-1.47-3.fc37.noarch 2/2
Upgraded:
perl-XML-XPath-1.48-2.fc38.noarch
Error:
Problem: cannot install the best candidate for the job
- nothing provides perl(-norequire) needed by perl-XML-XPath-1.48-1.fc38.noarch
This update drops the dist provides, make other packages uninstallable. Please restore the missing provides promptly.
This update:
Provides:
Previous version:
Provides:
This leads to:
Problem: package python3-nbsphinx-0.8.7-3.fc37.noarch requires python3.11dist(nbformat), but none of the providers can be installed
- conflicting requests
- nothing provides python3.11dist(jsonschema) >= 2.6 needed by python3-nbformat-5.4.0-2.fc37.noarch
<mock-chroot> sh-5.1# rpm -q flexiblas
flexiblas-3.2.0-2.fc36.x86_64
<mock-chroot> sh-5.1# python3
Python 3.10.4 (main, Mar 25 2022, 00:00:00) [GCC 12.0.1 20220308 (Red Hat 12.0.1-0)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>
<mock-chroot> sh-5.1# rpm -q flexiblas
flexiblas-3.2.0-2.fc35.x86_64
<mock-chroot> sh-5.1# python3
Python 3.10.4 (main, Mar 25 2022, 00:00:00) [GCC 11.2.1 20220127 (Red Hat 11.2.1-9)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>
Impoting numpy now works:
<mock-chroot> sh-5.1# rpm -q flexiblas
flexiblas-3.2.0-2.fc37.x86_64
<mock-chroot> sh-5.1# python3
Python 3.10.4 (main, Mar 25 2022, 00:00:00) [GCC 12.0.1 20220308 (Red Hat 12.0.1-0)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>
The problem is easily seen e.g. by trying to import numpy in python:
<mock-chroot> sh-5.1# rpm -q flexiblas flexiblas-3.2.0-1.fc37.x86_64
<mock-chroot> sh-5.1# python3 Python 3.10.4 (main, Mar 25 2022, 00:00:00) [GCC 12.0.1 20220308 (Red Hat 12.0.1-0)] on linux Type "help", "copyright", "credits" or "license" for more information.
import numpy flexiblas dlopen: /usr/lib64/flexiblas//libflexiblas_fallback_lapack.so: undefined symbol: _gfortran_transfer_character_write flexiblas Failed to load the LAPACK fallback library. Abort! Aborted (core dumped)
Flexiblas has been fix so that it no longer ignores the LDFLAGS linker flags. This means that it is now properly linked using the Fedora default flags. This includes the -Wl,--as-needed flag. However, flexiblas breaks when compiled with -Wl,--as-needed flag.
Pleas add:
%undefine _ld_as_needed
To the specfile.
See https://bugzilla.redhat.com/show_bug.cgi?id=2058840 for the same issue in RHEL 9.
Flexiblas has been fix so that it no longer ignores the LDFLAGS linker flags. This means that it is now properly linked using the Fedora default flags. This includes the -Wl,--as-needed flag. However, flexiblas breaks when compiled with -Wl,--as-needed flag.
Pleas add:
%undefine _ld_as_needed
To the specfile.
See https://bugzilla.redhat.com/show_bug.cgi?id=2058840 for the same issue in RHEL 9.
Flexiblas has been fix so that it no longer ignores the LDFLAGS linker flags. This means that it is now properly linked using the Fedora default flags. This includes the -Wl,--as-needed flag. However, flexiblas breaks when compiled with -Wl,--as-needed flag.
Pleas add:
%undefine _ld_as_needed
To the specfile.
See https://bugzilla.redhat.com/show_bug.cgi?id=2058840 for the same issue in RHEL 9.
Thank you.
Thank you.
This update is not installable.
Can be used as build deps when building udt package.