Skip to content

pahole: Correctly install libdwarfes shared libraries into /usr/lib #3229

Merged
merged 1 commit into from
Apr 16, 2025

Commits on Apr 16, 2025

  1. pahole: Set LIB_INSTALL_DIR to fix lib install directory

    Currently, [the shared libraries are wrongly installed into
    `/usr/usr/lib`][1]:
    
        $ pahole --version
        pahole: error while loading shared libraries: libdwarves_emit.so.1: cannot open shared object file: No such file or directory
        $ fakeroot bee query pahole-1.30-0.x86_64
        […]
        /usr/usr/lib
        /usr/usr/lib/libdwarves_reorganize.so//libdwarves_reorganize.so.1
        /usr/usr/lib/libdwarves_reorganize.so.1//libdwarves_reorganize.so.1.0.0
        /usr/usr/lib/libdwarves_reorganize.so.1.0.0
        /usr/usr/lib/libdwarves_emit.so//libdwarves_emit.so.1
        /usr/usr/lib/libdwarves_emit.so.1//libdwarves_emit.so.1.0.0
        /usr/usr/lib/libdwarves_emit.so.1.0.0
        /usr/usr/lib/libdwarves.so//libdwarves.so.1
        /usr/usr/lib/libdwarves.so.1//libdwarves.so.1.0.0
        /usr/usr/lib/libdwarves.so.1.0.0
        […]
    
    The problem is, that `CMAKE_INSTALL_LIBDIR` is treated to be
    subdirectory of the install prefix and *not* an absolute path:
    
        $ more CMakeLists.txt
        […]
        if (NOT DEFINED LIB_INSTALL_DIR)
            set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
        endif()
        […]
    
    Explicity set `LIB_INSTALL_DIR` to make the if condition false.
    
        $ fakeroot bee query pahole-1.30-1.x86_64
        […]
        /usr/lib/libdwarves_reorganize.so//libdwarves_reorganize.so.1
        /usr/lib/libdwarves_reorganize.so.1//libdwarves_reorganize.so.1.0.0
        /usr/lib/libdwarves_reorganize.so.1.0.0
        /usr/lib/libdwarves_emit.so//libdwarves_emit.so.1
        /usr/lib/libdwarves_emit.so.1//libdwarves_emit.so.1.0.0
        /usr/lib/libdwarves_emit.so.1.0.0
        /usr/lib/libdwarves.so//libdwarves.so.1
        /usr/lib/libdwarves.so.1//libdwarves.so.1.0.0
        /usr/lib/libdwarves.so.1.0.0
        […]
        $ pahole --version
        v1.30
    
    Upstream report: https://lore.kernel.org/all/9fb4f7ba-0de1-4f75-9bd2-66212ca8cd86@molgen.mpg.de/
    
    Increment revision to 1.
    
    [1]: #3227 (comment)
    pmenzel committed Apr 16, 2025
    Configuration menu
    Copy the full SHA
    a7f386f View commit details
    Browse the repository at this point in the history