Skip to content
This repository was archived by the owner on Jul 8, 2022. It is now read-only.

Commit 7a7c857

Browse files
committed
Install.md: Update regarding zmq/cppzmq
We don't have the old problems with the void* conversion anymore. Now we want to explain to the user in detail how to install cppzmq for the cppTango repository and when installed via the tango source distribution.
1 parent 490fa22 commit 7a7c857

File tree

1 file changed

+12
-23
lines changed

1 file changed

+12
-23
lines changed

INSTALL.md

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,30 +44,9 @@ Typical output:
4444
-- Installing: /storage/Projects/org.tango/git/cppTango/build/install/include/idl/tango.h
4545
```
4646

47-
## Ubuntu 16.04 compilation problem
47+
## Installing required cppzmq version on older systems
4848

49-
When compiling on Ubuntu 16.04 or on Debian stretch, the following error can occur:
50-
51-
```
52-
[ 17%] Building CXX object cppapi/client/CMakeFiles/client_objects.dir/zmqeventconsumer.cpp.o
53-
/home/ingvord/Projects/org.tango/git/cppTango/cppapi/client/zmqeventconsumer.cpp: In member function ‘virtual void* Tango::ZmqEventConsumer::run_undetached(void*)’:
54-
/home/ingvord/Projects/org.tango/git/cppTango/cppapi/client/zmqeventconsumer.cpp:186:18: error: cannot convert ‘zmq::socket_t’ to ‘void*’ in assignment
55-
items[0].socket = *control_sock;
56-
^
57-
/home/ingvord/Projects/org.tango/git/cppTango/cppapi/client/zmqeventconsumer.cpp:187:18: error: cannot convert ‘zmq::socket_t’ to ‘void*’ in assignment
58-
items[1].socket = *heartbeat_sub_sock;
59-
^
60-
/home/ingvord/Projects/org.tango/git/cppTango/cppapi/client/zmqeventconsumer.cpp:188:18: error: cannot convert ‘zmq::socket_t’ to ‘void*’ in assignment
61-
items[2].socket = *event_sub_sock;
62-
^
63-
/home/ingvord/Projects/org.tango/git/cppTango/cppapi/client/zmqeventconsumer.cpp: In member function ‘bool Tango::ZmqEventConsumer::process_ctrl(zmq::message_t&, zmq::pollitem_t*, int&)’:
64-
/home/ingvord/Projects/org.tango/git/cppTango/cppapi/client/zmqeventconsumer.cpp:1063:47: error: cannot convert ‘zmq::socket_t’ to ‘void*’ in assignment
65-
poll_list[old_poll_nb].socket = *tmp_sock;
66-
```
67-
68-
This is due to incompatibility of zmq.hpp file provided in libzmq3-dev:4.1.7
69-
(ubuntu 16.04), i.e. it is not possible to compile cppTango using zmq.hpp file
70-
provided by libzmq3-dev:4.1.7 (ubuntu 16.04).
49+
On some debian versions, 7 (wheezy) and older, there is no compatible cppzmq version available.
7150

7251
This requires installing [cppzmq](https://github.com/zeromq/cppzmq) via:
7352

@@ -80,6 +59,16 @@ cmake -DENABLE_DRAFTS=OFF -DCPPZMQ_BUILD_TESTS=OFF ..
8059
sudo make install
8160
```
8261

62+
And then pass `-DCPPZMQ_BASE=/usr/local` to cmake or use
63+
64+
```
65+
mkdir build
66+
cd build
67+
configure CXXFLAGS="-I /usr/local/include" ..
68+
```
69+
70+
when compiling via the tango source distribution.
71+
8372
# Using pkg-config
8473

8574
Once installed cppTango provides [pkg-config](https://en.wikipedia.org/wiki/Pkg-config) file `tango.pc`

0 commit comments

Comments
 (0)