<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/131119>131119</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Tools linking against libLLVM don't specify zlib path
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Zentrik
</td>
</tr>
</table>
<pre>
I'm trying to build llvm on a system where zlib is not installed in the search path, to do this I'm using `-DLLVM_ENABLE_ZLIB=FORCE_ON -DZLIB_ROOT=my_path`. `libLLVM.so` builds but tools that link against `libLLVM.so` fail as they don't specify the path to zlib, e.g.
```
/usr/local/bin/g++ -m64 -fno-gnu-unique -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,[buildroot]/deps/scratch/llvm-9191f0d890728ba959cb2b2a76e3ab914069cabc/build_Release/./lib -Wl,--gc-sections CMakeFiles/dsymutil.dir/dsymutil.cpp.o CMakeFiles/dsymutil.dir/BinaryHolder.cpp.o CMakeFiles/dsymutil.dir/CFBundle.cpp.o CMakeFiles/dsymutil.dir/DebugMap.cpp.o CMakeFiles/dsymutil.dir/DwarfLinkerForBinary.cpp.o CMakeFiles/dsymutil.dir/MachODebugMapParser.cpp.o CMakeFiles/dsymutil.dir/MachOUtils.cpp.o CMakeFiles/dsymutil.dir/Reproducer.cpp.o CMakeFiles/dsymutil.dir/RelocationMap.cpp.o "CMakeFiles/dsymutil.dir/dsymutil-driver.cpp.o" -o ../../bin/dsymutil -Wl,-rpath,"\$ORIGIN/../lib:[buildroot]/deps/scratch/llvm-9191f0d890728ba959cb2b2a76e3ab914069cabc/build_Release/lib:" ../../lib/libLLVM.so.20.1jl -lpthread
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: warning: libz.so.1, needed by ../../lib/libLLVM.so.20.1jl, not found (try using -rpath or -rpath-link)
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `compress2'
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `crc32'
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `compressBound@ZLIB_1.2.0'
/usr/local/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/../../../../x86_64-linux-gnu/bin/ld: ../../lib/libLLVM.so.20.1jl: undefined reference to `uncompress'
collect2: error: ld returned 1 exit status
```
Full cmake command is (`[buildroot]` is just an abbreviation to keep the printed command shorter)
```
[buildroot]/deps/scratch/cmake-3.30.1-linux-x86_64/bin/cmake [buildroot]/deps/srccache/llvm-9191f0d890728ba959cb2b2a76e3ab914069cabc/llvm -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=[buildroot]/usr -DCMAKE_PREFIX_PATH=[buildroot]/usr -DLIB_INSTALL_DIR=[buildroot]/usr/lib -DCMAKE_INSTALL_LIBDIR=[buildroot]/usr/lib -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_COMPILER="$(which gcc)" -DCMAKE_C_COMPILER_ARG1="-m64 " -DCMAKE_CXX_COMPILER="$(which g++)" -DCMAKE_CXX_COMPILER_ARG1="-m64 " -DCMAKE_LINKER="$(which ld)" -DCMAKE_AR="$(which ar)" -DCMAKE_RANLIB="$(which ranlib)" -DLLVM_ENABLE_PROJECTS=";lld" -DLLVM_EXTERNAL_PROJECTS="" -DLLVM_ENABLE_RUNTIMES="" -DLLVM_WINDOWS_PREFER_FORWARD_SLASH=False -DLLVM_TARGETS_TO_BUILD:STRING="host;NVPTX;AMDGPU;WebAssembly;BPF;AVR" -DCMAKE_BUILD_TYPE="Release" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD:STRING="" -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_HOST_TRIPLE="x86_64-linux-gnu" -DLLVM_ENABLE_ZLIB=FORCE_ON -DZLIB_ROOT="[buildroot]/usr" -DLLVM_ENABLE_ZSTD=OFF -DLLVM_TOOLS_INSTALL_DIR=tools -DLLVM_UTILS_INSTALL_DIR=tools -DLLVM_INCLUDE_UTILS=ON -DLLVM_INSTALL_UTILS=ON -DLLVM_BINDINGS_LIST="" -DLLVM_ENABLE_BINDINGS=OFF -DLLVM_INCLUDE_DOCS=Off -DLLVM_ENABLE_TERMINFO=Off -DHAVE_LIBEDIT=Off -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLLVM_USE_PERF:BOOL=ON -DCMAKE_C_FLAGS=" " -DCMAKE_CXX_FLAGS=" -fno-gnu-unique" -DLLVM_TOOL_CLANG_BUILD=OFF -DLLVM_TOOL_COMPILER_RT_BUILD=OFF -DLLVM_TOOL_LLDB_BUILD=OFF -DCMAKE_EXE_LINKER_FLAGS="" -DCMAKE_SHARED_LINKER_FLAGS="" -DLLVM_VERSION_SUFFIX:STRING="jl" -DLLVM_SHLIB_SYMBOL_VERSION:STRING="JL_LLVM_20.1" -DBUG_REPORT_URL="https://github.com/julialang/julia"
```
Full log at https://buildkite.com/organizations/julialang/pipelines/julia-master/builds/45658/jobs/0195848d-ef49-4d05-8305-8e6914a1883c/download.txt
Am I doing something wrong or is this a bug, and if so any pointers on how to fix it.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUWF9vq7gS_zTui-UITJImD32AAD3s0iQi5LS7L8iAk_jU2FnbtM359FeGpE3T86e6D_dqpSoFz29-M2OPx2OI1mwrKL0BowCMwivSmp1UN39TYRR7vCplfbhJAL5uoFEHJrbQSFi2jNeQ86cGSgEJ1AdtaAOfd1RR-J2zEjINhTSQCW0I57SGTECzo1BToqod3BOzA3hmuWoJzY5p2NtotTUBxg4K0_TrXRHN_SCNir_TJABeGC-yWVQs5hCFdqTIFosceGFzKDrCsTOwqpyVVnegJRg7va8alq2BRkquodkRAzkTj5BsiXXwo86GMA6JhdIDrKUA-NpAvacV2xy6MKw567yN1cZBB9sBcHwwdo5_jg9w3GoFcMxlRTjAcckEwPEW4ADgAKJmPIQQQrQREm1Fi1rB_mkpRJtlMutHNW2IMKxCTBiq9lIzw6SAaPPENCsZZ-aAmOBMUI12rK6pgOieKiUV8MKaGIoMa2jPxdmG2jdUawrRPeHcYl-MIhDdC4la0Wpaoz1RpKGGKojunxUzFGmjmNhqiO4rog36pyW812iYtmuFNozyGjHBDCOcfadKQ7Snded5j-RSbLsfiO5Zs-esYgZtCOdmp2S73Z08eOOo-yEhhWj50V7FidaooQ2pKqp1P6ho3QprCzXyifZje6o1a9h369zbqJD0paJ7g8xhb4dqyqmh1gR6Ysq0hKPaSHW0JZuGCvMaKKektnRM1FQYclyGTSsq-4g07f5riDY1MeTsfeFBFM7DKFjfQnTPAZ4hZXMH2fwDeAZGQZefSkoDRiHAcU33GuBYV4qYamfThz81aOpO3Y1TT6bONZ6UZDqaViUuMbkeU4-UU3fojKcVKSubZpavyCinRFOA44HlYOXJPNpWb_7N7sgjjRmn1mStD01rGB_UTJ2_Vvv9QP4SGjBB1OGL5DVVn4DP4qAVNaefgIa0bLd3ZP8Z6DNRm5SJR6piqXqXPqF2R6rd4mRmSZT-VAid1towrj8BzuheybqtPsWcUVsv7PK8hQ0w_sxKoVqxp5MRgDFEEg7s8nc_ffk5Yd9lo01EjMFoBvBwkSW3yfykZMub5_8PsvRoCOMzj7vaGr9V5gF2Bu43DhHfm52ipP55lT3T31bW3stkXIyHdtu1L7bcAhxPB-7AOWEvfn4A74l5DTwfPhMlmNjaR87K79Y31x4DgtKa1rA8_D6KDi4N3MhW1BDgiVGH4-nXLwq0xei8WEz_b-H-PhjPh62o6YYJWkNFN1RRUVF7QoKxU8lmr6jWGODrf20MqvL-1f4f1yCw6QaGTtc-uQNs3fnXBtWKU1h9EJXknFYGW61jH-RDbvVMqyyBC-kLM1AbYlp92a85fmybjaohjxTaDoCI2vaxAE8s4qIGjh0r-9ZqA4mApCwVfWJ9Z2AkfKR03zeKyjZv9Suf3kllqDru5nPzv6-xnWfIG3jOwD1OaT-_r7Pa-_5zKlVVpNrR_6Jed70-urVH0VqwF2iPo01_HGGIwtmd_2dUJPNV7qdpscyiOHkAnr_08y_ACz861Gr1qtWji99gbb6e-MMk-xny1OxceJQmweeVvkZZsFhFhX2JkzQCXthdOXrprJgt7pZJGnV0GAM8BHjyvGPVDnZ7ZHo-JW_ows9u3V6l6_3foR4efsXaXxkumc90fsWdJvM_f8TK6wtC_wcgoi5AmT_vr2IXQEVEt4WP4PO72zJb_BHN8tVRyQu4Nf2GesijbO6nl7gPPNl6nid30Uf5fTIPF_erLpGirIgX2b2fhcUq9Vc2o2LC7Z2nx-Z-dhvlqyJfFME6SUPg-as8S-a3PetOagO8YP51mT8AL_DvwtvlGnjBPS19rWlT8gPwgmAZW-HX7HxmOroi_2sZ9VSvvc1ZpMsoS-6iee6nv3PkY_hpEjzcpdgmYxyfZF8Wq7zIs2SZHq1-LLiXPL--Snd94A-3yAeeVR6-dyZfLNLVxSbtr9xHwDpPfg1I5rN0HUY98LTtjpJe6aMkSOZhMr9dFWmyyn82eSfQe4dP5sLFrJNsNhdqeZTdJfN48Sr84n_tViIKk_yHGmeyNzt9anSP4V_d9PvBYpG-C8Nu099A1quoWEZZfCE7FZo49W-PmwN-qC7vhJcfHc7my65hMUv9-e0pLS9X-K3oZPlPMWkaBhfC3pfo4VSRzl0693b1xc-i8KegzsbXKFsli3mxWsf9QXO-dWxv_YpcfbHJvfrrLlikJ7UL_B9pP--24-g1g_VtkUXLRZYX6yw9VgZj9rq7osS2GWJm15aDSjYAx99azggnYnt6ts6-P927zoLLLSQGvmfqttojM_RIJtWWCPa96yT0Bfme7Wn3uec0jhqiu26ip7Hjw9F4NLFyWdpXx52OJsNJjehmOEXD2hmhiWd_6HjqDok7mXj2eK_ls-CS1APzYvpeyG9gAmtp7yNaNtTs7NOzkmJrLyZM9x_tCCzbrb3KdL3SBmoJiTjAvew-WWkoBdzJZ9sRbdgLZGZwVd949dSbkit6414P3cnYHY3dq93NNR56bjkiE4dsxs51SYbVxqsn1xO3cit67V2xG-zgkeO5nuvgseMOam9Kr0flcHQ9JfVkUoKhQxvC-MD2KgOptldM65beuJ7rutMrTkrKdfeVE2NBn2En7epdeKVuuoaobLcaDB3OtNFvNIYZTm_yrlDZq5ididOnw2PH-uEjYfcR1F7erlrFb36RPNbKqR_bK_mNVgbguPPNrt_R-acb_J8AAAD__1tbpDw">