pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkgsrc lang/llvm 16.x vs. cmake vs. $ORIGIN



On Thu, 11 Jan 2024 19:28:12 +0100 (CET)
Havard Eidnes <he%NetBSD.org@localhost> wrote:

> Hi,
> 
> just tried to build llvm 16.0.6 on NetBSD/macppc 9.0 using a
> freschly updated cmake 3.28.1, but in the install phase this
> bombs out as follows:
> 
> -- Installing:
> /usr/pkgsrc/lang/llvm/work/.destdir/usr/pkg/bin/llvm-tblgen CMake
> Error at utils/TableGen/cmake_install.cmake:50 (file): file
> RPATH_CHANGE could not write new RPATH:
> 
>     $ORIGIN/../lib
> 
>   to the file:
> 
>     /usr/pkgsrc/lang/llvm/work/.destdir/usr/pkg/bin/llvm-tblgen
> 
>   The current RPATH is:
> 
>     /usr/pkg/lib
> 
>   which does not contain:
> 
>     $ORIGIN/../lib:/usr/pkg/lib:
> 
>   as was expected.
> Call Stack (most recent call first):
>   cmake_install.cmake:63 (include)
> 
> 
> *** Error code 1
> 
> Now, I know that pkgsrc has a "hate" relationship with RPATH
> containing $ORIGIN, so maybe this is to be expected, but should
> then not this issue have surfaced already and been fixed?
> 
> "I want my LLVM!"
> 
> I find this code in
> 
> work/llvm-16.0.6.src/cmake-pkgsrc-build/utils/TableGen/cmake_install.cmake
> 
> but ... is that a generated file?  I would not expect to find
> "pkgsrc" in an upstream path name.
> 
> As with most things related to cmake, I'm grossed out and
> confused, both at the same time.  "Help!"
> 
> Regards,
> 
> - Håvard

Does adding:
if(CMAKE_SKIP_RPATH)
  return()
endif()

to the beginning of the cmake function
llvm_setup_rpath in ${WRKSRC}/cmake/modules/AddLLVM.cmake
fix your problem?

/Niclas


Home | Main Index | Thread Index | Old Index