Closed ghamrawyk closed 7 years ago
The easiest way to make sure all dependencies are installed might be for you to enable my PPA on your system, run sudo apt update
and finally sudo apt-get build-dep cura-engine
. This will install all dependencies, which were needed before to build the cura-engine package itself.
Regards
I'm (still) quite a beginner on Ubuntu as well, but I think that path is rather common. What happens if you simply create that directory?
Op 8 jan. 2017 18:32 schreef "Thomas Karl Pietrowski" < notifications@github.com>:
The easiest way to make sure all dependencies are installed might be for you to enable my PPA on your system, run sudo apt update and finally sudo apt-get build-dep cura-engine. This will install all dependencies, which were needed before to build the cura-engine package itself.
Regards
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Ultimaker/CuraEngine/issues/433#issuecomment-271165569, or mute the thread https://github.com/notifications/unsubscribe-auth/AIe9EYkgRi_MM7fBpPdtEvIE4Mkw9PnAks5rQR2dgaJpZM4Ldskd .
Hey guys, thank you so much for responding. Well @thopiekar I will try this first thing tomorrow and give you a feedback, if you don't mind. However I don't understand why is this problem occurring? Is it a problem in the Cmakelists of libArcus? I tried to trace it but I failed to find an answer. And what will exactly the commands you mentioned above do to fix it? I am sorry for asking too much but a brief explanation would be great to learn from you and be able to face such errors on my own in the future. Thanks a million.
@BagelOrb When I create manually the include folder in the path shown in the error, I still get the same error.
The mentioned folder is what CMake thinks Arcus is installed to. You will need to verify the CMAKE_INSTALL_PREFIX for Arcus and make sure CuraEngine's CMake run can find that path.
Something else that might be happening is that it is finding the generated files located in Arcus' build directory before the installed version. You can fix that by seting Arcus_DIR correctly when running CMake for CuraEngine.
@awhiemstra Thank you for the response. If you could, please, explain how can I verify the CMAKE_INSTALL_PREFIX on Ubuntu or how can I set the Arcus_DIR in the command line, I would be very thankful.
Cheers,
Easiest is to install curses-cmake-gui or whatever it is called on Ubuntu, then run ccmake $build_dir
. This gives you a simple UI that allows quick editing of CMake's configuration variables. When you run this with Arcus's build directory, you should see an entry CMAKE_INSTALL_PREFIX
with a certain value, that value is what Arcus will be installed to. For Arcus_DIR
, run ccmake with the CuraEngine build directory, then toggle "advanced mode". You should now have an entry Arcus_DIR
.
In addition, you can also set these variables when running CMake using -DVARIABLE=VALUE
, for example -DCMAKE_INSTALL_PREFIX=/some/local/path
. ccmake gives a bit more direct feedback though.
Hey guys, Thanks to you guys I succeeded until the part I want to run CuraEngine itself. I followed the instructions on github, but I am not sure what to do next. So I have Protobuf, libArcus successfully built. What is the next step? Any help? Thanks in advance, @thopiekar @BagelOrb @awhiemstra This is the kind of error I get when I type "make" in the CuraEngine directory:
[ 3%] Built target clipper
[ 96%] Built target _CuraEngine
[ 98%] Linking CXX executable CuraEngine
lib_CuraEngine.a(commandSocket.cpp.o): In function cura::CommandSocket::connect(std::string const&, int)': commandSocket.cpp:(.text+0x457): undefined reference to
Arcus::Socket::connect(std::string const&, int)'
lib_CuraEngine.a(commandSocket.cpp.o): In function google::protobuf::internal::GetEmptyStringAlreadyInited()': commandSocket.cpp:(.text._ZN6google8protobuf8internal27GetEmptyStringAlreadyInitedEv[_ZN6google8protobuf8internal27GetEmptyStringAlreadyInitedEv]+0x5): undefined reference to
google::protobuf::internal::fixed_address_empty_string'
lib_CuraEngine.a(commandSocket.cpp.o): In function cura::Listener::error(Arcus::Error const&)': commandSocket.cpp:(.text._ZN4cura8Listener5errorERKN5Arcus5ErrorE[_ZN4cura8Listener5errorERKN5Arcus5ErrorE]+0x45): undefined reference to
Arcus::Error::toString() const'
commandSocket.cpp:(.text._ZN4cura8Listener5errorERKN5Arcus5ErrorE[_ZN4cura8Listener5errorERKN5Arcus5ErrorE]+0x84): undefined reference to Arcus::Error::toString() const' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::(anonymous namespace)::protobuf_AssignDescriptors()':
Cura.pb.cc:(.text+0x82): undefined reference to google::protobuf::internal::AssignDescriptors(std::string const&, google::protobuf::internal::MigrationSchema const*, google::protobuf::internal::DefaultInstanceData const*, unsigned int const*, google::protobuf::MessageFactory*, google::protobuf::Metadata*, google::protobuf::EnumDescriptor const**, google::protobuf::ServiceDescriptor const**)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::protobuf_AddDesc_Cura_2eproto_impl()':
Cura.pb.cc:(.text+0x5c0): undefined reference to google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::Object::Object(cura::proto::Object const&)':
Cura.pb.cc:(.text+0x34ca): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' Cura.pb.cc:(.text+0x3526): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
Cura.pb.cc:(.text+0x3582): undefined reference to `google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Object::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)': Cura.pb.cc:(.text+0x3ae0): undefined reference to
google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream, std::string)'
Cura.pb.cc:(.text+0x3b20): undefined reference to google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)' Cura.pb.cc:(.text+0x3b60): undefined reference to
google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream, std::string)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Object::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const': Cura.pb.cc:(.text+0x3cd2): undefined reference to
google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
Cura.pb.cc:(.text+0x3d13): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
Cura.pb.cc:(.text+0x3d54): undefined reference to google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::Object::MergeFrom(cura::proto::Object const&)':
Cura.pb.cc:(.text+0x433f): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' Cura.pb.cc:(.text+0x4389): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
Cura.pb.cc:(.text+0x43d3): undefined reference to `google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Polygon::Polygon(cura::proto::Polygon const&)': Cura.pb.cc:(.text+0x62cd): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function `cura::proto::Polygon::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream)':
Cura.pb.cc:(.text+0x678c): undefined reference to google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::Polygon::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream) const':
Cura.pb.cc:(.text+0x68c9): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Polygon::MergeFrom(cura::proto::Polygon const&)': Cura.pb.cc:(.text+0x6d68): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::PathSegment::PathSegment(cura::proto::PathSegment const&)': Cura.pb.cc:(.text+0x8153): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
Cura.pb.cc:(.text+0x81af): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' Cura.pb.cc:(.text+0x820b): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function `cura::proto::PathSegment::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream)':
Cura.pb.cc:(.text+0x87a6): undefined reference to google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)' Cura.pb.cc:(.text+0x87e3): undefined reference to
google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream, std::string)'
Cura.pb.cc:(.text+0x8820): undefined reference to google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::PathSegment::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream) const':
Cura.pb.cc:(.text+0x895f): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
Cura.pb.cc:(.text+0x89a0): undefined reference to google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)' Cura.pb.cc:(.text+0x89e1): undefined reference to
google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::PathSegment::MergeFrom(cura::proto::PathSegment const&)': Cura.pb.cc:(.text+0x8f2a): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
Cura.pb.cc:(.text+0x8f74): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' Cura.pb.cc:(.text+0x8fbe): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::GCodeLayer::GCodeLayer(cura::proto::GCodeLayer const&)': Cura.pb.cc:(.text+0x940d): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::GCodeLayer::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)': Cura.pb.cc:(.text+0x9820): undefined reference to
google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream, std::string)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::GCodeLayer::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const': Cura.pb.cc:(.text+0x98f3): undefined reference to
google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::GCodeLayer::MergeFrom(cura::proto::GCodeLayer const&)': Cura.pb.cc:(.text+0x9c6a): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Setting::Setting(cura::proto::Setting const&)': Cura.pb.cc:(.text+0xc4b9): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
Cura.pb.cc:(.text+0xc515): undefined reference to `google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Setting::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)': Cura.pb.cc:(.text+0xca1b): undefined reference to
google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream, std::string)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Setting::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const': Cura.pb.cc:(.text+0xcb32): undefined reference to
google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
Cura.pb.cc:(.text+0xcb73): undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::Setting::MergeFrom(cura::proto::Setting const&)': Cura.pb.cc:(.text+0xcfb2): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
Cura.pb.cc:(.text+0xcffc): undefined reference to `google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function cura::proto::SettingExtruder::SettingExtruder(cura::proto::SettingExtruder const&)': Cura.pb.cc:(.text+0xd377): undefined reference to
google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const, google::protobuf::internal::ArenaStringPtr)'
lib_CuraEngine.a(Cura.pb.cc.o): In function `cura::proto::SettingExtruder::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream) const':
Cura.pb.cc:(.text+0xd95e): undefined reference to google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::SettingExtruder::MergeFrom(cura::proto::SettingExtruder const&)':
Cura.pb.cc:(.text+0xddbe): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::GCodePrefix::GCodePrefix(cura::proto::GCodePrefix const&)':
Cura.pb.cc:(.text+0xe163): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::GCodePrefix::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream)':
Cura.pb.cc:(.text+0xe576): undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream, std::string)'
lib_CuraEngine.a(Cura.pb.cc.o): In function `cura::proto::GCodePrefix::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream) const':
Cura.pb.cc:(.text+0xe649): undefined reference to google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)' lib_CuraEngine.a(Cura.pb.cc.o): In function
cura::proto::GCodePrefix::MergeFrom(cura::proto::GCodePrefix const&)':
Cura.pb.cc:(.text+0xe9c0): undefined reference to google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::string const*, google::protobuf::internal::ArenaStringPtr)' lib_CuraEngine.a(Cura.pb.cc.o): In function
google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream, std::string)':
Cura.pb.cc:(.text._ZN6google8protobuf8internal14WireFormatLite10ReadStringEPNS0_2io16CodedInputStreamEPSs[_ZN6google8protobuf8internal14WireFormatLite10ReadStringEPNS0_2io16CodedInputStreamEPSs]+0x1f): undefined reference to google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)' lib_CuraEngine.a(Cura.pb.cc.o): In function
google::protobuf::internal::WireFormatLite::WriteStringToArray(int, std::string const&, unsigned char)':
Cura.pb.cc:(.text._ZN6google8protobuf8internal14WireFormatLite18WriteStringToArrayEiRKSsPh[_ZN6google8protobuf8internal14WireFormatLite18WriteStringToArrayEiRKSsPh]+0x39): undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char)'
lib_CuraEngine.a(Cura.pb.cc.o): In function google::protobuf::internal::WireFormatLite::WriteBytesToArray(int, std::string const&, unsigned char*)': Cura.pb.cc:(.text._ZN6google8protobuf8internal14WireFormatLite17WriteBytesToArrayEiRKSsPh[_ZN6google8protobuf8internal14WireFormatLite17WriteBytesToArrayEiRKSsPh]+0x39): undefined reference to
google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto15SlicingFinishedE[_ZTVN4cura5proto15SlicingFinishedE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto15SlicingFinishedE[_ZTVN4cura5proto15SlicingFinishedE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto11GCodePrefixE[_ZTVN4cura5proto11GCodePrefixE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto11GCodePrefixE[_ZTVN4cura5proto11GCodePrefixE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto15SettingExtruderE[_ZTVN4cura5proto15SettingExtruderE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto15SettingExtruderE[_ZTVN4cura5proto15SettingExtruderE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto7SettingE[_ZTVN4cura5proto7SettingE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto7SettingE[_ZTVN4cura5proto7SettingE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto11SettingListE[_ZTVN4cura5proto11SettingListE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto11SettingListE[_ZTVN4cura5proto11SettingListE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto17MaterialEstimatesE[_ZTVN4cura5proto17MaterialEstimatesE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto17MaterialEstimatesE[_ZTVN4cura5proto17MaterialEstimatesE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto26PrintTimeMaterialEstimatesE[_ZTVN4cura5proto26PrintTimeMaterialEstimatesE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto26PrintTimeMaterialEstimatesE[_ZTVN4cura5proto26PrintTimeMaterialEstimatesE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto10GCodeLayerE[_ZTVN4cura5proto10GCodeLayerE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto10GCodeLayerE[_ZTVN4cura5proto10GCodeLayerE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto11PathSegmentE[_ZTVN4cura5proto11PathSegmentE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto11PathSegmentE[_ZTVN4cura5proto11PathSegmentE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto14LayerOptimizedE[_ZTVN4cura5proto14LayerOptimizedE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto14LayerOptimizedE[_ZTVN4cura5proto14LayerOptimizedE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto7PolygonE[_ZTVN4cura5proto7PolygonE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto7PolygonE[_ZTVN4cura5proto7PolygonE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto5LayerE[_ZTVN4cura5proto5LayerE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto5LayerE[_ZTVN4cura5proto5LayerE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto8ProgressE[_ZTVN4cura5proto8ProgressE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto8ProgressE[_ZTVN4cura5proto8ProgressE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto6ObjectE[_ZTVN4cura5proto6ObjectE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto6ObjectE[_ZTVN4cura5proto6ObjectE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto8ExtruderE[_ZTVN4cura5proto8ExtruderE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto8ExtruderE[_ZTVN4cura5proto8ExtruderE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto5SliceE[_ZTVN4cura5proto5SliceE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto5SliceE[_ZTVN4cura5proto5SliceE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto10ObjectListE[_ZTVN4cura5proto10ObjectListE]+0x20): undefined reference to google::protobuf::Message::GetTypeName() const' lib_CuraEngine.a(Cura.pb.cc.o):(.rodata._ZTVN4cura5proto10ObjectListE[_ZTVN4cura5proto10ObjectListE]+0x58): undefined reference to
google::protobuf::Message::InitializationErrorString() const'
collect2: error: ld returned 1 exit status
CMakeFiles/CuraEngine.dir/build.make:98: recipe for target 'CuraEngine' failed
make[2]: [CuraEngine] Error 1
CMakeFiles/Makefile2:142: recipe for target 'CMakeFiles/CuraEngine.dir/all' failed
make[1]: [CMakeFiles/CuraEngine.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
Thank you guys, I managed to do it. I read your comments somewhere else and it had to do with the version of Protobuf. Now I have the executable curaengine file.
I have one last question though: what is the json file and what's its use? What is the command to run CuraEngine? is it this one: ./CuraEngine slice -j ~/prusa_i3.def.json -o output.gcode -l ~/source.stl knowing that my stl file's name is "source" and my gcode output name would be "output"... what is the use of the word slice and the json file in the command? I read this command somewhere on stackflow. Any advice? I have the stl file ready in the CuraEngine folder. Any directions please... @thopiekar @BagelOrb @awhiemstra @Ghostkeeper
Thanks in advance, Regards,
There's a more extensive help available when calling CuraEngine with --help, but it basically has two modes, "slice" and "connect". Slice tells the engine to slice an object, connect to connect to a socket. "connect" is used by the Cura UI. The JSON files are "machine definitions" that provide the list of available settings. For example, https://github.com/Ultimaker/Cura/blob/master/resources/definitions/fdmprinter.def.json is the base file and provides the entire tree of settings used in the Cura UI and used by the engine.
Ok thank you for clarifying, however, as far as I understand, I should have that file on my pc in the CuraEngine folder, and adjust the settings in it as I want them and then run CuraEngine, right?
How can I download this file, and what is then the command line to run CuraEngine, is the one I mentioned above correct, except that I will change the name of the JSON file?
Cheers, @awhiemstra
You can specify setting values with -s on the command line. The JSON file is used to determine what settings are available, not what values to use for them (except for defaults). You can download the files from the Cura repository. The command line for the rest looks ok.
Ok thank you @awhiemstra and thank you all for the help. I'll give it a try, and if there is a problem, i'll open another issue with a different name.
Hello everyone, I am working on ubuntu 14.02 with CMake, and I am trying to build CuraEngine. I have succeeded to build protobuf, libArcus (at least I think so) without any errors. I reached the point where I am typing the command cmake .. for CuraEngine, when I got this error: CMake Error in CMakeLists.txt: Imported target "Arcus" includes non-existent path
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
The path was deleted, renamed, or moved to another location.
An install or uninstall procedure did not complete successfully.
The installation package was faulty and references files it does not provide.
-- Generating done -- Build files have been written to: /home/kg/dev/CuraEngine/build
Any suggestions on how to fix this, knowing that I am a beginner in cpp and ubuntu. Any explanation why is this error happening?
Thank you very much in advance.