You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Alexander Shpilkin (Jira)" <ji...@apache.org> on 2022/05/16 07:35:00 UTC

[jira] [Created] (ARROW-16585) CMake and pkg-config files are broken when CMAKE_INSTALL_{BIN,INCLUDE,LIB}DIR is absolute

Alexander Shpilkin created ARROW-16585:
------------------------------------------

             Summary: CMake and pkg-config files are broken when CMAKE_INSTALL_{BIN,INCLUDE,LIB}DIR is absolute
                 Key: ARROW-16585
                 URL: https://issues.apache.org/jira/browse/ARROW-16585
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Alexander Shpilkin


As per title: {{{}cpp/src/gandiva/gandiva.pc.in{}}}, {{{}cpp/src/parquet/parquet.pc.in{}}}, {{{}cpp/src/plasma/plasma.pc.in{}}}, and {{cpp/src/skyhook/skyhook.pc.in}} have
{code:java}
prefix=@CMAKE_INSTALL_PREFIX@
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ # not in plasma.pc.in{code}
while {{cpp/src/plasma/PlasmaConfig.cmake.in}} has
{code:java}
set(PLASMA_STORE_SERVER "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/plasma-store-server@CMAKE_EXECUTABLE_SUFFIX@"){code}
and so they can’t handle absolute paths in {{{}CMAKE_INSTALL_\{BIN,INCLUDE,LIB}DIR{}}}. This leads to broken .pc files on NixOS in particular.

See “[Concatenating paths when building pkg-config files|https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files]” for a thorough discussion of the problem and a suggested fix, or [KDE’s extra-cmake-modules|https://invent.kde.org/frameworks/extra-cmake-modules/-/blob/master/modules/ECMGeneratePkgConfigFile.cmake#L166] for a simpler approach.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)