grpc: don't set LD_LIBRARY_PATH when cross compiling
LD_LIBRARY_PATH is only necessary in the native compilation case when we need to execute grpc_cpp_plugin from the build directory. Disabling this for cross is not only cleaner, but eliminates linker failures when cross compiling to a compatible configuration, since LD_LIBRARY_PATH takes precedence over the rpath set in buildPackages.grpc's grpc_cpp_plugin.
This commit is contained in:
parent
9a76986ee0
commit
34ca27bc95
@ -68,7 +68,12 @@ stdenv.mkDerivation rec {
|
||||
rm -vf BUILD
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
# When natively compiling, grpc_cpp_plugin is executed from the build directory,
|
||||
# needing to load dynamic libraries from the build directory, so we set
|
||||
# LD_LIBRARY_PATH to enable this. When cross compiling we need to avoid this,
|
||||
# since it can cause the grpc_cpp_plugin executable from buildPackages to
|
||||
# crash if build and host architecture are compatible (e. g. pkgsLLVM).
|
||||
preBuild = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||
export LD_LIBRARY_PATH=$(pwd)''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
|
||||
'';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user