triton icon indicating copy to clipboard operation
triton copied to clipboard

`/usr/bin/ld: cannot find -lz` while installing triton from source

Open shingjan opened this issue 3 years ago • 3 comments
trafficstars

Trying to install triton from source according to the guide here.

My setup is ubuntu20.04 with cuda 11.3 and llvm-11.

Complete stacktrace:

/home/ubuntu/triton/lib/driver/llvm.cc: In function ‘std::string triton::driver::ptx_to_cubin(const string&, const string&, int)’:
/home/ubuntu/triton/lib/driver/llvm.cc:222:14: warning: ignoring return value of ‘char* tmpnam(char*)’, declared with attribute warn_unused_result [-Wunused-result]
  222 |   std::tmpnam(_fsrc);
      |   ~~~~~~~~~~~^~~~~~~
/home/ubuntu/triton/lib/driver/llvm.cc:223:14: warning: ignoring return value of ‘char* tmpnam(char*)’, declared with attribute warn_unused_result [-Wunused-result]
  223 |   std::tmpnam(_flog);
      |   ~~~~~~~~~~~^~~~~~~
[100%] Linking CXX shared library ../../triton/_C/libtriton.so
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/triton.dir/build.make:737: ../../triton/_C/libtriton.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:839: CMakeFiles/triton.dir/all] Error 2
make: *** [Makefile:101: all] Error 2
Traceback (most recent call last):
  File "setup.py", line 131, in <module>
    setup(
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 148, in setup
    return run_commands(dist)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
    dist.run_commands()
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/dist.py", line 1214, in run_command
    super().run_command(command)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/command/develop.py", line 34, in run
    self.install_for_development()
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/command/develop.py", line 114, in install_for_development
    self.run_command('build_ext')
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/dist.py", line 1214, in run_command
    super().run_command(command)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "setup.py", line 92, in run
    self.build_extension(ext)
  File "setup.py", line 128, in build_extension
    subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=self.build_temp)
  File "/home/ubuntu/miniconda3/envs/torchdynamo711/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j16']' returned non-zero exit status 2.

shingjan avatar Sep 21 '22 18:09 shingjan

sudo apt-get install zlib1g-dev solved this for me.

cchan avatar Sep 22 '22 11:09 cchan

Thanks! @cchan It did for me as well. Just wonder if zlib1g-dev should be part of the triton's dependencies.

shingjan avatar Sep 22 '22 17:09 shingjan

It's a bit tricky to add a dependency for the C++ part of the source-code. But I'll see if I can straight up remove the dependency on gziplib, which I think comes from LLVM.

ptillet avatar Sep 22 '22 23:09 ptillet

I feel like this should be fixed, now that we statically link against LLVM. Please reopen (or create a new issue) if you still run into that problem :)

ptillet avatar Feb 23 '23 04:02 ptillet