Содержание
- Rpm Build Error Contains An Invalid Rpath
- c++ — rpmbuild check-rpath reports error that path is not .
- linux — RPM build check-rpaths error 0x0001 — Unix & Linux .
- RPM build is failing on the rpath in the new shared libs .
- WARNING: ‘check-rpaths’ detected a broken RPATH and will .
- WARNING: ‘check-rpaths’ detected a broken RPATH and will .
- assembly problem through rpmbuild on centos · Issue #9 .
- Creating of RPM in CentOS7 fails · Issue #191 · rizsotto .
- Troubleshooting Jekyll build errors for GitHub Pages sites .
- rpmbuild打包遇到问йўж±‡жЂ»_u014007037зљ„дё“ж Џ-CSDNеЌље®ў
- scientific linux — RPM build errors — Unix & Linux Stack .
- Rpm Build Error Contains An Invalid Rpath Fixes & Solutions
- WARNING: ‘check-rpaths’ detected a broken RPATH and will cause ‘rpmbuild’ to fail #1058
- Comments
- Error 0002 file contains an invalid rpath
- new error about making package of zimbra
- Fix three issues when building RPM packages #1158
- Comments
- Footer
Rpm Build Error Contains An Invalid Rpath
We have collected for you the most relevant information on Rpm Build Error Contains An Invalid Rpath, as well as possible solutions to this problem. Take a look at the links provided and find the solution that works. Other people have encountered Rpm Build Error Contains An Invalid Rpath before you, so use the ready-made solutions.
c++ — rpmbuild check-rpath reports error that path is not .
- https://stackoverflow.com/questions/58372820/rpmbuild-check-rpath-reports-error-that-path-is-not-absolute-incorrectly
- So in my case I got no rpath error/warning in the «make» step which would have been understandable but instead I got them in the «cpack»-step which makes no sense at all. I bypassed it with setting the environment variable export QA_SKIP_RPATHS=1 AFTER the «make» and BEFORE the «cpack» step.
linux — RPM build check-rpaths error 0x0001 — Unix & Linux .
- https://unix.stackexchange.com/questions/202009/rpm-build-check-rpaths-error-0x0001
- Thanks for contributing an answer to Unix & Linux Stack Exchange! Please be sure to answer the question.Provide details and share your research! But avoid …. Asking for help, clarification, or responding to other answers.
RPM build is failing on the rpath in the new shared libs .
- https://github.com/mozilla-services/heka/issues/1311
- Feb 05, 2015 · It is an error to have an RPATH in the libraries or executable in an RPM. So the RPATHs will be removed.
WARNING: ‘check-rpaths’ detected a broken RPATH and will .
- https://github.com/openzfs/zfs/issues/1058
- ERROR 0002: file /sbin/zdb contains an invalid rpath //lib64 in [//lib64] ERROR 0002: file /sbin/zpool contains an invalid rpath //lib64 in [//lib64] ERROR 0002: file /sbin/zfs contains an invalid rpath //lib64 in [//lib64] ERROR 0002: file /lib64/libzfs.so.1.0.1 contains an invalid rpath //lib64 in [//lib64] ERROR 0002: file /lib64/libzpool.so .
WARNING: ‘check-rpaths’ detected a broken RPATH and will .
- https://www.linuxquestions.org/questions/fedora-35/warning-%27check-rpaths%27-detected-a-broken-rpath-and-will-cause-%27rpmbuild%27-to-fail-606748/
- Dec 18, 2007 · This book contains many real life examples derived from the author’s experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to …
assembly problem through rpmbuild on centos · Issue #9 .
- https://github.com/SpiderLabs/ModSecurity-nginx/issues/9
- Analytics cookies. We use analytics cookies to understand how you use our websites so we can make them better, e.g. they’re used to gather information about the pages you visit and how many clicks you need to accomplish a task.
Creating of RPM in CentOS7 fails · Issue #191 · rizsotto .
- https://github.com/rizsotto/Bear/issues/191
- @reverendhomer thanks for the explanation. I did test it, and with the original /usr/share/man it works. While with the $ it fails. Have the impression that it cpack does not have these variables set. I’m thinking to revert to add the original /usr/share/man line. But not sure it will work if you set the install prefix to something else.
Troubleshooting Jekyll build errors for GitHub Pages sites .
- https://docs.github.com/en/[email protected]/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites
- GitHub Pages is available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.
rpmbuild打包遇到问йўж±‡жЂ»_u014007037зљ„дё“ж Џ-CSDNеЌље®ў
- https://blog.csdn.net/u014007037/article/details/78727526
- ERROR 0002: file ‘xxx.so’ contains an invalid rpath ‘xxx’ in [xxx] 经过网上查询,得知 иї™дёЂжҐеЏЄжЇдёЂз§ЌжЈЂжµ‹жЇдёЌжЇд»Јз ЃдёдЅїз”Ёдє†rpath,那我们可以简单的注释掉rpath检测就可以了,具体做法就жЇпјљ vi
- 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= /usr/lib/rpm/check-rpaths
scientific linux — RPM build errors — Unix & Linux Stack .
- https://unix.stackexchange.com/questions/155314/rpm-build-errors
- RPM is expecting your package to follow the standard packaging guidelines for Unix software. The GNU release guidelines are typical, but a lot of non-GNU software follows these rules, too.. Specifically here, you have a package called supportScripts, version 1, so the tarball is expected to be called supportScripts-1.tar.gz, and it is expected to unpack into a directory called supportScripts-1.
Rpm Build Error Contains An Invalid Rpath Fixes & Solutions
We are confident that the above descriptions of Rpm Build Error Contains An Invalid Rpath and how to fix it will be useful to you. If you have another solution to Rpm Build Error Contains An Invalid Rpath or some notes on the existing ways to solve it, then please drop us an email.
Источник
WARNING: ‘check-rpaths’ detected a broken RPATH and will cause ‘rpmbuild’ to fail #1058
All the rpms build fine except for the last one.
make[2]: Leaving directory /tmp/zfs-build-makerpm-smsftL7R/BUILD/zfs-0.6.0
WARNING: check-rpaths detected a broken RPATH 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
ERROR 0002: file /sbin/mount.zfs contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /sbin/ztest contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /sbin/zstreamdump contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /sbin/zinject contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /sbin/zdb contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /sbin/zpool contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /sbin/zfs contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /lib64/libzfs.so.1.0.1 contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /lib64/libzpool.so.1.0.1 contains an invalid rpath //lib64 in [//lib64]
ERROR 0002: file /lib64/libnvpair.so.1.0.1 contains an invalid rpath //lib64 in [//lib64]
error: Bad exit status from /tmp/zfs-build-makerpm-smsftL7R/TMP/rpm-tmp.kADNUZ (%install)
RPM build errors:
Bad exit status from /tmp/zfs-build-makerpm-smsftL7R/TMP/rpm-tmp.kADNUZ (%install)
make[1]: [rpm-common] Error 1
The text was updated successfully, but these errors were encountered:
Источник
Error 0002 file contains an invalid rpath
Post by wildhuman » Sun Aug 27, 2006 8:24 pm
I have spent all my time and job on compiling and creating zimbra.
And now, I have isntalled all thirdparty software and perl compoments. I am beginning to make package for zimbra.
But I meet new errors now when I made packages
this is my step:
#make allclean all
the error information is:
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `ORIGINAL’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `ORIGINAL’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `VERSION’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `VERSION’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `trunk/ZimbraBuild/RE/BUILD’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `trunk/ZimbraBuild/RE/BUILD’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `11545412209502-src.tgz’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `11545412209502-src.tgz’
(cd /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer; /zimbra/apache-ant-1.6.5/bin/ant
-Dzimbra.buildinfo.version=4.0.0_GA_246==== ORIGINAL VERSION trunk/ZimbraBuild/RE/BUILD 11545412209502.FC4
Buildfile: build.xml
BUILD FAILED
Target `ORIGINAL’ does not exist in this project.
Total time: 1 second
make: *** [/mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/build/dist/tomcat/webapps/service.war] Error 1
But when I executed «ant» at /ZimbraServer, it is success. I don’t know how should I do. and then I executed ant under any directory which has build.xml. I did not find any error information.
:confused: Who can help me? :confused:
new error about making package of zimbra
Post by wildhuman » Mon Aug 28, 2006 9:34 pm
Even if I executed the make dev-install, it is the almost same error:
what is the reason on earth? who can tell me? 😡
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `ORIGINAL’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `ORIGINAL’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `VERSION’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `VERSION’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `trunk/ZimbraBuild/RE/BUILD’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `trunk/ZimbraBuild/RE/BUILD’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:11: warning: overriding commands for target `11545412209502-src.tgz’
/mnt/scsi/tmp/zimbra/ZimbraBuild/defs/sourcetargets.def:8: warning: ignoring old commands for target `11545412209502-src.tgz’
(cd /opt/zimbra; tar xzf /mnt/scsi/tmp/zimbra/ZimbraBuild/../ThirdParty/mysql/FC4/mysql-standard-4.1.20-pc-linux-gnu-i686-glibc23.tar.gz;)
(cd /opt/zimbra; tar xzf /mnt/scsi/tmp/zimbra/ZimbraBuild/../ThirdParty/openldap/builds/FC4/openldap-2.3.21.tgz;)
cp -f /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/conf/ldap/DB_CONFIG /opt/zimbra/openldap-2.3.21/var/openldap-data
cp -f /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/conf/ldap/slapd.conf.production /opt/zimbra/openldap-2.3.21/etc/openldap/slapd.conf
cp -f /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/conf/ldap/amavisd.schema /opt/zimbra/openldap-2.3.21/etc/openldap/schema
cp -f /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/conf/ldap/zimbra.schema /opt/zimbra/openldap-2.3.21/etc/openldap/schema
cp -f /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/conf/ldap/zimbra.ldif /opt/zimbra/openldap-2.3.21/etc/openldap/zimbra.ldif
cp -f /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer/conf/ldap/widgets.ldif /opt/zimbra/openldap-2.3.21/etc/openldap/widgets.ldif
(cd /mnt/scsi/tmp/zimbra/ZimbraBuild/../ZimbraServer; /zimbra/apache-ant-1.6.5/bin/ant
-Dzimbra.buildinfo.version=4.0.0_GA_246==== ORIGINAL VERSION trunk/ZimbraBuild/RE/BUILD 11545412209502.FC4
Buildfile: build.xml
BUILD FAILED
Target `ORIGINAL’ does not exist in this project.
Total time: 1 second
Источник
Fix three issues when building RPM packages #1158
There are three issues with the current RPM packages generated by make -C tmp package :
- The build fails at this step due to an invalid rpath setting:
- Installation of the generated RPM fails on Fedora because /lib is a symlink to /usr/lib, but it’s in the RPM as a directory:
- CMake defaults to installing in /usr/local. This should be /usr. See https://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/fhs.html and the underlying FHS for further discussion.
A PR for all three of these is coming momentarily.
The text was updated successfully, but these errors were encountered:
Upon further research: #1 is a known issue in CPack (see here among many other reports). I’m using a much newer version of CMake, but it appears their «solution» was just to allow you to specify more directories in CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST. I’ll make this more comprehensive.
And for #3, /usr/local is correct when doing make install. It’s only the RPM that should use /usr.
I’ll update and resubmit.
I played a bit with CPack. I found it pretty flexible on one hand. However, we cannot easily use it together with Fedora COPR
Have you tried using CPACK_RPM_PACKAGE_SOURCES to generate a src.rpm? In theory, you should then be able to upload that to COPR. This is a little outside of the scope but I can take a look at that as well.
well, I think at least major RPM distributions (which are served by COPR) would be good to have on yum/dnf level.
it is not that useful to be able to build RPM by people themselves, just because if they build, they can build from source code.
This is how I always do it, incidentally, when installing either the server or client on a new machine. Clone from github, follow the build instructions, but as the last step, do make -C tmp package instead of make -C tmp install . Then install the generated package using yum/dnf or apt.
This has SO many advantages. The idea of using make install to put stuff in /usr/local really should have gone out with the ’90s.
I understand advantages of using packages 🙂
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
I’ve been building RPMs using CMake & CPack 3.13.4 on OEL7 for several months without issue. My CMake configuration contained these lines:
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
This has allowed me to ensure that the locally built versions of the library are used before any installed versions. Without making any changes to these lines I am suddenly unable to build RPMs any more. I now get this error message:
+ /usr/lib/rpm/check-rpaths
*******************************************************************************
*
* WARNING: 'check-rpaths' detected a broken RPATH 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 '/opt/project/lib/libConfigLoader.so.4.0.0' contains an invalid rpath '/opt/project/lib' in [/opt/project/lib]
ERROR 0002: file '/opt/project/lib/libConfigLoaderDb.so.4.0.0' contains an invalid rpath '/opt/project/lib' in [/opt/project/lib]
This seems wrong because it’s stating that /opt/project/lib
is not an absolute path, which it is.
The permissions of /opt/project/lib
are:
[user@c7 ]$ ll -d /opt/
drwxrwxr-x. 10 root root 139 Oct 11 14:31 /opt/
[user@c7 ]$ ll -d /opt/project/
drwxrwx--- 11 root project 114 Oct 11 14:32 /opt/project/
[user@c7 ]$ ll -d /opt/project/lib
drwxrwx--- 2 root project 4096 Oct 11 14:53 /opt/project/lib
I am able to suppress the error by prepending QA_RPATHS=0x0002
to my make
command, but I’m concerned that doing this might obscure other errors in future.
I looked into the check-rpaths
script (and the check-rpaths-worker
script that it uses), and the issue seems to come from this part, where j
has been set to the rpath, in this case /opt/project/lib
:
case "$j" in
(/lib/*|/usr/lib/*|/usr/X11R6/lib/*|/usr/local/lib/*)
badness=0;;
(/lib64/*|/usr/lib64/*|/usr/X11R6/lib64/*|/usr/local/lib64/*)
badness=0;;
($ORIGIN|${ORIGINX}|$ORIGIN/*|${ORIGINX}/*)
test $allow_ORIGIN -eq 0 && badness=8 || {
badness=0
new_allow_ORIGIN=1
}
;;
(/*$PLATFORM*|/*${PLATFORM}*|/*$LIB*|/*${LIB}*)
badness=0;;
(/lib|/usr/lib|/usr/X11R6/lib)
badness=1;;
(/lib64|/usr/lib64|/usr/X11R6/lib64)
badness=1;;
(.*)
badness=4;;
(*) badness=2;;
esac
(Source)
I don’t understand how this ever let /opt/project/lib
pass, as from that ‘case’ statement it would always drop to the (*)
case and set badness=2
What else can I try?
which information that I executed «ant» under ZimbraServer:
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/classes
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/generated/src/java
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/wiki
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/zimlets
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/data
Trying to override old definition of task deploy
make-dirs:
[echo] Creating dirs under /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/conf
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/openldap/etc/openldap/schema
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/bin
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/conf/msgs
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/db
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/lib/ext
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/lib/jars
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/libexec
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/tomcat/common/endorsed
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/tomcat/common/lib
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/tomcat/conf
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/tomcat/webapps
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/wiki
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/dist/zimlets
compile:
[javac] Compiling 1203 source files to /mnt/scsi/tmp/zimbra/ZimbraServer/build/classes
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
Trying to override old definition of task deploy
set-buildinfo-vars:
[echo] Version: 4.0
generate-buildinfo:
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/buildinfo
[javac] Compiling 1 source file to /mnt/scsi/tmp/zimbra/ZimbraServer/build/classes
jar:
[echo] Hostname: mail.localhost.localdomain
[jar] Building jar: /mnt/scsi/tmp/zimbra/ZimbraServer/build/zimbrastore.jar
Trying to override old definition of task deploy
set-buildinfo-vars:
[echo] Version: 4.0
generate-ldap-config:
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/attrs
[copy] Copying 2 files to /mnt/scsi/tmp/zimbra/ZimbraServer/build/attrs
[mkdir] Created dir: /mnt/scsi/tmp/zimbra/ZimbraServer/build/ldap-config
[copy] Copying 1 file to /mnt/scsi/tmp/zimbra/ZimbraServer/build/ldap-config
[copy] Copying 1 file to /mnt/scsi/tmp/zimbra/ZimbraServer/build/ldap-config
[copy] Copying 1 file to /mnt/scsi/tmp/zimbra/ZimbraServer/build/ldap-config
BUILD SUCCESSFUL
Total time: 59 seconds
Open
Issue created Jan 04, 2022 by
Fedora RPM package build failing with RPATH of /usr/local/lib64
Summary
Fedora Linux recently introduced RPATH hardening on RPM generation, and it fails when the RPATH is set to a default of /usr/local/lib64
https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_beware_of_rpath
While /usr/local/lib64
is not considered acceptable, either a directory under there, like /usr/local/lib64/wireshark
or a path that includes $ORIGIN
is considered acceptable. So enabling -DENABLE_RPATH_ORIGIN=ON
in the spec file for Fedora is acceptable, as would be moving the libraries to a subdirectory instead. It is also possible to disable the RPATH checks via several mechanisms described in the links
Steps to reproduce
ninja rpm-package
Also look at the recent CI builds
What is the current bug behavior?
Fails complaining of an invalid RPATH
What is the expected correct behavior?
Package should build
Relevant logs and/or screenshots
*******************************************************************************
*
* 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/local/lib64/wireshark/extcap/androiddump' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
ERROR 0002: file '/usr/local/lib64/wireshark/extcap/sdjournal' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
ERROR 0002: file '/usr/local/lib64/wireshark/extcap/randpktdump' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
ERROR 0002: file '/usr/local/lib64/wireshark/extcap/udpdump' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
ERROR 0002: file '/usr/local/lib64/wireshark/extcap/ciscodump' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
ERROR 0002: file '/usr/local/lib64/wireshark/extcap/dpauxmon' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
ERROR 0002: file '/usr/local/lib64/wireshark/extcap/sshdump' contains an invalid '/usr/local/lib64' in [/usr/local/lib64]
build
osfedora
Edited Jan 04, 2022 by John Thacker
Description of problem:
The check-rpaths script prints output like:
> ERROR 0020: file '/opt/gcc-latest/lib64/libtsan.so.2.0.0' contains an referencing '..' of an absolute path [/opt/gcc-latest/lib/../lib64]
Note the "contains an referencing" part.
Version-Release number of selected component (if applicable):
rpm-build-4.17.0-1.fc35.x86_64
rpm-build-4.17.0-1.fc36.1.x86_64
How reproducible:
Always
Steps to Reproduce:
1. gcc -shared -o libx.so -Wl,-rpath,/home/lib64,-rpath,/home/../lib64 -x c /dev/null
2. /usr/lib/rpm/check-rpaths-worker libx.so
Actual results:
ERROR 0002: file 'libx.so' contains an invalid '/home/lib64' in [/home/lib64]
ERROR 0020: file 'libx.so' contains an referencing '..' of an absolute path [/home/lib64:/home/../lib64]
Expected results:
"contains an invalid rpath" or "contains an invalid runpath"
Note however that the second ERROR will say "contains an runpath referencing" which is not correct English grammar. So even fixing the incorrect definition of the $lower variable won't fix it completely.
Additional info:
This was caused by this upstream commit:
https://github.com/rpm-software-management/rpm/commit/5417bffe37a9dfbfd33734f3f46d82adb927463b
Fixed in rawhide as of 4.18 alpha, also scheduled for fix in 4.17.x branch. |
Update: Spotify for Linux v0.9.4 is now available. See here.
Hi everybody!
Today we pushed the latest and greatest Spotify client to our repository. This time you’re getting the good stuff first, this version has only been rolled out to a small percentage of Windows/Mac users. It contains some of the features that were presented on our recent press event, such as being able to follow artists and tastemakers. Have a look at the brand new Follow page, where you can find interesting artists and other people to follow. You’ll get updates on their activity, such as newly released albums etc.
As for Linux-specific fixes, there are some minor bug fixes. The biggest change is the packaging. The client now is installed to /opt and it uses XDG mechanisms to register icons and menus. The executable is now also built without hardcoded paths to libraries. This means that the folder can be put anywhere and just run from there. Unfortunately, this release still depends on libssl0.9.8. We’ll try to get rid of that in upcoming releases!
The new client is just a «sudo apt-get update && sudo apt-get upgrade» away!
What, you don’t already have Spotify installed? Lookie here: http://www.spotify.com/download/previews/
Don’t use Debian? Check out these zip packages:
http://download.spotify.com/preview/spotify-client-linux-0.8.8.323.gd143501e-i686.zip
http://download.spotify.com/preview/spotify-client-linux-0.8.8.323.gd143501e-amd64.zip
Edit: updated to include the zip packages.