GithubHelp home page GithubHelp logo

ultimaker / libarcus Goto Github PK

View Code? Open in Web Editor NEW
72.0 45.0 81.0 715 KB

Communication library between internal components for Ultimaker software

License: GNU Lesser General Public License v3.0

CMake 2.75% C++ 86.98% Python 9.96% C 0.31%
c-plus-plus protobuf cura curaengine

libarcus's Introduction

Arcus

This library contains C++ code for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library. It is designed to facilitate the communication between Cura and its backend and similar code.


OpenSSF Scorecard


License

License
Arcus is released under terms of the AGPLv3 License. Terms of the license can be found in the LICENSE file. Or at http://www.gnu.org/licenses/agpl.html

But in general it boils down to:
You need to share the source of any Arcus modifications if you make an application with Arcus.

System Requirements

Windows

  • Python 3.6 or higher
  • Ninja 1.10 or higher
  • VS2022 or higher
  • CMake 3.23 or higher
  • nmake
  • protobuf
  • zlib
  • Conan 1.56.0

MacOs

  • Python 3.6 or higher
  • Ninja 1.10 or higher
  • apply clang 11 or higher
  • CMake 3.23 or higher
  • make
  • protobuf
  • zlib
  • Conan 1.56.0

Linux

  • Python 3.6 or higher
  • Ninja 1.10 or higher
  • gcc 12 or higher
  • CMake 3.23 or higher
  • make
  • protobuf
  • zlib
  • Conan 1.56.0

How To Build

Note:
We are currently in the process of switch our builds and pipelines to an approach which uses Conan and pip to manage our dependencies, which are stored on our JFrog Artifactory server and in the pypi.org. At the moment not everything is fully ported yet, so bare with us.

If you want to develop Cura with libArcus see the Cura Wiki: Running Cura from source

If you have never used Conan read their documentation which is quite extensive and well maintained. Conan is a Python program and can be installed using pip

1. Configure Conan

pip install conan==1.56
conan config install https://github.com/ultimaker/conan-config.git
conan profile new default --detect --force

Community developers would have to remove the Conan cura repository because it requires credentials.

Ultimaker developers need to request an account for our JFrog Artifactory server at IT

conan remote remove cura

2. Clone libArcus

git clone https://github.com/Ultimaker/libArcus.git
cd libArcus

3. Install & Build libArcus (Release OR Debug)

Release

conan install . --build=missing --update
# optional for a specific version: conan install . arcus/<version>@<user>/<channel> --build=missing --update
cmake --preset release
cmake --build --preset release

Debug

conan install . --build=missing --update build_type=Debug
cmake --preset debug
cmake --build --preset debug

Creating a new Arcus Conan package

To create a new Arcus Conan package such that it can be used in Cura and Uranium, run the following command:

conan create . arcus/<version>@<username>/<channel> --build=missing --update

This package will be stored in the local Conan cache (~/.conan/data or C:\Users\username\.conan\data ) and can be used in downstream projects, such as Cura and Uranium by adding it as a requirement in the conanfile.py or in conandata.yml.

Note: Make sure that the used <version> is present in the conandata.yml in the libArcus root

You can also specify the override at the commandline, to use the newly created package, when you execute the conan install command in the root of the consuming project, with:

conan install . -build=missing --update --require-override=arcus/<version>@<username>/<channel>

Developing libArcus In Editable Mode

You can use your local development repository downsteam by adding it as an editable mode package. This means you can test this in a consuming project without creating a new package for this project every time.

    conan editable add . arcus/<version>@<username>/<channel>

Then in your downsteam projects (Cura) root directory override the package with your editable mode package.

conan install . -build=missing --update --require-override=arcus/<version>@<username>/<channel>

Using the Socket

The socket assumes a very simple and strict wire protocol: one 32-bit integer with a header, one 32-bit integer with the message size, one 32-bit integer with a type id then a byte array containing the message as serialized by Protobuf. The receiving side checks for these fields and will deserialize the message, after which it can be processed by the application.

To send or receive messages, the message first needs to be registered on both sides with a call to registerMessageType(). You can also register all messages from a Protobuf .proto file with a call to registerAllMessageTypes(). For the Python bindings, this is the only supported way of registering since there are no Python classses for individual message types.

The Python bindings expose the same API as the Public C++ API, except for the missing registerMessageType() and the individual messages. The Python bindings wrap the messages in a class that exposes the message's properties as Python properties, and can thus be set the same way you would set any other Python property.

The exception is repeated fields. Currently, only repeated messages are supported, which can be created through the addRepeatedMessage() method. repeatedMessageCount() will return the number of repeated messages on an object and getRepeatedMessage() will get a certain instance of a repeated message. See python/PythonMessage.h for more details.

Origin of the Name

The name Arcus is from the Roman god Arcus. This god is the roman equivalent of the goddess Iris, who is the personification of the rainbow and the messenger of the gods.

Java

There is a Java port of libArcus, which can be found here.

libarcus's People

Contributors

airycanon avatar alekseisasin avatar appesteijn avatar awhiemstra avatar bagelorb avatar casperlamboo avatar daid avatar erikdebruijn avatar evtrados avatar gferon avatar ghostkeeper avatar hroncok avatar jellespijker avatar joeydelarago avatar kakaroto avatar konskarm avatar lipufei avatar nallath avatar ocarthon avatar oliv3r avatar onitake avatar penrif avatar rburema avatar rspliet avatar sedwards2009 avatar soyersoyer avatar stefanbruens avatar thopiekar avatar wawanbreton avatar yhfudev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libarcus's Issues

cmake cannot find PROTOBUF

I test %PROTOBUF_LIBRARY%, % PROTOBUF_INCLUDE_DIR%, shows my path.

`CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find Protobuf (missing: PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)
(Required is at least version "3.0.0")
Call Stack (most recent call first):
C:/Program Files (x86)/CMake/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/CMake/share/cmake-3.5/Modules/FindProtobuf.cmake:308 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:13 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/apps/libArcus-master/build/release/CMakeFiles/CMakeOutput.log".`

FindSIP.py is run with Python 2 instead of 3

While FindSIP.cmake requires Python 3.4.0, FindSIP.py is apparently run with the Python 2 interpreter on Debian.

Since my system only has python3-sip installed, this results in the following error:

Traceback (most recent call last):
  File "~/cura/libArcus/cmake/FindSIP.py", line 10, in <module>
    sipcfg = sipconfig.Configuration()
AttributeError: 'module' object has no attribute 'Configuration'
CMake Error at cmake/FindSIP.cmake:58 (MESSAGE):
  Could not find SIP
Call Stack (most recent call first):
  CMakeLists.txt:22 (find_package)

Running FindSIP.py with python3 works and produces the expected output.

example.pb.h:No such file or directory

Hi, is there anyone knows this issue,

when I make the libarcus on cygwin, it display below:

Scanning dependencies of target Arcus
[ 4%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.o
[ 9%] Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o
[ 13%] Linking CXX shared library cygArcus-3.dll
[ 27%] Built target Arcus
Scanning dependencies of target python_module_Arcus
[ 31%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o
[ 36%] Linking CXX shared module Arcus.dll
[ 77%] Built target python_module_Arcus
[ 81%] Running C++ protocol buffer compiler on example.proto
[ 86%] Running Python protocol buffer compiler on example.proto
[ 90%] Building CXX object examples/CMakeFiles/example.dir/example.cpp.o
/cygdrive/d/slicer_base_CuraEngine/libArcus-master/examples/example.cpp:9:24: 致命错误(fatal error):example.pb.h:No such file or directory
编译中断(compile stop)。
make[2]: *** [examples/CMakeFiles/example.dir/build.make:75:examples/CMakeFiles/example.dir/example.cpp.o] 错误 1(error 1)
make[1]: *** [CMakeFiles/Makefile2:160:examples/CMakeFiles/example.dir/all] 错误 2(error 2)
make: *** [Makefile:150:all] 错误 2(error 2)

version of protobuf

Is it suppossed to be currently unreleased version 3 of protobuf? Or v2 still can be used?

AttributeError: module 'Arcus' has no attribute 'SocketListener'

Hi, people. I'm new with Cura. I'm trying to install it. I have installed Protobuf, libArcus and Uranium in my MacBookPro with OSX Yosemite.

One of the cura plugins named CuraEngineBackend is failing. I isolate the issue executing this python call in bash:

python3.5 -c "import plugins.CuraEngineBackend"

And this is the exception:

Traceback (most recent call last):
File "", line 1, in
File "/[project_dir]/Cura/plugins/CuraEngineBackend/init.py", line 5, in
from . import CuraEngineBackend
File "[project_dir]/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py", line 4, in
from UM.Backend.Backend import Backend
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/UM/Backend/Backend.py", line 4, in
from UM.Backend.SignalSocket import SignalSocket
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/UM/Backend/SignalSocket.py", line 32, in
class _SocketListener(Arcus.SocketListener):
AttributeError: module 'Arcus' has no attribute 'SocketListener'

I'm seing the libArcus install log and I don't see error messages:

(Cura) Fabians-MacBook-Pro:[project_dir] fabian$ cd libArcus/
(Cura) Fabians-MacBook-Pro:libArcus fabian$ mkdir build
mkdir: build: File exists
(Cura) Fabians-MacBook-Pro:libArcus fabian$ mkdir build
(Cura) Fabians-MacBook-Pro:libArcus fabian$ cd build
(Cura) Fabians-MacBook-Pro:build fabian$ cmake ..
-- The C compiler identification is AppleClang 7.0.2.7000181
-- The CXX compiler identification is AppleClang 7.0.2.7000181
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found PROTOBUF: /usr/local/lib/libprotobuf.dylib
-- Found PythonInterp: /usr/local/bin/python3 (found suitable version "3.5.1", minimum required is "3.4.0")
-- Found PythonLibs: /Library/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib (found suitable version "3.5.1", minimum required is "3.4.0")
-- Found SIP version: 4.17
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.

MACOSX_RPATH is not specified for the following targets:

Arcus

This warning is for project developers. Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: [project_dir]/libArcus/build
(Cura) Fabians-MacBook-Pro:build fabian$ make
Scanning dependencies of target Arcus
[ 4%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.o
[ 9%] Building CXX object CMakeFiles/Arcus.dir/src/SocketListener.cpp.o
[ 13%] Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o
[ 18%] Building CXX object CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.o
[ 22%] Building CXX object CMakeFiles/Arcus.dir/src/Error.cpp.o
[ 27%] Linking CXX shared library libArcus.dylib
[ 27%] Built target Arcus
[ 31%] Generating python/sipArcuspart0.cpp, python/sipArcuspart1.cpp, python/sipArcuspart2.cpp, python/sipArcuspart3.cpp, python/sipArcuspart4.cpp, python/sipArcuspart5.cpp, python/sipArcuspart6.cpp, python/sipArcuspart7.cpp

Scanning dependencies of target python_module_Arcus
[ 36%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o
[ 40%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart1.cpp.o
[ 45%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart2.cpp.o
[ 50%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart3.cpp.o
[ 54%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart4.cpp.o
[ 59%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart5.cpp.o
[ 63%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart6.cpp.o
[ 68%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart7.cpp.o
[ 72%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o
[ 77%] Linking CXX shared module Arcus.so
[ 77%] Built target python_module_Arcus
[ 81%] Running C++ protocol buffer compiler on example.proto
[ 86%] Running Python protocol buffer compiler on example.proto
Scanning dependencies of target example
[ 90%] Building CXX object examples/CMakeFiles/example.dir/example.cpp.o
[ 95%] Building CXX object examples/CMakeFiles/example.dir/example.pb.cc.o
[100%] Linking CXX executable example
[100%] Built target example
(Cura) Fabians-MacBook-Pro:build fabian$ make install
[ 27%] Built target Arcus
[ 77%] Built target python_module_Arcus
[100%] Built target example
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/python3.4/site-packages/Arcus.so
-- Installing: /usr/local/lib/libArcus.1.0.0.dylib
-- Up-to-date: /usr/local/lib/libArcus.2.dylib
-- Up-to-date: /usr/local/lib/libArcus.dylib
-- Up-to-date: /usr/local/include/Arcus/Socket.h
-- Up-to-date: /usr/local/include/Arcus/SocketListener.h
-- Up-to-date: /usr/local/include/Arcus/Types.h
-- Up-to-date: /usr/local/include/Arcus/ArcusExport.h
-- Up-to-date: /usr/local/include/Arcus/MessageTypeStore.h
-- Up-to-date: /usr/local/include/Arcus/Error.h
-- Installing: /usr/local/lib/cmake/Arcus/Arcus-targets.cmake
-- Installing: /usr/local/lib/cmake/Arcus/Arcus-targets-noconfig.cmake
-- Installing: /usr/local/lib/cmake/Arcus/ArcusConfig.cmake
-- Installing: /usr/local/lib/cmake/Arcus/ArcusConfigVersion.cmake

But the SocketListener class is not included on Arcus/init.py.

Can you tell me if it is a bug? Or I make a mistake on the install process.

Thanks a lot for your time

Error on make, while Linking CXX shared library Arcus.pyd

I ran onto a problem while after building libArcus files on Windows. When I run make, I get a bunch of undefined references. This is how it looks like:

$ make
[ 27%] Built target Arcus
[ 31%] Linking CXX shared library Arcus.pyd
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x270): undefined reference to PyModule_Create2' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x291): undefined reference to PyModule_GetDict'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x2a1): undefined reference to PyImport_ImportModule' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x302): undefined reference to PyModule_GetDict'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x311): undefined reference to PyDict_GetItemString' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x36b): undefined reference to __imp_PyCapsule_Type'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x3cd): undefined reference to PyCapsule_GetPointer' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x615): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x634): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x6e3): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x713): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x7e1): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x7fd): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x804): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x812): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x81c): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x8d9): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x8f9): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x93a): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x948): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x952): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x9fa): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xa1a): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xa21): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xa2f): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xa39): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xafa): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xb20): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xb46): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xb54): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xb5e): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xc1f): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xc45): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xc6b): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xc79): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xc83): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xd16): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xd32): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xd39): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xd47): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xd51): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xde4): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xe00): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xe07): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xe15): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xe1f): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xee4): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xf20): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xf46): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xf54): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0xf5e): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x1013): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x1043): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x1138): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x116f): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x1281): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x12a4): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x12ce): undefined reference to PyBool_FromLong'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x1317): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x1365): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x147a): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart0.cpp.obj):sipArcuspart 0.cpp:(.text+0x14a3): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x60): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x7f): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x149): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x179): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x262): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x281): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x28c): undefined reference to PyBool_FromLong' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x333): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x352): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x35d): undefined reference to PyBool_FromLong'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x40d): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x430): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x437): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x445): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x44f): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x503): undefined reference to PyUnicode_FromString'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x552): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x57b): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x7cf): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x7f8): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x88e): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x8c3): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x955): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart1.cpp.obj):sipArcuspart 1.cpp:(.text+0x985): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x19a): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1ca): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x2e0): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x303): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x334): undefined reference to PyBool_FromLong' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x515): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x539): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x582): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x65c): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x67f): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x6af): undefined reference to PyLong_FromLong' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x790): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x7ba): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x803): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x8dd): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x901): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x94a): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xa24): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xa47): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xa77): undefined reference to PyLong_FromLong'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xc40): undefined reference to __imp_PyExc_NotImplementedError' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xc52): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xcca): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xd18): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xe5c): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0xe8c): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x11ed): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x120d): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1357): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1365): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x136f): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1478): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1486): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1490): more undefined references to __imp__Py_NoneStruct' follow
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1624): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x1672): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x179d): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x17c6): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x183f): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart2.cpp.obj):sipArcuspart 2.cpp:(.text+0x186f): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x226): undefined reference to PyEval_SaveThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x24f): undefined reference to PyEval_RestoreThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x346): undefined reference to __imp_PyExc_ValueError' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x358): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x431): undefined reference to __imp_PyExc_ValueError' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x443): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart3.cpp.obj):sipArcuspart 3.cpp:(.text+0x492): undefined reference to __imp__Py_NoneStruct' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x12a): undefined reference to PyEval_SaveThread'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x153): undefined reference to PyEval_RestoreThread' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x1d3): undefined reference to __imp__Py_NoneStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x231): undefined reference to PyUnicode_AsEncodedString' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x437): undefined reference to PyUnicode_DecodeUTF8'
CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x447): undefined reference to PyErr_Clear' CMakeFiles/python_module_Arcus.dir/objects.a(sipArcuspart4.cpp.obj):sipArcuspart 4.cpp:(.text+0x45b): undefined reference to PyBytes_FromString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x3c3): undefined reference to __imp_PyExc_AttributeError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x3ce): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x443): undefined reference to PyFloat_FromDouble' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x47a): undefined reference to PyFloat_FromDouble'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x4b3): undefined reference to PyLong_FromLong' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x4ed): undefined reference to PyLong_FromLongLong'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x526): undefined reference to PyLong_FromUnsignedLong' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x560): undefined reference to PyLong_FromUnsignedLongLong'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x59d): undefined reference to __imp__Py_TrueStruct' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x5ae): undefined reference to __imp__Py_TrueStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x5ba): undefined reference to __imp__Py_FalseStruct' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x5cb): undefined reference to __imp__Py_FalseStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x624): undefined reference to PyBytes_FromStringAndSize' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x67a): undefined reference to PyUnicode_FromString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x6bc): undefined reference to PyLong_FromLong' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x6c8): undefined reference to __imp_PyExc_ValueError'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x6da): undefined reference to PyErr_SetString' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x78a): undefined reference to __imp_PyExc_AttributeError'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x795): undefined reference to PyErr_SetString' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x7fb): undefined reference to PyFloat_AsDouble'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x852): undefined reference to PyFloat_AsDouble' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x8a6): undefined reference to PyLong_AsLong'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x8fc): undefined reference to PyLong_AsLongLong' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x952): undefined reference to PyLong_AsUnsignedLong'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x9a8): undefined reference to PyLong_AsUnsignedLongLong' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x9df): undefined reference to __imp__Py_TrueStruct'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xa83): undefined reference to PyObject_GetBuffer' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xb37): undefined reference to PyUnicode_AsUTF8'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xbd2): undefined reference to PyUnicode_AsUTF8' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xc89): undefined reference to PyLong_AsLong'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xcc0): undefined reference to __imp_PyExc_ValueError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xcd2): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xdb5): undefined reference to __imp_PyExc_AttributeError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xdc0): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xe7f): undefined reference to __imp_PyExc_AttributeError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xe8a): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xf07): undefined reference to __imp_PyExc_AttributeError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xf12): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xfd3): undefined reference to __imp_PyExc_AttributeError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0xfde): undefined reference to PyErr_SetString'
CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x1041): undefined reference to __imp_PyExc_IndexError' CMakeFiles/python_module_Arcus.dir/objects.a(PythonMessage.cpp.obj):PythonMessag e.cpp:(.text+0x104c): undefined reference to PyErr_SetString'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/python_module_Arcus.dir/build.make:337: Arcus.pyd] Erro r 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/python_module_Arcus.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

Was hoping someone could tell me why this was happening. Thanks!

EDIT: IT may have some thing to do with this, when building cmake:

WARNING: Target "python_module_Arcus" requests linking to directory "C:\msys64\mingw64\lib\python3.5". Targets may link only to libraries. CMake is dropping the item.

Problem is mingw32-w64 doesn't give you a .lib file, just a directory

SOVERSION / VERSION / Cura version mismatch

I ran into this problem while attempting to package Cura up for Debian:
There seems to be a general disagreement over which versioning scheme to use for libArcus.

  • The "release" uses the same scheme as Cura (ex. 2.3.0)
  • The library version is currently 1.1.0
  • The SOVERSION (i.e. API level) is 3

While technically not an issue, it is highly confusing and causes lintian to throw a tantrum. Silencing it is an option, but I'd rather have an official opinion why Arcus doesn't use a more consistent versioning scheme.

Even better, it would be nice if the three versions would match up.
I understand that this will most likely introduce a discrepancy between Cura and libArcus, but I don't think it will be a major problem. One can always require a specific library version, if necessary.

mingw32-make Error

CMakeFiles\Arcus.dir/objects.a(MessageTypeStore.cpp.obj):MessageTypeStore.cpp:(.text$ZN9__gnu_cxx13new_allocatorIN6google8protobuf8compiler8ImporterEE7destroyIS4_EEvPT[ZN9__gnu_cxx13new_allocatorIN6google8protobuf8compiler8ImporterEE7destroyIS4_EEvPT]+0x18): undefined reference to google::protobuf::compiler::Importer::~Importer()' CMakeFiles\Arcus.dir/objects.a(MessageTypeStore.cpp.obj):MessageTypeStore.cpp:(.rdata$.refptr._ZTVN6google8protobuf8compiler23MultiFileErrorCollectorE[.refptr._ZTVN6google8protobuf8compiler23MultiFileErrorCollectorE]+0x0): undefined reference tovtable for google::protobuf::compiler::MultiFileErrorCollector'
collect2.exe: error: ld returned 1 exit status
CMakeFiles\Arcus.dir\build.make:205: recipe for target 'libArcus.dll' failed
mingw32-make[2]: *** [libArcus.dll] Error 1
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/Arcus.dir/all' failed
mingw32-make[1]: *** [CMakeFiles/Arcus.dir/all] Error 2
Makefile:148: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

libArcus make fail; too many initializers/sipArcuspart0.cpp.o' failed

Hi, I managed to solve the FindSIP issue by installing python3-sip-dev, so now it shows Found SIP version: 4.18.1 even though running sip -Vstill shows 4.19.3. Shrug. But now I get this error when attempting to sudo make

Using Ubuntu 17.04

[ 31%] Generating python/sipArcuspart0.cpp, python/sipArcuspart1.cpp, python/sipArcuspart2.cpp, python/sipArcuspart3.cpp, python/sipArcuspart4.cpp, python/sipArcuspart5.cpp, python/sipArcuspart6.cpp, python/sipArcuspart7.cpp

Scanning dependencies of target python_module_Arcus
[ 36%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o
In file included from /home/stine/libArcus/build/python/sipArcuspart0.cpp:10:0:
/home/stine/libArcus/build/python/sipArcuspart0.cpp: In function ‘void sipVH_Arcus_2(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper*, PyObject*, const Arcus::Error&)’:
/home/stine/libArcus/build/python/sipAPIArcus.h:153:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_call_procedure_method’; did you mean ‘api_call_method’?
#define sipCallProcedureMethod sipAPI_Arcus->api_call_procedure_method
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:83:5: note: in expansion of macro ‘sipCallProcedureMethod’
sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new ::Error(a0), sipType_Error, NULL);
^~~~~~~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipArcuspart0.cpp: In function ‘void sipVH_Arcus_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper*, PyObject*)’:
/home/stine/libArcus/build/python/sipAPIArcus.h:153:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_call_procedure_method’; did you mean ‘api_call_method’?
#define sipCallProcedureMethod sipAPI_Arcus->api_call_procedure_method
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:88:5: note: in expansion of macro ‘sipCallProcedureMethod’
sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "");
^~~~~~~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipArcuspart0.cpp: In function ‘void sipVH_Arcus_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper*, PyObject*, Arcus::SocketState::SocketState)’:
/home/stine/libArcus/build/python/sipAPIArcus.h:153:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_call_procedure_method’; did you mean ‘api_call_method’?
#define sipCallProcedureMethod sipAPI_Arcus->api_call_procedure_method
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:93:5: note: in expansion of macro ‘sipCallProcedureMethod’
sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "F", a0, sipType_SocketState_SocketState);
^~~~~~~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipArcuspart0.cpp: At global scope:
/home/stine/libArcus/build/python/sipArcuspart0.cpp:98:1: error: too many initializers for ‘sipTypeDef {aka _sipTypeDef}’
};
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:98:1: error: too many initializers for ‘sipTypeDef {aka _sipTypeDef}’
/home/stine/libArcus/build/python/sipArcuspart0.cpp:145:1: error: braces around scalar initializer for type ‘void ()(_sipSimpleWrapper*, sip_gilstate_t) {aka void ()(_sipSimpleWrapper*, PyGILState_STATE)}’
};
^
In file included from /home/stine/libArcus/build/python/sipArcuspart0.cpp:10:0:
/home/stine/libArcus/build/python/sipArcuspart0.cpp: In destructor ‘virtual sipSocket::~sipSocket()’:
/home/stine/libArcus/build/python/sipAPIArcus.h:160:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_instance_destroyed’; did you mean ‘api_abstract_method’?
#define sipInstanceDestroyed sipAPI_Arcus->api_instance_destroyed
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:301:5: note: in expansion of macro ‘sipInstanceDestroyed’
sipInstanceDestroyed(sipPySelf);
^~~~~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipArcuspart0.cpp: In function ‘void dealloc_Socket(sipSimpleWrapper*)’:
/home/stine/libArcus/build/python/sipAPIArcus.h:272:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_is_derived_class’; did you mean ‘api_find_class’?
#define sipIsDerivedClass sipAPI_Arcus->api_is_derived_class
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:691:9: note: in expansion of macro ‘sipIsDerivedClass’
if (sipIsDerivedClass(sipSelf))
^~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipAPIArcus.h:271:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_is_owned_by_python’; did you mean ‘api_is_py_method’?
#define sipIsOwnedByPython sipAPI_Arcus->api_is_owned_by_python
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:694:9: note: in expansion of macro ‘sipIsOwnedByPython’
if (sipIsOwnedByPython(sipSelf))
^~~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipAPIArcus.h:272:51: error: ‘const sipAPIDef {aka const struct _sipAPIDef}’ has no member named ‘api_is_derived_class’; did you mean ‘api_find_class’?
#define sipIsDerivedClass sipAPI_Arcus->api_is_derived_class
^
/home/stine/libArcus/build/python/sipArcuspart0.cpp:696:48: note: in expansion of macro ‘sipIsDerivedClass’
release_Socket(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
^~~~~~~~~~~~~~~~~
/home/stine/libArcus/build/python/sipArcuspart0.cpp: At global scope:
/home/stine/libArcus/build/python/sipArcuspart0.cpp:787:1: error: too many initializers for ‘sipTypeDef {aka _sipTypeDef}’
};
^
CMakeFiles/python_module_Arcus.dir/build.make:93: recipe for target 'CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o' failed
make[2]: *** [CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/python_module_Arcus.dir/all' failed
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

can't find sip.h error

Install libArcus.
Already up-to-date.
-- Found SIP version: 4.16.9
-- Configuring done
-- Generating done
-- Build files have been written to: /home/XXXXX/dev/libArcus/build
Linking CXX shared library libArcus.so
[ 31%] Built target Arcus
[ 31%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o
In file included from /home/XXXXX/dev/libArcus/build/python/sipArcuspart0.cpp:10:0:
/home/XXXXX/dev/libArcus/build/python/sipAPIArcus.h:11:17: fatal error: sip.h: 没有那个文件或目录
compilation terminated.
CMakeFiles/python_module_Arcus.dir/build.make:86: recipe for target 'CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o' failed
make[2]: *** [CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o] Error 1
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/python_module_Arcus.dir/all' failed
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2
[ 26%] Built target Arcus
[ 31%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o
In file included from /home/XXXXX/dev/libArcus/build/python/sipArcuspart0.cpp:10:0:
/home/XXXXX/dev/libArcus/build/python/sipAPIArcus.h:11:17: fatal error: sip.h: 没有那个文件或目录
compilation terminated.
CMakeFiles/python_module_Arcus.dir/build.make:86: recipe for target 'CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o' failed
make[2]: *** [CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o] Error 1
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/python_module_Arcus.dir/all' failed
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: *** [all] Error 2

[2.1] - Multi-architecture installation not possible anymore

Because debian allows multiarch installation of libraries, it is needed to install to a specific path.
CMAKE_LIBRARY_PATH usually sets this path, but it doesn't work anymore on 15.10 branch.
The reason could be commit 6eeb674 here the */lib path has been hardcoded.

Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/libArcus.so.15.09.81
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/libArcus.so.1
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/libArcus.so
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/Socket.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/SocketListener.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/Types.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/ArcusExport.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/cmake/Arcus/Arcus-targets.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/cmake/Arcus/Arcus-targets-none.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/cmake/Arcus/ArcusConfig.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/cmake/Arcus/ArcusConfigVersion.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/python3/dist-packages/Arcus/__init__.py
make[1]: Leaving directory '/«PKGBUILDDIR»/obj-x86_64-linux-gnu'
    cd /«PKGBUILDDIR»
   debian/rules override_dh_install
make[1]: Entering directory '/«PKGBUILDDIR»'
dh_install --fail-missing
dh_install: libarcus missing files (/usr/lib/*/libArcus.so.*), aborting
debian/rules:10: recipe for target 'override_dh_install' failed

On master it is working with:

Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/libArcus.so.15.05.90
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/libArcus.so.1
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/libArcus.so
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/Socket.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/SocketListener.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/Types.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/include/Arcus/ArcusExport.h
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/cmake/Arcus/Arcus-targets.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/cmake/Arcus/Arcus-targets-none.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/cmake/Arcus/ArcusConfig.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/cmake/Arcus/ArcusConfigVersion.cmake
-- Installing: /«PKGBUILDDIR»/debian/tmp/usr/lib/python3/dist-packages/Arcus/__init__.py

AttributeError: module 'Arcus' has no attribute 'SocketListener' on windows

@Ghostkeeper @daid @fabianrodrigo

i'am also encountering the issue "No attribute SocketListener".
and
commands:

python3.5
import Arcus
print(Arcus.__file__)

get:
somethingsomething/python3.5/lib/site-packages/Arcus/init.py

the big trouble for me is: i don't know how to build the libArcus on the windows, so the file Arcus.pyd can't be generated out. when i follows the build guidelines about Arcus on the webpage, also guideline about protobuf, they are no effective when i try to compile or install, every compile path is full of errors.

Could you point me out more detailed compile or install procedures? many thanks!

undefined reference to `_imp___ZN5Arcus6Socket11sendMessageESt10shared_ptrIN6google8protobuf7MessageEE'

I am using cura-build-15.06.03 to build cura, I use mingw under win7, but it fails with the following information:

[ 50%] Linking CXX executable example.exe
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text+0x741): undefined reference to `_imp___ZN5Arcus6Socket11sendMessageESt10shared_ptrIN6google8protobuf7MessageEE'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text+0xa94): undefined reference to `_imp___ZN5Arcus6Socket11sendMessageESt10shared_ptrIN6google
8protobuf7MessageEE'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x70): undefined reference to `_imp___ZN5Arcus6SocketC1Ev'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x88): undefined reference to `_imp___ZN5Arcus6Socket19registerMessageTypeEiPKN6goo
gle8protobuf7MessageE'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0xfd): undefined reference to `_imp___ZN5Arcus6Socket7connectERKSsi'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x117): undefined reference to `_imp___ZNK5Arcus6Socket5stateEv'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x140): undefined reference to `_imp___ZNK5Arcus6Socket11errorStringEv'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x1b9): undefined reference to `_imp___ZN5Arcus6SocketD1Ev'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x1d8): undefined reference to `_imp___ZN5Arcus6Socket15takeNextMessageEv'
CMakeFiles\example.dir/objects.a(example.cpp.obj):example.cpp:(.text.startup+0x2a0): undefined reference to `_imp___ZN5Arcus6SocketD1Ev'
collect2.exe: error: ld returned 1 exit status
examples\CMakeFiles\example.dir\build.make:137: recipe for target 'examples/example.exe' failed
make[5]: *** [examples/example.exe] Error 1
CMakeFiles\Makefile2:121: recipe for target 'examples/CMakeFiles/example.dir/all' failed
make[4]: *** [examples/CMakeFiles/example.dir/all] Error 2
makefile:126: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles\Arcus.dir\build.make:110: recipe for target 'Arcus-prefix/src/Arcus-stamp/Arcus-build' failed
make[2]: *** [Arcus-prefix/src/Arcus-stamp/Arcus-build] Error 2
CMakeFiles\Makefile2:275: recipe for target 'CMakeFiles/Arcus.dir/all' failed
make[1]: *** [CMakeFiles/Arcus.dir/all] Error 2
makefile:104: recipe for target 'all' failed
make: *** [all] Error 2

I have a check the inst folder, and found there's file inst\lib\libArcus.a, it seems the libArcus should has built, and I think the above problem is just a linking problem, but I don't know how to handle it.

will anybody instruct me how to handle the problem?

Best Regards
James ([email protected])

OSX build failure - seg fault.

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Users/devonjones/.pyenv/cura/ -DPYTHON_INCLUDE_DIR=../python3.5 -DPYTHON_LIBRARY=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))") -DSIP_INCLUDE_DIR=../../sip-4.19.11 -DBUILD_STATIC=ON -DBUILD_PYTHON=ON -DBUILD_EXAMPLES=OFF ..

-- Found SIP version: 4.19.11
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/devonjones/Dropbox/projects/Software/3d_printer/libArcus/build
(cura) devonjones@devonjones 0 ~/Dropbox/projects/Software/3d_printer/libArcus/build $ make
Scanning dependencies of target Arcus
[ 5%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.o
[ 11%] Building CXX object CMakeFiles/Arcus.dir/src/SocketListener.cpp.o
[ 17%] Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o
[ 23%] Building CXX object CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.o
[ 29%] Building CXX object CMakeFiles/Arcus.dir/src/Error.cpp.o
[ 35%] Linking CXX static library libArcus.a
[ 35%] Built target Arcus
[ 41%] Generating python/sipArcuspart0.cpp, python/sipArcuspart1.cpp, python/sipArcuspart2.cpp, python/sipArcuspart3.cpp, python/sipArcuspart4.cpp, python/sipArcuspart5.cpp, python/sipArcuspart6.cpp, python/sipArcuspart7.cpp

make[2]: *** [python/sipArcuspart0.cpp] Segmentation fault: 11
make[2]: *** Deleting file `python/sipArcuspart0.cpp'
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
make: *** [all] Error 2

Also as a note, instructions for building should tell a person how to tell CMAKE to find python and SIP.

I had to search for an hour or two to figure out
-DPYTHON_INCLUDE_DIR=../python3.5
-DPYTHON_LIBRARY=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
-DSIP_INCLUDE_DIR=../../sip-4.19.11

Failed on master and on tag 2.7.0

missing dependencies to compile on Linux (Debian)

Hi ! I tried to build the library for CuraEngine, but I have the following error at compile time, after proceeded your instructions (no problem with cmake):

[ 5%] Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o /home/jimy/programs/cura-3D-printer/libArcus-master/src/MessageTypeStore.cpp:26:47: fatal error: google/protobuf/compiler/importer.h: Aucun fichier ou dossier de ce type
#include <google/protobuf/compiler/importer.h>
compilation terminated.
CMakeFiles/Arcus.dir/build.make:100: recipe for target 'CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o' failed
make[2]: *** [CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/Arcus.dir/all' failed
make[1]: *** [CMakeFiles/Arcus.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2

So what's this directory: "google" ? It doesn't appear in the library's project.

release snapshots please

Please give us release snapshots for this project that correlate to releases for uranium and cura.

'error: 'is_proto_enum' was not declared in this scope' in protobuf/reflection.h

I'm trying to build Cura using cura-build on a fresh Ubuntu 15.04 Virtual Machine. It gets stuck on building libArcus with the following error.

In file included from /home/rick/dev/libArcus/python/PythonMessage.cpp:24:0:
/usr/include/google/protobuf/reflection.h:539:37: error: 'is_proto_enum' was not declared in this scope
     T, typename internal::enable_if<is_proto_enum<T>::value>::type> {
                                  ^

more info:

rick@ubuntu:~/dev/libArcus/build$ cmake .. -DPYTHON_SITE_PACKAGES_DIR=/usr/lib/python3.4/dist-packages
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found PROTOBUF: /usr/lib/libprotobuf.so
-- Found PythonInterp: /usr/bin/python3.4 (found suitable version "3.4.3", minimum required is "3.4.0")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (found suitable version "3.4.3", minimum required is "3.4.0")
-- Found SIP version: 4.16.6
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rick/dev/libArcus/build
rick@ubuntu:~/dev/libArcus/build$ make -j4
Scanning dependencies of target Arcus
[  5%] [ 10%] [ 21%] [ 21%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.o
Building CXX object CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.o
Building CXX object CMakeFiles/Arcus.dir/src/SocketListener.cpp.o
Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o
[ 26%] Building CXX object CMakeFiles/Arcus.dir/src/Error.cpp.o
Linking CXX shared library libArcus.so
[ 26%] Built target Arcus
[ 36%] [ 36%] [ 42%] Generating python/sipArcuspart0.cpp, python/sipArcuspart1.cpp, python/sipArcuspart2.cpp, python/sipArcuspart3.cpp, python/sipArcuspart4.cpp, python/sipArcuspart5.cpp, python/sipArcuspart6.cpp, python/sipArcuspart7.cpp
Running Python protocol buffer compiler on example.proto

Running C++ protocol buffer compiler on example.proto
Scanning dependencies of target python_module_Arcus
Scanning dependencies of target example
[ 47%] [ 52%] Building CXX object examples/CMakeFiles/example.dir/example.pb.cc.o
Building CXX object examples/CMakeFiles/example.dir/example.cpp.o
[ 57%] [ 63%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o
Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart1.cpp.o
[ 68%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart2.cpp.o
[ 73%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart3.cpp.o
[ 78%] [ 84%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart4.cpp.o
Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart5.cpp.o
[ 89%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart6.cpp.o
[ 94%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart7.cpp.o
[100%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o
In file included from /home/rick/dev/libArcus/python/PythonMessage.cpp:24:0:
/usr/include/google/protobuf/reflection.h:539:37: error: 'is_proto_enum' was not declared in this scope
     T, typename internal::enable_if<is_proto_enum<T>::value>::type> {
                                     ^
/usr/include/google/protobuf/reflection.h:539:52: error: template argument 1 is invalid
     T, typename internal::enable_if<is_proto_enum<T>::value>::type> {
                                                    ^
/usr/include/google/protobuf/reflection.h:539:60: error: expected '(' before '>' token
     T, typename internal::enable_if<is_proto_enum<T>::value>::type> {
                                                            ^
/usr/include/google/protobuf/reflection.h:539:60: error: template argument 2 is invalid
/usr/include/google/protobuf/reflection.h:539:63: error: expected '{' or ':' before 'type'
     T, typename internal::enable_if<is_proto_enum<T>::value>::type> {
                                                               ^
/usr/include/google/protobuf/reflection.h:539:63: error: expected '{' before 'type'
/usr/include/google/protobuf/reflection.h:539:67: error: expected initializer before '>' token
     T, typename internal::enable_if<is_proto_enum<T>::value>::type> {
                                                                   ^
CMakeFiles/python_module_Arcus.dir/build.make:263: recipe for target 'CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o' failed
make[2]: *** [CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o] Error 1
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/python_module_Arcus.dir/all' failed
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Linking CXX executable example
[100%] Built target example
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2

sip.h no such file or directory

I'm trying to install libArcus. But the make command fails with the error that it could not find sip.h. while sip is installed.

 cmake ..
-- Found SIP version: 4.15.5
-- Configuring done
-- Generating done
-- Build files have been written to: /root/cura/libArcus/build

make
[ 26%] Built target Arcus
[ 31%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o
In file included from /root/cura/libArcus/build/python/sipArcuspart0.cpp:10:0:
/root/cura/libArcus/build/python/sipAPIArcus.h:11:17: fatal error: sip.h: No such file or directory
 #include <sip.h>
                 ^
compilation terminated.
make[2]: *** [CMakeFiles/python_module_Arcus.dir/python/sipArcuspart0.cpp.o] Error 1
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
make: *** [all] Error 2

Building on Windows

When I try to configure in cmake, I got this error:

Administrator@WIN-GDGB8ICI8VS /c/mingw/msys/1.0/local/libArcus-2.4/build
$ cmake ..
-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: C:/MinGW/msys/1.0/local/protobuf-3.0.0/src/.libs/libprotobuf.a (found suitable version "3.0.0", minimum required is "3.0.0")
-- Found PythonInterp: C:/python35/python.exe (found suitable version "3.5.3", minimum required is "3.4.0")
-- Found PythonLibs: C:/python35/libs/python35.lib (found suitable version "3.5.3", minimum required is "3.4.0")
CMake Error at cmake/FindSIP.cmake:64 (MESSAGE):
Could not find SIP
Call Stack (most recent call first):
CMakeLists.txt:22 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/MinGW/msys/1.0/local/libArcus-2.4/build/CMakeFiles/CMakeOutput.log".

Administrator@WIN-GDGB8ICI8VS /c/mingw/msys/1.0/local/libArcus-2.4/build
$ pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in yo
ur pip.conf under the [list] section) to disable this warning.
pip (9.0.1)
setuptools (28.8.0)
sip (4.19.2)

When I try to set PYTHON_SITE_PACKAGES_DIR the error still exists.

Error 1 and 2 on make and/or minGW-make

Dear,

this is how far I got. tried both "make" in MSYS environment and "minGW32-make" in normal terminal enivronment (both built by cmake in the corresponding flavour).

one thing to add, I did build protobuffer 3.0.0 beta 2, with cmake instead of using minGW.
this because of the handguide provided by protobuffer.

for the rest: I'm lost

libArcus-master\build>mingw32-make
[  9%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.obj
In file included from C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:20:0:
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:106:9: fout: 'thread' in namespace 'std' does not name a type
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:115:9: fout: 'mutex' in namespace 'std' does not name a type
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:117:9: fout: 'mutex' in namespace 'std' does not name a type
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h: In constructor 'Arcus::Socket::Private::Private()':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:82:15: fout: class 'Arcus::Socket::Private' does not have any field named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h: In memberfunctie 'void Arcus::Socket::Private::run()':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:251:21: fout: 'sendQueueMutex' was not declared in this scope
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:280:25: fout: 'sendQueueMutex' was not declared in this scope
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:312:25: fout: 'sendQueueMutex' was not declared in this scope
In file included from C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:20:0:
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h: In memberfunctie 'void Arcus::Socket::Private::handleMessage(const std::shared_ptr<Arcus::Private::WireMessage>&)':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\/Socket_p.h:560:9: fout: 'receiveQueueMutex' was not declared in this scope
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In destructor 'virtual Arcus::Socket::~Socket()':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:32:11: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:38:19: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In memberfunctie 'void Arcus::Socket::connect(const string&, int)':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:122:47: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:130:8: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:130:21: fout: expected type-specifier
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:130:21: fout: expected ';'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:130:52: fout: expected primary-expression before ')' token
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:130:52: fout: expected ';' before ')' token
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In memberfunctie 'void Arcus::Socket::reset()':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:142:11: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:144:12: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:145:12: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In memberfunctie 'void Arcus::Socket::listen(const string&, int)':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:157:8: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:157:21: fout: expected type-specifier
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:157:21: fout: expected ';'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:157:52: fout: expected primary-expression before ')' token
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:157:52: fout: expected ';' before ')' token
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In memberfunctie 'void Arcus::Socket::close()':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:183:18: fout: 'std::this_thread' has not been declared
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:196:11: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:198:12: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:199:19: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:200:12: fout: 'class Arcus::Socket::Private' has no member named 'thread'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In memberfunctie 'void Arcus::Socket::sendMessage(Arcus::MessagePtr)':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:212:5: fout: 'lock_guard' is not a member of 'std'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:212:21: fout: 'mutex' is not a member of 'std'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:212:41: fout: 'class Arcus::Socket::Private' has no member named 'sendQueueMutex'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:212:55: fout: 'lock' was not declared in this scope
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp: In memberfunctie 'Arcus::MessagePtr Arcus::Socket::takeNextMessage()':
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:218:5: fout: 'lock_guard' is not a member of 'std'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:218:21: fout: 'mutex' is not a member of 'std'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:218:41: fout: 'class Arcus::Socket::Private' has no member named 'receiveQueueMutex'
C:\Users\JPKirschner\Desktop\nodeJS en consorten\libArcus-master\src\Socket.cpp:218:58: fout: 'lock' was not declared in this scope
CMakeFiles\Arcus.dir\build.make:62: recipe for target 'CMakeFiles/Arcus.dir/src/Socket.cpp.obj' failed
mingw32-make[4]: *** [CMakeFiles/Arcus.dir/src/Socket.cpp.obj] Error 1
CMakeFiles\Makefile2:66: recipe for target 'CMakeFiles/Arcus.dir/all' failed
mingw32-make[3]: *** [CMakeFiles/Arcus.dir/all] Error 2
Makefile:148: recipe for target 'all' failed
mingw32-make[2]: *** [all] Error 2

Linux 64 bits issue

Hi, in order to compile Cura (and all the libs) I had to patch up the CMakeLists.txt to correctly use Lib_Suffix.
I share my lib64.patch, if you found it acceptable can you add it to the code?
lib64.txt

libArcus.so SONAME and .so.VERSION don't match

When building libArcus 2.1.3, the SONAME gets (correctly) set to libArcus.so.2, but the library itself is named libArcus.so.1.0.0.
While this inconsistency does not cause any immediate problems, it's a bad idea and should be fixed.

This line:
set(ARCUS_VERSION 1.0.0)
should read:
set(ARCUS_VERSION 2.1.3)

installation issue

Hello,

protobuf is already installed in ubuntu system from repository. Then while compiling this library from source, the system gives the following error:

///////////////////////////////////////////////////////////////
[ 31%] Building CXX object CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o
/home/sajjad/Downloads/Arcus/libArcus-master/python/PythonMessage.cpp:24:40: fatal error: google/protobuf/reflection.h: No such file or directory
compilation terminated.
CMakeFiles/python_module_Arcus.dir/build.make:270: recipe for target 'CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o' failed
make[2]: *** [CMakeFiles/python_module_Arcus.dir/python/PythonMessage.cpp.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/python_module_Arcus.dir/all' failed
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
Makefile:126: recipe for target 'all' failed
make: *** [all] Error 2
//////////////////////////////////////////////////////////////

Any hint to get around this issue ?

Thanks

Use "stable" protobuf.

The library can't be built using protobuf version that is present in repositories:
example.protoexample.proto::1:101: :Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".10: Unrecognized syntax identifier "proto3". This parser only recognizes "proto2".
Use of proto3 requires manual build of protobuf beta version that is veeeery unconvinient.

Building in Windows

When I try to configure in cmake, I got this error:
error

When I tried setting PROTOBUF_INCLUDE_DIR to its location
set(PROTOBUF_INCLUDE_DIR "C:/MinGW/msys/1.0/local/protobuf-master")
the error still exists.

I am using "MSYS Makefiles" for generating the files.

Issues with installing- could not find SIP despite being installed

When attempting to run cmake on libArcus, cmake exits with the error "Could not find SIP". However, SIP is on my system and I have tried several methods of installing and checking. Here's what I've done so far (for reference, I'm running Debian Stretch):

  • Install sip using pip3 install sip as mentioned in the SIP documentation
  • Downloading sip-4.19-cp35-cp35m-manylinux1_x86_64.whl from the link in Running Cura from Source, then running pip install on that file. It exited with error, saying it wasn't a supported wheel on my platform, so I tried sip-4.19-cp36-cp36m-manylinux1_x86_64.whl (the other possibility from that link), and had the same issue.
  • The same as above but with pip3, which successfully installed but was not found by libarcus
  • Installing the sip-dev package from the Debian repositories through my package manager, which also succeeded but was not found by libarcus
  • Extracting the .whl's mentioned above using unzip, but the contents only contained a few text files (METADATA which recommended I use pip3 to install, and RECORD and WHEEL which had some record and configuration stuff) and an executable called sip.so. I tried running it and got a segmentation fault, and neither python nor python3 could run it. This was true in both the .whl's.

I know sip is installed because I can run an import sip from the python3 console, so I'm not sure why libarcus still won't find and use it. Any help here would be much appreciated!

make problem

In the process of compiling libArcus, the implementation of cmake is successful, but the implementation of the make command, the compiler error. The following is the exception information:
/usr/bin/ld: /usr/local/lib/libpython3.6m.a(abstract.o): relocation R_X86_64_32S against _Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython3.6m.a: error adding symbols: Bad value
collect2: Error:ld return 1
make[2]: *** [Arcus.so] error 1
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
make: *** [all] Error 2
`
I have read some information that 64-bit system will compile Python when the problem occurs, but I re-compiled Python. Again make make libArcus when the implementation of this error message.
My environment is centos 7 python3.6 sip4.19.2
Will the following give some good advice? Thank you

Could not find SIP

Platform: Ubuntu 17.04
libtool: (GNU libtool) 2.4.6
SIP: 4.19.3

Steps to Reproduce:
Follow CuraEngine installation instructions from https://github.com/Ultimaker/CuraEngine
Get down to the install libArcus step
When executing cmake .. I get the following error:
-- Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found suitable version "3.3.2", minimum required is "3.0.0") -- Found PythonInterp: /usr/local/bin/python3.4 (found suitable version "3.4.6", minimum required is "3.4.0") -- Found PythonLibs: /usr/local/lib/libpython3.4m.a (found suitable version "3.4.6", minimum required is "3.4.0") CMake Error at cmake/FindSIP.cmake:64 (MESSAGE): Could not find SIP
Yet I do have SIP installed. Any hints on what I should do?

More details in CMakeError.log:
https://gist.github.com/nickthetait/8a461c57465be29fbc22a1f430568ecc

edit: use a gist instead of pasting file output

/usr/bin/ld: cannot find -lstdc++

Trying to build on rhel 7
did a yum update

installed protobuf
installed Python3.4
installed sip-4.18
installed cmake-3.5.2

git cloned libArcus
created build dir
ran cmake .. OK

make fails as follows:
make
Scanning dependencies of target Arcus
[ 4%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.o
[ 9%] Building CXX object CMakeFiles/Arcus.dir/src/SocketListener.cpp.o
[ 13%] Building CXX object CMakeFiles/Arcus.dir/src/MessageTypeStore.cpp.o
[ 18%] Building CXX object CMakeFiles/Arcus.dir/src/PlatformSocket.cpp.o
[ 22%] Building CXX object CMakeFiles/Arcus.dir/src/Error.cpp.o
[ 27%] Linking CXX shared library libArcus.so
/usr/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
make[2]: *** [libArcus.so.1.0.0] Error 1
make[1]: *** [CMakeFiles/Arcus.dir/all] Error 2
make: *** [all] Error 2

but I seemingly have libstdc++

yum search libstdc++
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
: manager
Repo rhel-7-workstation-rpms forced skip_if_unavailable=True due to: /etc/pki/entitlement/4886347605660102700-key.pem
============================ N/S matched: libstdc++ ============================
libstdc++.i686 : GNU Standard C++ Library
libstdc++.x86_64 : GNU Standard C++ Library
libstdc++-devel.i686 : Header files and libraries for C++ development
libstdc++-devel.x86_64 : Header files and libraries for C++ development
libstdc++-docs.x86_64 : Documentation for the GNU standard C++ library

Any ideas where I am going wrong?

Thanks - Andy Roberts

arcus in 64bit windows

I am trying to set up arcus with Python bonding in 64-bit windows. I successfully installed protobuf. Any detail suggestion on how to use Microsoft Visual C++ to build Arcus in 64-bit windows?

Make Error of Libarcus while building CXX Object

I'm trying to build curaengine on a shared web hosting server where I DO NOT have root access and cannot use the package manager. I currently cannot get my Libarcus make to work. Any help or tips would be greatly appreciated.

Notes: I have been able to get cmake working with SIP by installing in a customized directory path; I've tried disabling python bindings by passing -DBUILD_PYTHON=OFF to CMakes.

#make
Scanning dependencies of target Arcus
[ 4%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.o
In file included from /home2/thrdstre/bin/include/google/protobuf/message_lite.h:45,
from /home2/thrdstre/bin/include/google/protobuf/message.h:119,
from /home2/thrdstre/curaengine/libArcus/src/Socket_p.h:40,
from /home2/thrdstre/curaengine/libArcus/src/Socket.cpp:20:
/home2/thrdstre/bin/include/google/protobuf/generated_message_util.h:142: error: ISO C++ forbids declaration of 'constexpr' with no type
/home2/thrdstre/bin/include/google/protobuf/generated_message_util.h:144: error: expected ';' before 'const'
/home2/thrdstre/bin/include/google/protobuf/generated_message_util.h:148: error: expected ';' before 'T'
/home2/thrdstre/bin/include/google/protobuf/generated_message_util.h: In function 'const std::string& google::protobuf::internal::GetEmptyStringAlreadyInited()':
/home2/thrdstre/bin/include/google/protobuf/generated_message_util.h:173: error: 'class google::protobuf::internal::ExplicitlyConstructed<std::basic_string<char, std::char_traits, std::allocator > >' has no member named 'get'
In file included from /home2/thrdstre/curaengine/libArcus/src/Socket_p.h:46,
from /home2/thrdstre/curaengine/libArcus/src/Socket.cpp:20:
/home2/thrdstre/curaengine/libArcus/src/SocketListener.h: In constructor 'Arcus::SocketListener::SocketListener()':
/home2/thrdstre/curaengine/libArcus/src/SocketListener.h:47: error: 'nullptr' was not declared in this scope
In file included from /home2/thrdstre/curaengine/libArcus/src/Socket_p.h:50,
from /home2/thrdstre/curaengine/libArcus/src/Socket.cpp:20:
/home2/thrdstre/curaengine/libArcus/src/WireMessage_p.h: In constructor 'Arcus::Private::WireMessage::WireMessage()':
/home2/thrdstre/curaengine/libArcus/src/WireMessage_p.h:52: error: 'nullptr' was not declared in this scope
In file included from /home2/thrdstre/curaengine/libArcus/src/Socket.cpp:20:
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h: In constructor 'Arcus::Socket::Private::Private()':
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:82: error: 'nullptr' was not declared in this scope
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h: In member function 'void Arcus::Socket::Private::error(Arcus::ErrorCode::ErrorCode, const std::string&)':
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:154: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:158: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:158: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:158: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:158: error: expected ')' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:158: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:158: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h: In member function 'void Arcus::Socket::Private::fatalError(Arcus::ErrorCode::ErrorCode, const std::string&)':
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:172: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:176: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:176: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:176: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:176: error: expected ')' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:176: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:176: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h: In member function 'void Arcus::Socket::Private::run()':
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:259: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:264: error: could not convert 'Arcus::Socket::Private::receiveNextMessage()' to 'bool'
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:266: error: expected primary-expression before 'if'
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:266: error: expected ')' before 'if'
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:288: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:296: error: expected ')' before ';' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:341: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:345: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:345: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:345: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:345: error: expected ')' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:345: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:345: error: expected ';' before '}' token
In file included from /home2/thrdstre/curaengine/libArcus/src/Socket.cpp:20:
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h: In member function 'void Arcus::Socket::Private::handleMessage(const std::shared_ptrArcus::Private::WireMessage&)':
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:558: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:562: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:562: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:562: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:562: error: expected ')' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:562: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket_p.h:562: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp: In destructor 'virtual Arcus::Socket::~Socket()':
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:41: error: expected initializer before ':' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:45: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:45: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:45: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:45: error: expected ')' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:45: error: expected primary-expression before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:45: error: expected ';' before '}' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp: In member function 'void Arcus::Socket::connect(const std::string&, int)':
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:122: error: 'nullptr' was not declared in this scope
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:130: error: expected primary-expression before '[' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:130: error: expected primary-expression before ']' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp: In member function 'void Arcus::Socket::reset()':
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:145: error: 'nullptr' was not declared in this scope
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp: In member function 'void Arcus::Socket::listen(const std::string&, int)':
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:155: error: 'nullptr' was not declared in this scope
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:163: error: expected primary-expression before '[' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:163: error: expected primary-expression before ']' token
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp: In member function 'void Arcus::Socket::close()':
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:189: error: 'sleep_for' is not a member of 'std::this_thread'
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:206: error: 'nullptr' was not declared in this scope
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp: In member function 'Arcus::MessagePtr Arcus::Socket::takeNextMessage()':
/home2/thrdstre/curaengine/libArcus/src/Socket.cpp:233: error: 'nullptr' was not declared in this scope
make[2]: *** [CMakeFiles/Arcus.dir/src/Socket.cpp.o] Error 1
make[1]: *** [CMakeFiles/Arcus.dir/all] Error 2
make: *** [all] Error 2

Try and use libprotobuf-lite

For embedded systems, the use of libprotobuf-lite could safe precious resources. Unless we have a hard dependancy on the full libprotobuf, we could suffice with libprotobuf-lite.

Could not find SIP

Platform: win10
version: sip 4.19.8 for python 3.6.5
I have already installed sip via "python -m pip install sip". And I can find sip.pyd at "C:\Users\CZB\AppData\Local\Programs\Python\Python36\Lib\site-packages" and a folder "C:\Users\CZB\AppData\Local\Programs\Python\Python36\Lib\site-packages\sip-4.19.8.dist-info".
Whether I add these to PATH or not, I get the same error:
######################
D:\WORK\CURA\Compile Document\Source File\libArcus-2\build>cmake ..
-- Building for: Visual Studio 15 2017
-- The C compiler identification is MSVC 19.13.26129.0
-- The CXX compiler identification is MSVC 19.13.26129.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: D:/WORK/CURA/Compile Document/Path/to/install/lib/libprotobuf.lib (found suitable version "3.5.1", minimum required is "3.0.0")
-- Found PythonInterp: C:/Users/CZB/AppData/Local/Programs/Python/Python36/python.exe (found suitable version "3.6.5", minimum required is "3.4.0")
-- Found PythonLibs: C:/Users/CZB/AppData/Local/Programs/Python/Python36/libs/python36.lib (found suitable version "3.6.5", minimum required is "3.4.0")
CMake Error at cmake/FindSIP.cmake:64 (MESSAGE):
Could not find SIP
Call Stack (most recent call first):
CMakeLists.txt:23 (find_package)

-- Configuring incomplete, errors occurred!
See also "D:/WORK/CURA/Compile Document/Source File/libArcus-2/build/CMakeFiles/CMakeOutput.log".
#################################
How can I solve the problem? sincerely for help

SIGPIPE crashes program

In a program of which the details I can't disclose, I am having trouble with the following error. This is the output of GDB:

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x6f046440 (LWP 6734)]
0x76e3ea50 in send () at ../sysdeps/unix/syscall-template.S:81
81  ../sysdeps/unix/syscall-template.S: No such file or directory.
(gdb) bt
#0  0x76e3ea50 in send () at ../sysdeps/unix/syscall-template.S:81
#1  0x76d617ac in Arcus::SocketPrivate::checkConnectionState() ()
   from /usr/lib/libArcus.so.0
#2  0x76d60dde in Arcus::SocketPrivate::run() ()
   from /usr/lib/libArcus.so.0
#3  0x76d61d94 in Arcus::Socket::listen(std::string const&, int)::{lambda()#1}::operator()() const ()     from /usr/lib/libArcus.so.0
#4  0x76d63826 in void std::_Bind_simple<Arcus::Socket::listen(std::string const&, int)::{lambda()#1} ()>::_M_invoke<>(std::_Index_tuple<>) ()
   from /usr/lib/libArcus.so.0
#5  0x76d63720 in std::_Bind_simple<Arcus::Socket::listen(std::string const&, int)::{lambda()#1} ()>::operator()() () from /usr/lib/libArcus.so.0
#6  0x76d63662 in std::thread::_Impl<std::_Bind_simple<Arcus::Socket::listen(std::string const&, int)::{lambda()#1} ()> >::_M_run() ()
   from /usr/lib/libArcus.so.0
#7  0x76e01118 in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Is there a way to catch this, or prevent this SIGPIPE from interrupting the program? It seems to check in a UNIX system directory that normally contains the connection to the other side, but if that connection is gone, the file won't exist which causes it to crash.
It's worth noting that unlike Cura, this application is not working with local ports but actually connects to a remote device.

The stack trace doesn't indicate it, but at position #1 the error seems to occur at line 509 in Socket_p.h.

nmake Building error

[ 4%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.obj
Socket.cpp
c:\apps\libarcus\src\Types.h(38) : error C2039: 'shared_ptr' : is not a member of 'std'
c:\apps\libarcus\src\Types.h(38) : error C2143: syntax error : missing ';' before '<'
c:\apps\libarcus\src\Types.h(38) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\apps\libarcus\src\Socket.h(128) : error C2061: syntax error : identifier 'MessagePtr'
c:\apps\libarcus\src\Socket.h(133) : error C2146: syntax error : missing ';' before identifier 'takeNextMessage'
c:\apps\libarcus\src\Socket.h(133) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\apps\libarcus\src\Socket.h(133) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\apps\libarcus\src\Socket.h(133) : warning C4183: 'takeNextMessage': missing return type; assumed to be a member function returning 'int'
c:\apps\libarcus\src\Socket.h(140) : error C2146: syntax error : missing ';' before identifier 'createMessage'
c:\apps\libarcus\src\Socket.h(140) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\apps\libarcus\src\Socket.h(140) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\apps\libarcus\src\Socket.h(140) : warning C4183: 'createMessage': missing return type; assumed to be a member function returning 'int'
c:\apps\libarcus\src\Socket.h(148) : error C2039: 'unique_ptr' : is not a member of 'std'
c:\apps\libarcus\src\Socket.h(148) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\apps\libarcus\src\Socket.h(148) : error C2143: syntax error : missing ';' before '<'
c:\apps\libarcus\src\Socket.h(148) : error C2238: unexpected token(s) preceding ';'
c:\apps\libarcus\src\Socket_p.h(19) : fatal error C1083: Cannot open include file: 'thread': No such file or directory

Windows install: no make file

libarcus_cmake
libarcvus_visualstudi

When attempting to install libArcus on Windows 8.1 (using MinGW / MSys) after running CMAKE, there are no make files generated so the MAKE command fails (Step 3 in the the BUILDING section of the readme). It looks like Visual Studio solutions and projects are created.

When attempting to build the Arcus.sln file via Visual Studio, it keeps throwing Unresolved Externals errors in relation to protobuf even though I followed the Protobuf install directions with no errors.

build.make:69: *** missing separator. Stop.

Trying to compile libArcus on OSX 10.11.6 and getting this error.

$: cmake .. -DPYTHON_LIBRARY=/usr/local/Cellar/python3/3.5.2/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib

-- Found SIP version: Unable to import sipconfig and determine your sip configuration.

-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   Arcus

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/user/projects/CuraEngine/libArcus/build

Error:

make
[ 27%] Built target Arcus
CMakeFiles/python_module_Arcus.dir/build.make:69: *** missing separator.  Stop.
make[1]: *** [CMakeFiles/python_module_Arcus.dir/all] Error 2
make: *** [all] Error 2

LibArcus -Unable to import sipconfig

Hi Guys
today, I have installed Protobuf and cmake LibArcus, then I want to make it, but error occur, just as the following:
image

Can anybody help me, please?

Thanks in advance

Make failed in Windows

cmake succeeded:

$ cmake -DCMAKE_C_COMPILER=/mingw64/bin/gcc.exe -DCMAKE_CXX_COMPILER=/mingw64/bin/g++.exe .. -G "MSYS Makefiles"
-- The C compiler identification is GNU 5.2.0
-- The CXX compiler identification is GNU 5.2.0
-- Check for working C compiler: D:/Environment/Msys2/mingw64/bin/gcc.exe
-- Check for working C compiler: D:/Environment/Msys2/mingw64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: D:/Environment/Msys2/mingw64/bin/g++.exe
-- Check for working CXX compiler: D:/Environment/Msys2/mingw64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PROTOBUF: D:/Environment/Msys2/usr/lib/libprotobuf.dll.a
-- Found PythonInterp: D:/Environment/Msys2/usr/bin/python3.4.exe (found suitable version "3.4.3", minimum required is "3.4.0")
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Workspace/Vagrant/libArcus/bui

Make failed:

$ make
Scanning dependencies of target Arcus
[ 12%] Building CXX object CMakeFiles/Arcus.dir/src/Socket.cpp.obj
In file included from D:/Workspace/Vagrant/libArcus/src/Socket.cpp:20:0:
D:/Workspace/Vagrant/libArcus/src/Socket_p.h: In member function 'void Arcus::SocketPrivate::error(std::__cxx11::string)':
D:/Workspace/Vagrant/libArcus/src/Socket_p.h:150:23: error: 'socketId' was not declared in this scope
         ::closesocket(socketId);
                       ^
D:/Workspace/Vagrant/libArcus/src/Socket_p.h: In member function 'void Arcus::SocketPrivate::run()':
D:/Workspace/Vagrant/libArcus/src/Socket_p.h:227:35: error: 'socketId' was not declared in this scope
                     ::closesocket(socketId);
                                   ^
D:/Workspace/Vagrant/libArcus/src/Socket_p.h:278:35: error: 'socketId' was not declared in this scope
                     ::closesocket(socketId);
                                   ^
CMakeFiles/Arcus.dir/build.make:62: recipe for target 'CMakeFiles/Arcus.dir/src/Socket.cpp.obj' failed
make[2]: *** [CMakeFiles/Arcus.dir/src/Socket.cpp.obj] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/Arcus.dir/all' failed
make[1]: *** [CMakeFiles/Arcus.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Building Protobuf on Windows

Hi Guys,

I am using the tutorial "Installing Protobuf on Windows C++" to build Protobuf using MinGW. But in Step "$ ./configure", I find "stdint.h" and "inttypes.h" are not found. At the next step "$ mingw32-make", it reports error: "./google/protobuf/stubs/port.h:44:20: stdint.h: No such file or directory."
Does anybody have the similar problem? (I am new to MinGW, should I copy and cover C:\MinGW\include to C:\MinGW\C:\MinGW\msys\1.0\include ?)
My protobuf locates at C:\MinGW\msys\1.0\local\protobuf-master.
Thanks in advance.

Ding

issues when developing protobuf on win10

hi, I am very new to this.
when I am trying to install protobuf, I run autogen.sh, and I got this

$ ./autogen.sh
++ autoreconf -f -i -Wall,no-obsolete
Can't locate Autom4te/ChannelDefs.pm in @inc (you may need to install the Autom4 te::ChannelDefs module) (@inc contains: /mingw/share/autoconf /usr/lib/perl5/sit e_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/ve ndor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /c/MinGW/bin /autoreconf-2.68 line 40.
BEGIN failed--compilation aborted at /c/MinGW/bin/autoreconf-2.68 line 40.

can anyone help me with that? thanks in advance

tag a 1.1.0 release please

Please tag a 2.1.0 release to go along with all the other 2.1.0 releases for the other bits of the software stack: uranium, cura etc.

libArcus can't find python3 in /usr/local/bin for mac

I have installed python3 in /usr/local/bin on mac and libArcus comaplains of not having correct version of python.
Could NOT find PythonInterp: Found unsuitable version "2.7.10", but required is at least "3.4.0" (found /usr/bin/python)

I am not able to create symlink as well ... because of El Capitan. Is there a way to tell libArcus to find python3 in a particular dir/path?

libArcus make error in Windows

I installed protobuf and run cmake .. here is what I have
D:\VS\VC>cd D:\Engine\libArcus-2.6\build

D:\Engine\libArcus-2.6\build>cmake ..
-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: D:/VS/VC/bin/cl.exe
-- Check for working C compiler: D:/VS/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: D:/VS/VC/bin/cl.exe
-- Check for working CXX compiler: D:/VS/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at C:/Program Files (x86)/CMake/share/cmake-3.8/Modules/FindProtobuf.cmake:387 (message):
Protobuf compiler version doesn't match library version 3.3.0
Call Stack (most recent call first):
CMakeLists.txt:17 (find_package)

-- Found Protobuf: D:/Engine/protobuf-3.3.0/install/x86/release/lib/libprotobufd.lib (found suitable version "3.3.0", minimum required is "3.0.0")
-- Found PythonInterp: D:/python 3.5/python.exe (found suitable version "3.5.3", minimum required is "3.4.0")
-- Found PythonLibs: D:/python 3.5/libs/python35.lib (found suitable version "3.5.3", minimum required is "3.4.0")
-- Found SIP version: 4.19.1
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Engine/libArcus-2.6/build

D:\Engine\libArcus-2.6\build>mingw32-make
mingw32-make: *** No targets specified and no makefile found. Stop.

I am not sure why it's not working for mingw32-make? anyone can help?

LibArcus - Ubuntu 14.04

Hi Guys,

I want to build the library. I installed libtool (sudo apt-get install libtool) and I followed the steps to install protobuf.
But when I try to build the library i have this problem.
image

However, I already did these steps:
Navigate to protobuf-master/python
sudo apt-get install python3-setuptools
sudo python3 setup.py build
sudo python3 setup.py install

Can anybody help me, please?

Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.