compile error: boost::python

896 views
Skip to first unread message

euerka

unread,
Dec 8, 2014, 6:56:11 AM12/8/14
to machi...@googlegroups.com
Dear all,

Recently I would like to update machinekit to latest version, so I tried to compile from source code on beaglebone black.

When I start ./configure
checking whether the Boost::Python headers are available... no
configure: error: boost::python is required to build LinuxCNC

Any idea? since I re-install libboost-python-dev already.

Thanks!
Best regards
-chengxi

Bas de Bruijn

unread,
Dec 8, 2014, 7:04:17 AM12/8/14
to euerka, machi...@googlegroups.com


On 08 Dec 2014, at 12:56, euerka <crazyin...@gmail.com> wrote:

Dear all,

Recently I would like to update machinekit to latest version, so I tried to compile from source code on beaglebone black.

When I start ./configure
checking whether the Boost::Python headers are available... no
configure: error: boost::python is required to build LinuxCNC


Did you follow these steps? 

Especially:
sudo scripts/apt-installbuilddeps

Bas

Any idea? since I re-install libboost-python-dev already.

Thanks!
Best regards
-chengxi

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at http://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

schoo...@btinternet.com

unread,
Dec 8, 2014, 7:04:19 AM12/8/14
to machi...@googlegroups.com
You need
libboost-python-dev
libboost-serialization-dev
libboost-thread-dev

that should pull in everything required

regards
> --
> website: http://www.machinekit.io blog: http://blog.machinekit.io
> github: https://github.com/machinekit
> ---
> You received this message because you are subscribed to the Google
> Groups "Machinekit" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to machinekit+...@googlegroups.com
> <mailto:machinekit+...@googlegroups.com>.

euerka

unread,
Dec 8, 2014, 6:12:54 PM12/8/14
to machi...@googlegroups.com


On Monday, 8 December 2014 20:04:17 UTC+8, Bas de Bruijn wrote:


On 08 Dec 2014, at 12:56, euerka <crazyin...@gmail.com> wrote:

Dear all,

Recently I would like to update machinekit to latest version, so I tried to compile from source code on beaglebone black.

When I start ./configure
checking whether the Boost::Python headers are available... no
configure: error: boost::python is required to build LinuxCNC


Did you follow these steps? 

 
I install every package by sudo apt-get install ***, or compile from source code. Everything works fine, only this boost::python got problem.
First time it can find boost::python header, but stuck in boost::python shared library, after that  header also can not be found.

I guess it need set environment value about boost.python directory .
Since I install libboost-python-dev in standard way. I don't know how to figure it out.

What's more, actually it works quite long time ago.

maybe I have to make SD image again?

John Morris

unread,
Dec 8, 2014, 6:18:35 PM12/8/14
to euerka, machi...@googlegroups.com


On 12/08/2014 05:12 PM, euerka wrote:
>
>
> On Monday, 8 December 2014 20:04:17 UTC+8, Bas de Bruijn wrote:
>
>
>
> On 08 Dec 2014, at 12:56, euerka <crazyin...@gmail.com
> <javascript:>> wrote:
>
>> Dear all,
>>
>> Recently I would like to update machinekit to latest version, so I
>> tried to compile from source code on beaglebone black.
>>
>> When I start ./configure
>> checking whether the Boost::Python headers are available... no
>> configure: error: boost::python is required to build LinuxCNC
>>
>
> Did you follow these steps?
> http://www.machinekit.io/docs/building-from-source/
> <http://www.google.com/url?q=http%3A%2F%2Fwww.machinekit.io%2Fdocs%2Fbuilding-from-source%2F&sa=D&sntz=1&usg=AFQjCNE0DWtO6XMokNyy9_lMjt6l2mI0oQ>
>
> I install every package by sudo apt-get install ***, or compile from
> source code. Everything works fine, only this boost::python got problem.
> First time it can find boost::python header, but stuck in boost::python
> shared library, after that header also can not be found.
>
> I guess it need set environment value about boost.python directory .
> Since I install libboost-python-dev in standard way. I don't know how to
> figure it out.
>
> What's more, actually it works quite long time ago.
>
> maybe I have to make SD image again?

Maybe. Or try putting your error messages into the email, or putting a
longer build log in a pastebin so someone can help.

John

euerka

unread,
Dec 9, 2014, 6:23:46 AM12/9/14
to machi...@googlegroups.com, crazyin...@gmail.com

Dear John,

Thanks for your reminder. I attached config.log file.
I also got some clues from http://markmail.org/message/o6avga6essi5hxos#query:+page:1+mid:psthgtspsbbwmvwa+state:results

I am trying to dig more.

-chengxi
config.log

euerka

unread,
Dec 16, 2014, 5:12:20 AM12/16/14
to machi...@googlegroups.com
Finally I solve boost::python issue by re-set up SD.
But I meet another problem when start to compile source code, it seems relate to libwebsockets.
ln -sf libmtalk.so.0 ../lib/libmtalk.so
ln -sf liblinuxcncini.so.0 ../lib/liblinuxcncini.so
Linking encdec
Compiling machinetalk/support/position.cc
Linking position
Compiling machinetalk/support/unionread.c
machinetalk/support/unionread.c: In function ‘print_container’:
machinetalk/support/unionread.c:41:10: warning: unused variable ‘eof’ [-Wunused-variable]
     bool eof;
          ^
Linking unionread
Compiling machinetalk/support/npbdecode.c
Linking npbdecode
cp machinetalk/include/container.h ../include/container.h
Compiling machinetalk/support/linmove.cc
Linking linmove
cp machinetalk/include/bin2ascii.hh ../include/bin2ascii.hh
cp machinetalk/include/czmq-watch.h ../include/czmq-watch.h
cp machinetalk/include/halpb.hh ../include/halpb.hh
cp machinetalk/include/inihelp.hh ../include/inihelp.hh
cp machinetalk/include/json2pb.hh ../include/json2pb.hh
cp machinetalk/include/ll-zeroconf.hh ../include/ll-zeroconf.hh
cp machinetalk/include/mk-zeroconf-types.h ../include/mk-zeroconf-types.h
cp machinetalk/include/mk-zeroconf.hh ../include/mk-zeroconf.hh
cp machinetalk/include/pb-linuxcnc.h ../include/pb-linuxcnc.h
cp machinetalk/include/pbutil.hh ../include/pbutil.hh
cp machinetalk/include/select_interface.h ../include/select_interface.h
cp machinetalk/include/setup_signals.h ../include/setup_signals.h
cp machinetalk/include/mk-backtrace.h ../include/mk-backtrace.h
cp machinetalk/include/syslog_async.h ../include/syslog_async.h
Compiling machinetalk/webtalk/webtalk_zeroconf.cc
Compiling machinetalk/webtalk/webtalk_wsproxy.cc
machinetalk/webtalk/webtalk_wsproxy.cc: In function ‘int serve_http(libwebsocket_context*, wtself_t*, libwebsocket*, void*, size_t)’:
machinetalk/webtalk/webtalk_wsproxy.cc:182:66: error: too many arguments to function ‘int libwebsockets_serve_http_file(libwebsocket_context*, libwebsocket*, const char*, const char*)’
     if (libwebsockets_serve_http_file(context, wsi, buf, mt, NULL))
                                                                  ^
In file included from machinetalk/webtalk/webtalk.hh:37:0,
                 from machinetalk/webtalk/webtalk_wsproxy.cc:13:
/usr/include/libwebsockets.h:861:1: note: declared here
 libwebsockets_serve_http_file(struct libwebsocket_context *context,
 ^
machinetalk/webtalk/webtalk_wsproxy.cc: In function ‘int callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)’:
machinetalk/webtalk/webtalk_wsproxy.cc:245:62: error: ‘WSI_TOKEN_HTTP_URI_ARGS’ was not declared in this scope
      int arglen = lws_hdr_copy(wsi, uriargs, sizeof uriargs, WSI_TOKEN_HTTP_URI_ARGS);
                                                              ^
machinetalk/webtalk/webtalk_wsproxy.cc:422:33: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      short zevents = poll2zmq(pa->events);
                                 ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:423:38: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      zmq_pollitem_t additem = { 0, pa->fd, zevents };
                                      ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:433:38: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      zmq_pollitem_t delitem = { 0, pa->fd, 0 };
                                      ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:438:10: error: ‘LWS_CALLBACK_CHANGE_MODE_POLL_FD’ was not declared in this scope
     case LWS_CALLBACK_CHANGE_MODE_POLL_FD:
          ^
machinetalk/webtalk/webtalk_wsproxy.cc:440:12: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      if (pa->prev_events == pa->events) // nothing to do
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:440:31: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      if (pa->prev_events == pa->events) // nothing to do
                               ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:444:35: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      zmq_pollitem_t item = { 0, pa->fd, 0 };
                                   ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
machinetalk/webtalk/webtalk_wsproxy.cc:448:31: error: invalid use of incomplete type ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
      item.events = poll2zmq(pa->events);
                               ^
machinetalk/webtalk/webtalk_wsproxy.cc:199:12: error: forward declaration of ‘struct callback_http(libwebsocket_context*, libwebsocket*, libwebsocket_callback_reasons, void*, void*, size_t)::libwebsocket_pollargs’
     struct libwebsocket_pollargs *pa = (struct libwebsocket_pollargs *)in;
            ^
make: *** [objects/machinetalk/webtalk/webtalk_wsproxy.o] Error 1
make: Leaving directory `/home/ubuntu/machinekit/src'

I appreciated if there are any advise.

Michael Haberler

unread,
Dec 16, 2014, 10:39:31 AM12/16/14
to euerka, machi...@googlegroups.com


> Am 16.12.2014 um 11:12 schrieb euerka <crazyin...@gmail.com>:
>
> Finally I solve boost::python issue by re-set up SD.
> But I meet another problem when start to compile source code, it seems relate to libwebsockets.

you are using an unsuitable version of libwebsockets-dev. I have no idea how you arrived at this with "by re-set up SD" as a fresh SD image should carry a suitable version. It is impossible to help you with the level of detail and history you provide.

This version I have installed and works, note it is from the deb.dovetail-automata.com repository:


# apt-cache showpkg libwebsockets-dev
Package: libwebsockets-dev
Versions:
2.2.git95a8abb-0.2da~git95a8abb~wheezy1 (/var/lib/apt/lists/deb.dovetail-automata.com_dists_wheezy_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/deb.dovetail-automata.com_dists_wheezy_main_binary-i386_Packages
MD5: 80b560ff7d2e76f17977506ffe8da836


Reverse Depends:
Dependencies:
2.2.git95a8abb-0.2da~git95a8abb~wheezy1 - libwebsockets3 (5 2.2.git95a8abb-0.2da~git95a8abb~wheezy1)
Provides:
2.2.git95a8abb-0.2da~git95a8abb~wheezy1 -
Reverse Provides:

euerka

unread,
Dec 16, 2014, 6:22:33 PM12/16/14
to machi...@googlegroups.com

Yes, you are right! I uninstall libwebsockets-dev
$sudo apt-get --purge libwebsockets-dev

and build from source, it works finally.
About re-setup SD, I am follow Robert Nelson's instruction < https://eewiki.net/display/linuxonarm/BeagleBone+Black >.

Compared with last time I build machinekit, I found this system expanding too much,more complicated and have to install much more package, even I have to make a 256M swap. Does it mean it will be easily to break down and became very slow, this is what I am worried.


Best regards!

Alexander Rössler

unread,
Aug 29, 2016, 4:27:11 PM8/29/16
to Machinekit
What was the solution for the Python Boost problem? I have the same problem on the CHIP running Debian Jessie.

Chen Chengxi

unread,
Aug 30, 2016, 9:50:25 AM8/30/16
to Alexander Rössler, Machinekit
What is your error in detail? If it run out of memory, you can make a swap to solve this issue.

-Chengxi
You received this message because you are subscribed to a topic in the Google Groups "Machinekit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/machinekit/3BzbZ3d9TWM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.

Alexander Rössler

unread,
Aug 30, 2016, 4:58:22 PM8/30/16
to Chen Chengxi, Alexander Rössler, Machinekit
Thanks, it was the virtual memory. The swap solution worked perfectly fine.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Reply all
Reply to author
Forward
0 new messages