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

Cannot install the Open3D #475

Closed
DKandrew opened this issue Jul 26, 2018 · 3 comments
Closed

Cannot install the Open3D #475

DKandrew opened this issue Jul 26, 2018 · 3 comments
Labels

Comments

@DKandrew
Copy link

DKandrew commented Jul 26, 2018

Describe the bug
Cannot install the Open3D by following the tutorial described here: http://open3d.org/docs/getting_started.html

Tried the solution #441 but doesn't work.

Failed to make the file at [56%],

[  1%] Built target EncodeShader
[  1%] Built target ShaderFileTarget
[ 18%] Built target Visualization
[ 20%] Built target tinyfiledialogs
[ 41%] Built target Core
[ 53%] Built target IO
[ 54%] Built target Open3D
[ 55%] Built target ConvertPointCloud
[ 56%] Linking CXX executable ../bin/ManuallyCropGeometry
../lib/libOpen3D.a(PinholeCameraTrajectory.cpp.o): In function `three::PinholeCameraTrajectory::ConvertFromJsonValue(Json::Value const&)':
PinholeCameraTrajectory.cpp:(.text+0x306): undefined reference to `Json::Value::asString() const'
../lib/libOpen3D.a(FileJSON.cpp.o): In function `three::(anonymous namespace)::ReadIJsonConvertibleFromJSONStream(std::istream&, three::IJsonConvertible&)':
FileJSON.cpp:(.text+0x78): undefined reference to `Json::CharReaderBuilder::operator[](std::string)'
FileJSON.cpp:(.text+0xca): undefined reference to `Json::parseFromStream(Json::CharReader::Factory const&, std::istream&, Json::Value*, std::string*)'
../lib/libOpen3D.a(FileJSON.cpp.o): In function `three::(anonymous namespace)::WriteIJsonConvertibleToJSONStream(std::ostream&, three::IJsonConvertible const&)':
FileJSON.cpp:(.text+0x8ce): undefined reference to `Json::StreamWriterBuilder::operator[](std::string)'
FileJSON.cpp:(.text+0x930): undefined reference to `Json::StreamWriterBuilder::operator[](std::string)'
../lib/libOpen3D.a(SelectionPolygonVolume.cpp.o): In function `three::SelectionPolygonVolume::ConvertToJsonValue(Json::Value&) const':
SelectionPolygonVolume.cpp:(.text+0x183): undefined reference to `Json::Value::Value(std::string const&)'
../lib/libOpen3D.a(SelectionPolygonVolume.cpp.o): In function `three::SelectionPolygonVolume::ConvertFromJsonValue(Json::Value const&)':
SelectionPolygonVolume.cpp:(.text+0x30b): undefined reference to `Json::Value::asString() const'
SelectionPolygonVolume.cpp:(.text+0x3a3): undefined reference to `Json::Value::asString() const'
../lib/libOpen3D.a(RenderOption.cpp.o): In function `three::RenderOption::ConvertFromJsonValue(Json::Value const&)':
RenderOption.cpp:(.text+0x816): undefined reference to `Json::Value::asString() const'
../lib/libOpen3D.a(ViewTrajectory.cpp.o): In function `three::ViewTrajectory::ConvertFromJsonValue(Json::Value const&)':
ViewTrajectory.cpp:(.text+0x229b): undefined reference to `Json::Value::asString() const'
collect2: error: ld returned 1 exit status
Tools/CMakeFiles/ManuallyCropGeometry.dir/build.make:99: recipe for target 'bin/ManuallyCropGeometry' failed
make[2]: *** [bin/ManuallyCropGeometry] Error 1
CMakeFiles/Makefile2:392: recipe for target 'Tools/CMakeFiles/ManuallyCropGeometry.dir/all' failed
make[1]: *** [Tools/CMakeFiles/ManuallyCropGeometry.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

Using pip to install the open3d also reports

Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import open3d
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "~/.local/lib/python3.6/site-packages/open3d/__init__.py", line 9, in <module>
    from open3d.linux import *
  File "~/.local/lib/python3.6/site-packages/open3d/linux/__init__.py", line 7, in <module>
    globals().update(importlib.import_module('open3d.linux.open3d').__dict__)
  File "~/miniconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: ~/.local/lib/python3.6/site-packages/open3d/linux/open3d.so: undefined symbol: _Py_ZeroStruct

To Reproduce
Steps to reproduce the behavior:

Fresh build of Open3D by following the tutorial
git clone https://github.com/IntelVCL/Open3D
cd Open3D
./util/scripts/install-deps-ubuntu.sh
mkdir build
cd build
cmake ../src
make -j ---------------------[Error Reported]

Desktop (please complete the following information):

  • OS: [Ubuntu 16.04]
  • gcc version: gcc (Ubuntu 4.9.4-2ubuntu1~16.04) 4.9.4

Additional context
Add any other context about the problem here.

@syncle
Copy link
Contributor

syncle commented Jul 26, 2018

Hi I think that jsoncpp lib already installed in your system is conflicting with the jsoncpp related codes in Open3D. The workaround is to build jsoncpp from source. Could you try the following and share your experience?

cmake -DBUILD_JSONCPP=ON ../src/

@DKandrew
Copy link
Author

DKandrew commented Jul 26, 2018

Thank you, it helps me solve the problem.

Procedure

cd ~/Open3D
sudo rm -rf build
mkdir build && cd build 
cmake -DBUILD_JSONCPP=ON ../src/
make -j ----[Passed]
sudo make install

@syncle
Copy link
Contributor

syncle commented Jul 26, 2018

Thanks @DKandrew! Closing this issue.

@syncle syncle closed this as completed Jul 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants