bcmi / libcom

Image composition toolbox: everything you want to know about image composition or object insertion
Apache License 2.0
276 stars 18 forks source link

pip install problem #24

Closed whybfq closed 7 months ago

whybfq commented 7 months ago
      copying libcom/controllable_composition/source/ControlCom/configs/controlcom.yaml -> build/lib.linux-x86_64-cpython-311/libcom/controllable_composition/source/ControlCom/configs
      copying libcom/fos_score/source/config/config_rfosd.yaml -> build/lib.linux-x86_64-cpython-311/libcom/fos_score/source/config
      copying libcom/fos_score/source/config/config.sfosd.yaml -> build/lib.linux-x86_64-cpython-311/libcom/fos_score/source/config
      copying libcom/shadow_generation/source/cldm_v15.yaml -> build/lib.linux-x86_64-cpython-311/libcom/shadow_generation/source
      copying libcom/painterly_image_harmonization/source/PHDiffusion/stable_diffusion.yaml -> build/lib.linux-x86_64-cpython-311/libcom/painterly_image_harmonization/source/PHDiffusion
      running build_ext
      building 'trilinear' extension
      creating /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311
      creating /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/libcom
      creating /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/libcom/image_harmonization
      creating /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/libcom/image_harmonization/source
      creating /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/libcom/image_harmonization/source/trilinear_cpp
      creating /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/libcom/image_harmonization/source/trilinear_cpp/src
      Emitting ninja build file /tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/build.ninja...
      Compiling objects...
      Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
      ninja: error: '/tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/libcom/image_harmonization/source/trilinear_cpp/src/trilinear.cpp', needed by '/tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/build/temp.linux-x86_64-cpython-311/libcom/image_harmonization/source/trilinear_cpp/src/trilinear.o', missing and no known rule to make it
      Traceback (most recent call last):
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2100, in _run_ninja_build
          subprocess.run(
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/subprocess.py", line 571, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-jbn64orc/libcom_468d5c874bb849d9a5be66d430575b81/setup.py", line 109, in <module>
          setup(
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 364, in run
          self.run_command("build")
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 88, in run
          _build_ext.run(self)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 873, in build_extensions
          build_ext.build_extensions(self)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
          self._build_extensions_serial()
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
          self.build_extension(ext)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 249, in build_extension
          _build_ext.build_extension(self, ext)
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
          objects = self.compiler.compile(
                    ^^^^^^^^^^^^^^^^^^^^^^
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 686, in unix_wrap_ninja_compile
          _write_ninja_file_and_compile_objects(
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1774, in _write_ninja_file_and_compile_objects
          _run_ninja_build(
        File "/home/hangyi/anaconda3/envs/inpaint/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2116, in _run_ninja_build
          raise RuntimeError(message) from e
      RuntimeError: Error compiling objects for extension
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for libcom
  Running setup.py clean for libcom
Failed to build libcom
ERROR: Could not build wheels for libcom, which is required to install pyproject.toml-based projects

when I use python 3.11 to install libcom (pip install libcom), the error is like above, because I have some packages have to use python > 3.11, there are some conflicts with libcom, I think other people have similar problems, and I have check the libcom.yaml,

since I mainly use the ShadowGenerationModel, so is it okay to update the python version from 3.8 to 3.11, or which packages conflict with python 3.11, thanks a lot.

sd707589 commented 7 months ago

I encountered similar bugs. The 'trilinear' is an out-dated library, which is unfit to latest CUDA and pytorch. Is there anyway to walk around it?

bo-zhang-cs commented 7 months ago

If you don't have to use ImageHarmonizationModel, try to comment out the ext_modules in setup.py, import code in __init__.py, and other places that may rely on the trilinear or libcom/image_harmonization. Then reinstall this library by running python setup.py install.

whybfq commented 7 months ago

Thanks a lot for your detail advice, that works.