Bug 1902729 - vtk contains the $ORIGIN runpath specifier at the wrong position
Summary: vtk contains the $ORIGIN runpath specifier at the wrong position
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: vtk
Version: 35
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: 1964548
TreeView+ depends on / blocked
 
Reported: 2020-11-30 14:09 UTC by Tomáš Hrnčiar
Modified: 2021-09-27 01:36 UTC (History)
7 users (show)

Fixed In Version: vtk-9.0.3-2.fc36
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-09-27 01:36:22 UTC
Type: Bug


Attachments (Terms of Use)

Description Tomáš Hrnčiar 2020-11-30 14:09:58 UTC
Description of problem:
Package vtk fails to build from source in Fedora rawhide.

Version-Release number of selected component (if applicable):
8.2.0-25.fc34

Steps to Reproduce:
koji build --scratch f34 vtk-8.2.0-25.fc34.src.rpm

Additional info:
https://koji.fedoraproject.org/koji/taskinfo?taskID=56438238

Comment 1 Fedora Release Engineering 2020-12-06 04:22:51 UTC
Dear Maintainer,

your package has an open Fails To Build From Source bug for Fedora 34.
Action is required from you.

If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close this bug without creating an update, if updating is
not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to
acknowledge this. If you have already fixed this issue, please close this Bugzilla report.

Following the policy for such packages [2], your package will be orphaned if
this bug remains in NEW state more than 8 weeks (not sooner than 2021-01-25).

A week before the mass branching of Fedora 35 according to the schedule [3],
any packages not successfully rebuilt at least on Fedora 33 will be
retired regardless of the status of this bug.

[1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/
[2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
[3] https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html

Comment 2 Fedora Release Engineering 2020-12-27 04:22:22 UTC
Dear Maintainer,

your package has an open Fails To Build From Source bug for Fedora 34.
Action is required from you.

If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close this bug without creating an update, if updating is
not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to
acknowledge this. If you have already fixed this issue, please close this Bugzilla report.

Following the policy for such packages [2], your package will be orphaned if
this bug remains in NEW state more than 8 weeks (not sooner than 2021-01-25).

A week before the mass branching of Fedora 35 according to the schedule [3],
any packages not successfully rebuilt at least on Fedora 33 will be
retired regardless of the status of this bug.

[1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/
[2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
[3] https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html

Comment 3 Fedora Release Engineering 2021-01-03 04:22:20 UTC
Dear Maintainer,

your package has an open Fails To Build From Source bug for Fedora 34.
Action is required from you.

If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close this bug without creating an update, if updating is
not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to
acknowledge this. If you have already fixed this issue, please close this Bugzilla report.

Following the policy for such packages [2], your package will be orphaned if
this bug remains in NEW state more than 8 weeks (not sooner than 2021-01-25).

A week before the mass branching of Fedora 35 according to the schedule [3],
any packages not successfully rebuilt at least on Fedora 33 will be
retired regardless of the status of this bug.

[1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/
[2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
[3] https://fedorapeople.org/groups/schedule/f-35/f-35-key-tasks.html

Comment 4 Orion Poplawski 2021-01-23 22:12:43 UTC
This is due to pugixml 1.11 update.  Support is in VTK 9.0.1 and it appears to be difficult to backport, so the plan is to update to VTK 9.0 soon.

Comment 5 Ben Cotton 2021-02-09 15:29:17 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle.
Changing version to 34.

Comment 6 Tomáš Hrnčiar 2021-06-04 08:15:51 UTC
https://fedoraproject.org/wiki/Changes/Broken_RPATH_will_fail_rpmbuild 

Related section in packaging guideline.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_beware_of_rpath

+ /usr/lib/rpm/check-rpaths
*******************************************************************************
*
* 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   0008: file '/usr/lib64/mpich/lib/python3.9/site-packages/vtkmodules/vtkIOExodus.cpython-39-x86_64-linux-gnu.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN/../../../]
ERROR   0008: file '/usr/lib64/mpich/lib/python3.9/site-packages/vtkmodules/vtkParallelMPI.cpython-39-x86_64-linux-gnu.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN/../../../]
ERROR   0008: file '/usr/lib64/mpich/lib/python3.9/site-packages/vtkmodules/vtkFiltersParallelGeometry.cpython-39-x86_64-linux-gnu.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN/../../../]
ERROR   0008: file '/usr/lib64/mpich/lib/vtk/libvtkIOExodusJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/mpich/lib/vtk/libvtkIOExodusJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
*******************************************************************************
*
* 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   0008: file '/usr/lib64/mpich/lib/vtk/libvtkFiltersParallelGeometryJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/mpich/lib/vtk/libvtkFiltersParallelGeometryJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/mpich/lib/vtk/libvtkParallelMPIJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/mpich/lib/vtk/libvtkParallelMPIJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
*******************************************************************************
*
* 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   0008: file '/usr/lib64/mpich/bin/pvtkpython' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN/../lib]
ERROR   0008: file '/usr/lib64/openmpi/lib/python3.9/site-packages/vtkmodules/vtkIOExodus.cpython-39-x86_64-linux-gnu.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN/../../../]
ERROR   0008: file '/usr/lib64/openmpi/lib/python3.9/site-packages/vtkmodules/vtkParallelMPI.cpython-39-x86_64-linux-gnu.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN/../../../]
ERROR   0008: file '/usr/lib64/openmpi/lib/python3.9/site-packages/vtkmodules/vtkFiltersParallelGeometry.cpython-39-x86_64-linux-gnu.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN/../../../]
ERROR   0008: file '/usr/lib64/openmpi/lib/vtk/libvtkIOExodusJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/openmpi/lib/vtk/libvtkIOExodusJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/openmpi/lib/vtk/libvtkFiltersParallelGeometryJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/openmpi/lib/vtk/libvtkFiltersParallelGeometryJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/openmpi/lib/vtk/libvtkParallelMPIJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN:$ORIGIN/../]
ERROR   0008: file '/usr/lib64/openmpi/lib/vtk/libvtkParallelMPIJava.so' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN:$ORIGIN/../]
*******************************************************************************
*
* 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   0008: file '/usr/lib64/openmpi/bin/pvtkpython' contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/openmpi/lib:$ORIGIN/../lib]

Comment 7 Miro Hrončok 2021-06-04 08:45:56 UTC
To unlock the Python 3.10 rebuild, we might temporarily use the BRP opt out mechanism:

    %global __brp_check_rpaths %{nil}

Comment 8 Miro Hrončok 2021-06-04 20:14:31 UTC
This is a mass-posted update. Sorry if it is not 100% accurate to this bugzilla.


The Python 3.10 rebuild is in progress in a Koji side tag. If you manage to fix the problem, please commit the fix in the rawhide branch, but don't build the package in regular rawhide.

You can either build the package in the side tag, with:

    $ fedpkg build --target=f35-python

Or you can the build and we will eventually build it for you.

Note that the rebuild is still in progress, so not all (build) dependencies of this package might be available right away.

Thanks.

See also https://fedoraproject.org/wiki/Changes/Python3.10

If you have general questions about the rebuild, please use this mailing list thread: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/G47SGOYIQLRDTWGOSLSWERZSSHXDEDH5/

Comment 9 Miro Hrončok 2021-06-07 09:40:41 UTC
Disabled the check temporarily. Leaving ths bugzilla open.

Comment 10 Ben Cotton 2021-08-10 12:49:45 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle.
Changing version to 35.

Comment 11 Orion Poplawski 2021-09-27 01:36:22 UTC
#  contains the $ORIGIN runpath specifier at the wrong position in [/usr/lib64/mpich/lib:$ORIGIN:$ORIGIN/../]
#  0x0008 ... the special '$ORIGIN' RPATHs are appearing after other
#             RPATHs; this is just a minor issue but usually unwanted
# The paths are equivalent and "this is just a minor issue", so we are allowing it


Note You need to log in before you can comment on or make changes to this bug.