georghess / neurad-studio

[CVPR2024] NeuRAD: Neural Rendering for Autonomous Driving
https://research.zenseact.com/publications/neurad/
Apache License 2.0
346 stars 24 forks source link

Docker Build Errors #5

Closed MartinEthier closed 6 months ago

MartinEthier commented 6 months ago

When trying to build the docker image, I run into a few issues. First, I get the following error:

neurad_docker_error

This seems to be due to the command using bash specific syntax. I am using Ubuntu which means the docker commands are ran using /bin/sh instead of /bin/bash. This can be fixed by replacing the CUDA_VER assignment to something that does not use bash specific syntax:

CUDA_VER=$(echo $CUDA_VERSION | awk 'BEGIN{FS=OFS="."}NF--' | sed -e 's/\.//g')

After fixing the previous error I then I get another error:

image

I haven't been able to fix this issue yet. I'm wondering if you have any ideas on what is going wrong.

carlinds commented 6 months ago

Hi! Thanks for reporting this issue. I see that we missed a line in the dockerfile, which should set the default shell to bash and solve your first issue. Adding the following before the torch installation should work:

SHELL ["/bin/bash", "-c"]

The second error can be resolved by changing back the project name in pyproject.toml to "nerfstudio".

I will put up a fix with both of these changes.

TurtleZhong commented 6 months ago

Hi! Thanks for reporting this issue. I see that we missed a line in the dockerfile, which should set the default shell to bash and solve your first issue. Adding the following before the torch installation should work:

SHELL ["/bin/bash", "-c"]

The second error can be resolved by changing back the project name in pyproject.toml to "nerfstudio".

I will put up a fix with both of these changes.

Hi, Following your solution, I have fixed in the tiny-cuda-nn install step, I also have changed back the project name in pyproject.toml to "nerfstudio", but I still failed in this command RUN ns-install-cli --mode install, I got error like this:

=> [15/17] RUN cd /nerfstudio && python3.10 -m pip install --no-cache-dir -e .                        190.4s
 => [16/17] WORKDIR /workspace                                                                           0.1s  => ERROR [17/17] RUN ns-install-cli --mode install                                                     10.2s ------                                                                                                        
 > [17/17] RUN ns-install-cli --mode install:                                                                 #0 0.345 [09:17:56] 🤷 .zshrc not found, skipping.                                                                 install.py:369                                                                                           
#0 0.346            🔍 Found .bashrc!                                                                              install.py:371                                                                                           
#0 0.609            ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-dev-test!        install.py:133
#0 0.636            ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-install-cli!     install.py:133
#0 2.826 [09:17:58] ✔ Wrote new completion to                                                                      install.py:133
#0 2.826            /nerfstudio/nerfstudio/scripts/completions/bash/_ns-dev-sync-viser-message-defs!                             
#0 3.454 [09:17:59] ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-download-data!   install.py:133
#0 3.809            ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-process-data!    install.py:133
#0 6.006 [09:18:01] ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-render!          install.py:133
#0 6.043            ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-viewer!          install.py:133
#0 6.127            ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-eval!            install.py:133
#0 6.616 [09:18:02] ❌ Completion script generation failed: ['ns-export', '--tyro-print-completion', 'bash']       install.py:123
#0 6.619            Traceback (most recent call last):                                                             install.py:127
#0 6.619              File "/usr/local/bin/ns-export", line 5, in <module>                                                       
#0 6.619                from nerfstudio.scripts.exporter import entrypoint                                                       
#0 6.619              File "/nerfstudio/nerfstudio/scripts/exporter.py", line 43, in <module>                                    
#0 6.619                from nerfstudio.fields.sdf_field import SDFField  # noqa                                                 
#0 6.619            ModuleNotFoundError: No module named 'nerfstudio.fields.sdf_field'                                           
#0 6.619                                                                                                                         
#0 6.620 Traceback (most recent call last):
#0 6.620   File "/usr/local/bin/ns-install-cli", line 8, in <module>
#0 6.620     sys.exit(entrypoint())
#0 6.620   File "/nerfstudio/nerfstudio/scripts/completions/install.py", line 411, in entrypoint
#0 6.621     tyro.cli(main, description=__doc__)
#0 6.621   File "/usr/local/lib/python3.10/dist-packages/tyro/_cli.py", line 184, in cli
#0 6.621     output = _cli_impl(
#0 6.621   File "/usr/local/lib/python3.10/dist-packages/tyro/_cli.py", line 446, in _cli_impl
#0 6.621     out, consumed_keywords = _calling.call_from_args(
#0 6.621   File "/usr/local/lib/python3.10/dist-packages/tyro/_calling.py", line 241, in call_from_args
#0 6.621     return unwrapped_f(*positional_args, **kwargs), consumed_keywords  # type: ignore
#0 6.621   File "/nerfstudio/nerfstudio/scripts/completions/install.py", line 392, in main
#0 6.621     _generate_completions_files(completions_dir, scripts_dir, shells_supported, shells_found)
#0 6.621   File "/nerfstudio/nerfstudio/scripts/completions/install.py", line 323, in _generate_completions_files
#0 6.622     completion_paths = list(
#0 6.622   File "/usr/lib/python3.10/concurrent/futures/_base.py", line 621, in result_iterator
#0 6.622     yield _result_or_cancel(fs.pop())
#0 6.622   File "/usr/lib/python3.10/concurrent/futures/_base.py", line 319, in _result_or_cancel
#0 6.622     return fut.result(timeout)
#0 6.622   File "/usr/lib/python3.10/concurrent/futures/_base.py", line 458, in result
#0 6.622     return self.__get_result()
#0 6.622   File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
#0 6.623     raise self._exception
#0 6.623   File "/usr/lib/python3.10/concurrent/futures/thread.py", line 58, in run
#0 6.623     result = self.fn(*self.args, **self.kwargs)
#0 6.623   File "/nerfstudio/nerfstudio/scripts/completions/install.py", line 325, in <lambda>
#0 6.623     lambda path_or_entrypoint_and_shell: _generate_completion(
#0 6.623   File "/nerfstudio/nerfstudio/scripts/completions/install.py", line 128, in _generate_completion
#0 6.623     raise e
#0 6.623   File "/nerfstudio/nerfstudio/scripts/completions/install.py", line 115, in _generate_completion
#0 6.623     new = subprocess.run(
#0 6.623   File "/usr/lib/python3.10/subprocess.py", line 526, in run
#0 6.624     raise CalledProcessError(retcode, process.args,
#0 6.624 subprocess.CalledProcessError: Command '['ns-export', '--tyro-print-completion', 'bash']' returned non-zero exit status 1.
#0 10.16 [09:18:05] ✔ Wrote new completion to /nerfstudio/nerfstudio/scripts/completions/bash/_ns-train!           install.py:133
------
Dockerfile:154
--------------------
 152 |     SHELL ["/bin/sh", "-c"]
 153 |     # Install nerfstudio cli auto completion
 154 | >>> RUN ns-install-cli --mode install
 155 |     
 156 |     # Bash as default entrypoint.
--------------------
ERROR: failed to solve: process "/bin/sh -c ns-install-cli --mode install" did not complete successfully: exit code: 1

I haven't been able to fix this issue yet. I'm wondering if you have any ideas on what is going wrong.

carlinds commented 6 months ago

Hi! This has already been fixed in the latest version. Please pull the latest changes and try again :)

HulkM commented 6 months ago

Hi! I meet some new wrong that shows in 79th row of Dockerfile. 2665608051

georghess commented 6 months ago

Hi @HulkM

The Connection timed out indicates that there might be an issue with your internet connection.

As a side note, you could remove any ceres and colmap installation as they are not needed for any of the AD datasets.

Crescent-Saturn commented 6 months ago

Hi! I meet some new wrong that shows in 79th row of Dockerfile. 2665608051

@HulkM Hi, check the connection to https://ceres-solver.googlesource.com/ceres-solver.git. It is not easy when you are in China mainland. Most google services seem to be blocked. Good luck: image

HulkM commented 6 months ago

Hi @HulkM

The Connection timed out indicates that there might be an issue with your internet connection.

As a side note, you could remove any ceres and colmap installation as they are not needed for any of the AD datasets.

Hi! I meet some new wrong that shows in 79th row of Dockerfile. 2665608051

@HulkM Hi, check the connection to https://ceres-solver.googlesource.com/ceres-solver.git. It is not easy when you are in China mainland. Most google services seem to be blocked. Good luck: image

Thanks! I will try it! :)

TurtleZhong commented 6 months ago

Hi! This has already been fixed in the latest version. Please pull the latest changes and try again :)

I have tried the latest version, and it's OK.