Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake error upon configuration: No download info given for 'ext_turbojpeg' and its source directory #3640

Closed
pwlems opened this issue Jun 24, 2021 · 12 comments
Labels
build/install Build or installation issue windows

Comments

@pwlems
Copy link

pwlems commented Jun 24, 2021

Describe the bug

cmake fails with the following errors:

-- libturbojpeg: WITH_CRT_DLL=OFF
CMake Error at C:/Program Files/CMake/share/cmake-3.21/Modules/ExternalProject.cmake:2866 (message):
No download info given for 'ext_turbojpeg' and its source directory:

D:/Documents/Brown/Open3D-0.13.0/3rdparty/libjpeg-turbo/libjpeg-turbo

is not an existing non-empty directory. Please specify one of:

  • SOURCE_DIR with an existing non-empty directory
  • DOWNLOAD_COMMAND
  • URL
  • GIT_REPOSITORY
  • SVN_REPOSITORY
  • HG_REPOSITORY
  • CVS_REPOSITORY and CVS_MODULE
    Call Stack (most recent call first):
    C:/Program Files/CMake/share/cmake-3.21/Modules/ExternalProject.cmake:3700 (_ep_add_download_command)
    3rdparty/libjpeg-turbo/libjpeg-turbo.cmake:54 (ExternalProject_Add)
    3rdparty/find_dependencies.cmake:496 (include)
    CMakeLists.txt:613 (include)

And secondly,

-- Building library 3rdparty_fmt from source
CMake Error at 3rdparty/find_dependencies.cmake:782 (add_subdirectory):
The source directory

D:/Documents/Brown/Open3D-0.13.0/3rdparty/pybind11

does not contain a CMakeLists.txt file.
Call Stack (most recent call first):
CMakeLists.txt:613 (include)

To Reproduce

  1. Download and unzip Open3D 0.13.0 zip file
  2. Open cmd with Admin priviledges
  3. cd Open3D-0.13.0
  4. mkdir build
  5. cd build
  6. cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="../install" -DBUILD_PYTHON_MODULE=OFF ..

Expected behavior

cmake should generate a Visual Studio solution file from which I should be able to successfully run the BUILD and INSTALL projects.

Environment (please complete the following information):

  • Operating system: Windows 10 64-bit
  • Python version: 3.8
  • Open3D version: 0.13.0
  • Is this remote workstation?: no
  • How did you install Open3D?: build from source
  • Compiler version (if built from source): VS 16 2019
@ssheorey ssheorey added the build/install Build or installation issue label Jun 24, 2021
@stotko
Copy link
Contributor

stotko commented Jun 25, 2021

Hi @pwlems, building Open3D from a zipped archive is currently not well supported as some of the 3rd party dependencies are defined as git submodules and not included in the archive. We are currently improving the support in #3643 which is a first step to that goal.

In the meantime, you can use git clone --recursive https://github.com/intel-isl/Open3D to download Open3D and build it.

@pwlems
Copy link
Author

pwlems commented Jun 25, 2021

Hi @stotko , thank you for your quick reply. I originally tried compiling from the git repo directly using the --recursive flag but came across a lot of errors, which I why I then tried to compile from the zip file from an official release.

cmake does properly generate the build files when I use the git repo directly, however when I run

cmake --build . --config Release --target INSTALL

I get lots of errors regarding the download of dependencies. The log from one of these errors is as follows:

Creating directories for 'ext_turbojpeg'
Building Custom Rule D:/Documents/Brown/Open3D/CMakeLists.txt
Performing download step (download, verify and extract) for 'ext_turbojpeg'
-- verifying file...
file='D:/Documents/Brown/Open3D/3rdparty_downloads/libjpeg-turbo/2.0.6.tar.gz'
-- SHA256 hash of
D:/Documents/Brown/Open3D/3rdparty_downloads/libjpeg-turbo/2.0.6.tar.gz
does not match expected value
expected: '005aee2fcdca252cee42271f7f90574dda64ca6505d9f8b86ae61abc2b426371'
actual: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
-- File already exists but hash mismatch. Removing...
-- Downloading...
dst='D:/Documents/Brown/Open3D/3rdparty_downloads/libjpeg-turbo/2.0.6.tar.gz'
timeout='none'
inactivity timeout='none'
-- Using src='https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.tar.gz'
CMake Error at ext_turbojpeg-stamp/download-ext_turbojpeg.cmake:170 (message):
Each download failed!

CUSTOMBUILD : error : downloading 'https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.tar.gz' faile
d [D:\Documents\Brown\Open3D\build\ext_turbojpeg.vcxproj]
status_code: 35
status_string: "SSL connect error"
log:
--- LOG BEGIN ---
timeout on name lookup is not supported
Trying 140.82.112.4:443...

Connected to github.com (140.82.112.4) port 443 (#0)

schannel: disabled automatic use of client certificate

schannel: ALPN, offering h2

schannel: ALPN, offering http/1.1

schannel: initial InitializeSecurityContext failed: SEC_E_ILLEGAL_MESSAGE
(0x80090326) - This error usually occurs when a fatal SSL/TLS alert is
received (e.g.  handshake failed).  More detail may be available in the
Windows System event log.

Closing connection 0



        --- LOG END ---

Do you know what might be causing this issue?

@stotko
Copy link
Contributor

stotko commented Jun 25, 2021

Could you perform a clean build, i.e. delete the 3rdparty_downloads and build directories inside your clone of Open3D, and try again? If that also fails, could you attach the full error log as a text file?

@pwlems
Copy link
Author

pwlems commented Jun 25, 2021

Hi @stotko , I just tried that and got the same result. Here is the error log as a text file.
errorlog.txt

@stotko
Copy link
Contributor

stotko commented Jun 25, 2021

Hmm, it looks like CMake is not able to establish a SSL connection to GitHub, so this is not a direct bug in Open3D's code. Since I do not develop on Windows, I cannot tell what exactly is causing this problem.

@ssheorey @yxlao Have you seen that error before?

@ssheorey
Copy link
Member

@pwlems We have occasionally had transient network issues with users unable to download from github. Deleting the affected 3rdparty module ( build/libjpeg-turbo-install and build/turbojpeg) and retrying after some time should let you proceed. Can you check if you can download the file directly with curl?
curl https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.tar.gz -o libjpeg-turbo-2.0.6.tar.gz

@pwlems
Copy link
Author

pwlems commented Jun 25, 2021

Hi @ssheorey , the issue persists even after deleting those turbojpeg files. Downloading the file directly via curl works as expected.

@pwlems
Copy link
Author

pwlems commented Jun 26, 2021

Downgrading cmake to 3.19.0 (the minimum version required by Open3D) resolves the issue. For reference, previously I was running cmake 3.21.0-rc.

@pwlems pwlems closed this as completed Jun 26, 2021
@stotko
Copy link
Contributor

stotko commented Jun 28, 2021

@pwlems Great to hear that you solved the issue. This looks actually like a bug/regression in CMake. If you like, you can also inform the CMake developers and submit a bug report here: https://gitlab.kitware.com/cmake/cmake/-/issues

@guyuezuntinggithub
Copy link

I get the same issue when I build open3d with CMake 3.19.4 on windows

@narutojxl
Copy link

Hello, @pwlems,
I meet the similar error , #3968, when building with clean build dir and 3rdparty_downloads dir. With https://apt.kitware.com/ upgrade cmake from 3.16 into 3.23.0-rc3 on my ubuntu20.04. How did you downgrading cmake to 3.19.0 ?

@pwlems
Copy link
Author

pwlems commented Mar 14, 2022

You can download cmake 3.19.0 from the official github repository: https://github.com/Kitware/CMake/releases/tag/v3.19.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build/install Build or installation issue windows
Projects
None yet
Development

No branches or pull requests

5 participants