On Sun, Sep 20, 2015 at 2:35 AM, Jeff Epler <jep...@unpythonic.net> wrote: > It looks like you're missing some python-related packages, namely the > one that provides pyconfig.h and the one that provides _tkinter.so.
Yes I got that far. Why does the compile bomb when I try to build with out python? > On my Debian Jessie system the relevant packages seem to be > libpython2.7-dev: /usr/include/python2.7/pyconfig.h > python-tk: /usr/lib/python2.7/lib-dynload/_tkinter.so > but different OSes and releases may have different package names. I am running gentoo, the -r1 figures on the end of the packages are just releases of the ebuilds to install them. dev-lang/python-3.4.1 dev-lang/python-3.3.5-r1 dev-lang/python-2.7.7 Boost was built with out python support. dev-util/boost-build-1.56.0 dev-libs/boost-1.56.0-r1:0/1.56.0 (The double version number is because I have it installed in two slots. One for each python 3.4.1 and one for 2.7.7) src $ ./configure --enable-simulator --without-libmodbus --with-tkConfig=/usr/lib64/tkConfig.sh --with-tclconfig=/usr/lib64/tclConfig.sh configure: WARNING: unrecognized options: --with-tclconfig checking build toplevel... /home/user1/Documents/build/linuxcnc-a5a1937 checking installation prefix... run in place checking for grep... /bin/grep checking for egrep... /bin/egrep checking for RT dir... configure: WARNING: --enable-simulator is deprecated. Use --with-realtime=uspace instead. Using userspace realtime checking whether to enable userspace PCI access... yes checking for libudev... yes - version 216 checking for cc version... not specified checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for usability of rdtscll from asm/msr.h... no checking for usability of linux/hidraw.h... yes checking for libusb-1.0... yes checking for module installation directory... configuring for run-in-place /home/user1/Documents/build/linuxcnc-a5a1937/rtlib checking for glib... yes - 2.42.2 checking for GTK 2.4.0 or above... yes - 2.24.24 checking for libgnomeprintui-2.2... no -- printing from classicladder will not be possible checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whether g++ supports C++11 features by default... no checking whether g++ supports C++11 features with -std=c++11... yes checking whether make sets $(MAKE)... yes checking for ranlib... ranlib checking for ar... /usr/bin/ar checking for install... /usr/bin/install checking for sed... /bin/sed checking for ps... /bin/ps checking for kill... /bin/kill checking for whoami... /usr/bin/whoami checking for awk... /usr/bin/awk checking for insmod... /sbin/insmod checking for rmmod... /sbin/rmmod checking for lsmod... /bin/lsmod checking for pidof... /bin/pidof checking for ipcs... /usr/bin/ipcs checking for fuser... /bin/fuser checking for mandb... /usr/bin/mandb checking for python... /usr/bin/python checking whether to build documentation... no checking for grep that handles long lines and -e... (cached) /bin/grep checking for egrep... (cached) /bin/egrep checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for semtimedop... yes checking for sincos function... yes checking for __sincos... no checking for tcl... /usr/lib64/tclConfig.sh found checking for tk... /usr/lib64/tkConfig.sh found checking whether to check for runtime dependencies... yes checking for BWidget using /usr/bin/tclsh8.5... found checking for BLT using tclsh8.5... found checking for img::png using /usr/bin/tclsh8.5... found checking for tclX using /usr/bin/tclsh8.5... found checking for X... libraries , headers checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking X11/extensions/Xinerama.h usability... yes checking X11/extensions/Xinerama.h presence... yes checking for X11/extensions/Xinerama.h... yes checking for XineramaQueryExtension in -lXinerama... yes checking for X11/Xaw/XawInit.h... yes checking for XawDialogGetValueString in -lXaw... yes checking readline/readline.h usability... yes checking readline/readline.h presence... yes checking for readline/readline.h... yes checking readline/history.h usability... yes checking readline/history.h presence... yes checking for readline/history.h... yes Trying readline without -ltermcap checking for readline in -lreadline... yes Trying readline with -ltermcap checking for readline in -lreadline... no Readline does not require -ltermcap checking ncurses.h usability... yes checking ncurses.h presence... yes checking for ncurses.h... yes checking for initscr in -lncurses... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for setlocale... yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking for gettext in -lintl... no checking for xgettext... /usr/bin/xgettext checking for xgettext tcl bug... xgettext version 0.19.3 OK checking for msgfmt... /usr/bin/msgfmt checking for --tcl support in msgfmt... yes checking for Python support... yes checking python version... OK checking version of python libraries... python2.7 checking match between tk and Tkinter versions... Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named _tkinter Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named _tkinter TCL mismatch: 8.5 vs configure: error: Python requires use of Tcl and Tk . Install this version and specify --with-tclConfig and --with-tkConfig if necessary I think this is because of the multiple python installs. It can not handle that correctly. Looking at what happens when you build it with python turned off. src $ ./configure --enable-simulator --without-libmodbus --disable-python checking build toplevel... /home/user1/Documents/build/linuxcnc-a5a1937 checking installation prefix... run in place checking for grep... /bin/grep checking for egrep... /bin/egrep checking for RT dir... configure: WARNING: --enable-simulator is deprecated. Use --with-realtime=uspace instead. Using userspace realtime checking whether to enable userspace PCI access... yes checking for libudev... yes - version 216 checking for cc version... not specified checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for usability of rdtscll from asm/msr.h... no checking for usability of linux/hidraw.h... yes checking for libusb-1.0... yes checking for module installation directory... configuring for run-in-place /home/user1/Documents/build/linuxcnc-a5a1937/rtlib checking for glib... yes - 2.42.2 checking for GTK 2.4.0 or above... yes - 2.24.24 checking for libgnomeprintui-2.2... no -- printing from classicladder will not be possible checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whether g++ supports C++11 features by default... no checking whether g++ supports C++11 features with -std=c++11... yes checking whether make sets $(MAKE)... yes checking for ranlib... ranlib checking for ar... /usr/bin/ar checking for install... /usr/bin/install checking for sed... /bin/sed checking for ps... /bin/ps checking for kill... /bin/kill checking for whoami... /usr/bin/whoami checking for awk... /usr/bin/awk checking for insmod... /sbin/insmod checking for rmmod... /sbin/rmmod checking for lsmod... /bin/lsmod checking for pidof... /bin/pidof checking for ipcs... /usr/bin/ipcs checking for fuser... /bin/fuser checking for mandb... /usr/bin/mandb checking for python... /usr/bin/python checking whether to build documentation... no checking for grep that handles long lines and -e... (cached) /bin/grep checking for egrep... (cached) /bin/egrep checking for ANSI C header files... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for semtimedop... yes checking for sincos function... yes checking for __sincos... no checking for tcl... /usr/lib64/tclConfig.sh found checking for tk... /usr/lib64/tkConfig.sh found checking whether to check for runtime dependencies... yes checking for BWidget using /usr/bin/tclsh8.5... found checking for BLT using tclsh8.5... found checking for img::png using /usr/bin/tclsh8.5... found checking for tclX using /usr/bin/tclsh8.5... found checking for X... libraries , headers checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking X11/extensions/Xinerama.h usability... yes checking X11/extensions/Xinerama.h presence... yes checking for X11/extensions/Xinerama.h... yes checking for XineramaQueryExtension in -lXinerama... yes checking for X11/Xaw/XawInit.h... yes checking for XawDialogGetValueString in -lXaw... yes checking readline/readline.h usability... yes checking readline/readline.h presence... yes checking for readline/readline.h... yes checking readline/history.h usability... yes checking readline/history.h presence... yes checking for readline/history.h... yes Trying readline without -ltermcap checking for readline in -lreadline... yes Trying readline with -ltermcap checking for readline in -lreadline... no Readline does not require -ltermcap checking ncurses.h usability... yes checking ncurses.h presence... yes checking for ncurses.h... yes checking for initscr in -lncurses... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for setlocale... yes checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking for gettext in -lintl... no checking for xgettext... /usr/bin/xgettext checking for xgettext tcl bug... xgettext version 0.19.3 OK checking for msgfmt... /usr/bin/msgfmt checking for --tcl support in msgfmt... yes checking for Python support... no checking libgl1-mesa-dri workaround... not required configure: creating ./config.status config.status: creating ../scripts/rtapi.conf config.status: creating ../scripts/linuxcnc config.status: creating ../scripts/halrun config.status: creating ../scripts/rip-environment config.status: creating ../scripts/haltcl config.status: creating ../scripts/realtime config.status: creating ../scripts/linuxcnc_var config.status: creating Makefile.inc config.status: creating Makefile.modinc config.status: creating ../tcl/linuxcnc.tcl config.status: creating ../lib/python/nf.py config.status: creating ../scripts/linuxcncmkdesktop config.status: creating ../share/applications/linuxcnc-latency.desktop config.status: creating ../share/applications/linuxcnc.desktop config.status: creating ../share/desktop-directories/cnc.directory config.status: creating ../share/menus/CNC.menu config.status: creating config.h config.status: config.h is unchanged ###################################################################### # LinuxCNC - Enhanced Machine Controller # ###################################################################### # # # LinuxCNC is a software system for computer control of machine # # tools such as milling machines. LinuxCNC is released under the # # GPL. Check out http://www.linuxcnc.org/ for more details. # # # # # # It seems that ./configure completed successfully. # # This means that RT is properly installed # # If things don't work check config.log for errors & warnings # # # # Next compile by typing # # make # # sudo make setuid # # (if realtime behavior and hardware access are required) # # # # Before running the software, set the environment: # # . (top dir)/scripts/rip-environment # # # # To run the software type # # linuxcnc # # # ###################################################################### so it should build but this is the tail of make In file included from /usr/include/boost/python/detail/prefix.hpp:13:0, from /usr/include/boost/python/args.hpp:8, from /usr/include/boost/python.hpp:11, from emc/rs274ngc/interp_internal.hh:16, from emc/rs274ngc/rs274ngc_interp.hh:20, from emc/task/emctask.cc:29: /usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory compilation terminated. make: *** [objects/emc/task/emctask.o] Error 1 Compiling emc/task/emctask.cc Makefile:215: recipe for target 'objects/emc/task/emctask.o' failed Am I right in thinking that it is still trying to use python bindings in boost? (I am not a python guy) > I will happily review a patch to detect this in configure and give a > more useful error message. > > Jeff > > ------------------------------------------------------------------------------ > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users -- Home http://evanfoss.googlepages.com/ Work http://forge.abcd.harvard.edu/gf/project/epl_engineering/wiki/ ------------------------------------------------------------------------------ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users