*SOLVED* Recompiling genhexkins

More
12 Jan 2012 12:56 #16651 by andypugh
honey wrote:

The file armkins.ko continues to be copied in /usr/realtime-2.6.32-122-rtai/modules/emc2/

That's quite odd.

If you put the file in emc2-dev/src/emc/kinematics and then run "make" in emc2-dev/src does it get compiled?

Please Log in or Create an account to join the conversation.

More
13 Jan 2012 08:55 #16708 by honey

andypugh wrote:
If you put the file in emc2-dev/src/emc/kinematics and then run "make" in emc2-dev/src does it get compiled?


The result when run "make" in emc2-dev/src is:

cnc@emco:~$ cd emc2-dev/src
cnc@emco:~/emc2-dev/src$ make
make: ingresso nella directory «/home/cnc/emc2-dev/src»
if [ -f config.status ]; then ./config.status --recheck; else \
echo 1>&2 "*** emc2 is not configured. Run './configure' with appropriate flags."; \
exit 1; \
fi
running CONFIG_SHELL=/bin/bash /bin/bash ./configure --enable-run-in-place --no-create --no-recursion
checking build toplevel... /home/cnc/emc2-dev
checking installation prefix... run in place
checking for grep... /bin/grep
checking for egrep... /bin/egrep
checking for RT dir... Using /usr/realtime-2.6.32-122-rtai/bin/rtai-config as the RT signature
checking for location of kernel headers... using value from RTS: /usr/src/linux-headers-2.6.32-122-rtai
checking for cc version... found gcc in rtai-config
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 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/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking /usr/src/linux-headers-2.6.32-122-rtai/include/linux/version.h usability... yes
checking /usr/src/linux-headers-2.6.32-122-rtai/include/linux/version.h presence... yes
checking for /usr/src/linux-headers-2.6.32-122-rtai/include/linux/version.h... yes
checking for kernel version string... 2.6.32-122-rtai
checking for kernel module extension... .ko
checking kernel build system... kbuild
checking for module installation directory... configuring for run-in-place
/home/cnc/emc2-dev/rtlib
configure: WARNING: --enable-run-in-place will be removed soon.
Configure without specifying --prefix to get a run-in-place build.
checking for glib... yes - 2.24.1
checking for GTK 2.4.0 or above... yes - 2.20.1
checking for libgnomeprintui-2.2... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for g++... /usr/bin/g++
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... /sbin/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 kernel math support... ok, using RTAI's libm kernel module
checking for adeos... not found
checking for rtai_hal... /usr/realtime-2.6.32-122-rtai/modules/rtai_hal.ko
checking for rtai_ksched... /usr/realtime-2.6.32-122-rtai/modules/rtai_ksched.ko
checking for rtai_fifos... /usr/realtime-2.6.32-122-rtai/modules/rtai_fifos.ko
checking for rtai_shm... not found
checking for rtai_sem... /usr/realtime-2.6.32-122-rtai/modules/rtai_sem.ko
checking for rtai_math... /usr/realtime-2.6.32-122-rtai/modules/rtai_math.ko
checking for rtai... not found
checking for rt_mem_mgr... not found
checking for rtai_sched... /usr/realtime-2.6.32-122-rtai/modules/rtai_sched.ko
checking for rtai_libm... not found
checking for rtl... not found
checking for mbuff... not found
checking for rtl_time... not found
checking for rtl_sched... not found
checking for rtl_posixio... not found
checking for rtl_fifo... not found
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for semtimedop... yes
checking for sincos... yes
checking for __sincos... no
checking for tcl... /usr/lib/tcl8.5/tclConfig.sh found
checking for tk... /usr/lib/tk8.5/tkConfig.sh found
checking for BWidget using /usr/bin/tclsh8.5... found
checking for BLT using 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... yes
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.17 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.6
checking match between tk and Tkinter versions... 8.5
checking location of Python header files... /usr/include/python2.6
checking for Python headers... -I/usr/include/python2.6
checking for Python libraries... -lpthread -ldl -lutil
checking whether the Boost::Python headers are available... yes
checking for boost::python shared library... -lboost_python
checking /usr/include/python2.6/Python.h usability... yes
checking /usr/include/python2.6/Python.h presence... yes
checking for /usr/include/python2.6/Python.h... yes
checking for site-package location... /usr/lib/python2.6/dist-packages
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for glBegin in -lGL... yes
checking for working GLU quadrics... yes
checking for Xmu headers... checking X11/Xmu/Xmu.h usability... yes
checking X11/Xmu/Xmu.h presence... yes
checking for X11/Xmu/Xmu.h... yes
configure: creating ./config.status


######################################################################
# EMC2 - Enhanced Machine Controller #
######################################################################
# #
# EMC2 is a software system for computer control of machine tools, #
# such as milling machines. EMC2 is released under the GPL. #
# Check out 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 #
# #
# Before running the software, set the emc environment: #
# . (top dir)/scripts/emc-environment #
# #
# To run the software type #
# emc #
# #
######################################################################


config.status: creating Makefile.inc
Depending emc/usr_intf/axis/extensions/emcmodule.cc
config.status: creating ../docs/man/man1/emc.1
Depending emc.1
make: uscita dalla directory «/home/cnc/emc2-dev/src»
make: ingresso nella directory «/home/cnc/emc2-dev/src»
copying shared configs
make[1]: ingresso nella directory «/home/cnc/emc2-dev/src»
make[1]: Non c'è da fare nulla per «copy_configs»
make[1]: uscita dalla directory «/home/cnc/emc2-dev/src»
Compiling hal/classicladder/arithm_eval.c
Compiling hal/classicladder/arrays.c
Compiling hal/classicladder/calc.c
Compiling hal/classicladder/calc_sequential.c
Compiling hal/classicladder/classicladder.c
Compiling hal/classicladder/classicladder_gtk.c
Compiling hal/classicladder/config.c
Compiling hal/classicladder/config_gtk.c
Compiling hal/classicladder/drawing.c
Compiling hal/classicladder/drawing_sequential.c
Compiling hal/classicladder/edit.c
Compiling hal/classicladder/edit_gtk.c
Compiling hal/classicladder/edit_sequential.c
Compiling hal/classicladder/editproperties_gtk.c
Compiling hal/classicladder/emc_mods.c
Compiling hal/classicladder/files.c
Compiling hal/classicladder/files_project.c
Compiling hal/classicladder/files_sequential.c
Compiling hal/classicladder/manager.c
Compiling hal/classicladder/manager_gtk.c
Compiling hal/classicladder/protocol_modbus_master.c
Compiling hal/classicladder/protocol_modbus_slave.c
Compiling hal/classicladder/serial_linux.c
Compiling hal/classicladder/socket_modbus_master.c
Compiling hal/classicladder/socket_server.c
Compiling hal/classicladder/spy_vars_gtk.c
Compiling hal/classicladder/symbols.c
Compiling hal/classicladder/symbols_gtk.c
Compiling hal/classicladder/vars_names.c
Compiling hal/classicladder/vars_access.c
Compiling hal/utils/miscgtk.c
Compiling hal/classicladder/print_gnome.c
Linking classicladder
Compiling hal/utils/meter.c
Linking halmeter
Compiling hal/utils/scope.c
Compiling hal/utils/scope_horiz.c
Compiling hal/utils/scope_vert.c
Compiling hal/utils/scope_trig.c
Compiling hal/utils/scope_disp.c
Compiling hal/utils/scope_files.c
Linking halscope
make: *** Nessuna regola per creare l'obiettivo «hal/user_comps/vismach/hbmgui.py», necessario a «../bin/hbmgui». Arresto.
make: uscita dalla directory «/home/cnc/emc2-dev/src»
cnc@emco:~/emc2-dev/src$ sudo make setuid
[sudo] password for cnc:
make: ingresso nella directory «/home/cnc/emc2-dev/src»
chown root ../bin/emc_module_helper
chmod 4750 ../bin/emc_module_helper
chown root ../bin/pci_write
chmod 4750 ../bin/pci_write
chown root ../bin/pci_read
chmod 4750 ../bin/pci_read
make: uscita dalla directory «/home/cnc/emc2-dev/src»

It seems that there is some problems with hbmgui and the compiling is stopped! but this doesn't matter the file armkins.c. Maybe I should unistall and reinstall emc2? I don't understand why there are these problems....

Please Log in or Create an account to join the conversation.

More
13 Jan 2012 09:37 #16709 by honey
I run 'dmesg' for have more information and these are the most important lines:

[ 42.244935] matrox_w1 0000:01:00.0: putting AGP V2 device into 1x mode
[ 42.273439] [drm] Initialized card for AGP DMA.
[ 42.275794] platform mga_warp.0: firmware: requesting matrox/g400_warp.fw
[ 47.504037] eth1: no IPv6 routers present
[ 824.273583] I-pipe: Domain RTAI registered.
[ 824.273597] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 824.273603] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 824.273616] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 824.273621] PIPELINE layers:
[ 824.273627] f828de20 9ac15d93 RTAI 200
[ 824.273632] c085cb20 0 Linux 100
[ 824.325682] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 824.325891] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 824.325902] RTAI[sched]: hard timer type/freq = APIC/6229770(Hz); default timing: periodic; linear timed lists.
[ 824.325909] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1794414000 hz.
[ 824.325914] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[ 824.326076] RTAI[usi]: enabled.
[ 824.485918] RTAI[math]: loaded.
[ 824.666137] armkins: module license 'unspecified' taints kernel.
[ 824.666146] Disabling lock debugging due to kernel taint
[ 824.666430] armkins: Unknown symbol pmHomPoseConvert
[ 824.666656] armkins: Unknown symbol pmPoseHomConvert
[ 825.525107] RTAI[math]: unloaded.
[ 825.626731] SCHED releases registered named ALIEN RTGLBH
[ 825.640489] RTAI[malloc]: unloaded.
[ 825.740032] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 825.746252] I-pipe: Domain RTAI unregistered.
[ 825.746271] RTAI[hal]: unmounted.


Maybe armkins miss 'license'? I should add it? how?

Please Log in or Create an account to join the conversation.

More
13 Jan 2012 10:18 #16710 by andypugh
honey wrote:

[ 824.666137] armkins: module license 'unspecified' taints kernel.

This is only a minor issue, but you may want to add a line somewhere near the beginning
MODULE_LICENSE("GPL");
You will see that the other kins modules have it. However, you should only do this if you really do want to issue armkins under the terms of the GPL.

[ 824.666430] armkins: Unknown symbol pmHomPoseConvert
[ 824.666656] armkins: Unknown symbol pmPoseHomConvert

This looks like the problem, for some reason it isn't finding/including posemath.h. This seems odd, as you do have the line #include "posemath.h", which ought to do the trick.
You _could_ use an explicit path to the correct version of posemath.h and see if that helps:
#include "~/emc2-dev/src/libnml/posemath.h"
You will need to check that path, it's a guess. "../../libnml/posemath.h" might work too.
In both cases it will very much depend on where the kins/c file actually is.

Please Log in or Create an account to join the conversation.

More
13 Jan 2012 12:27 - 13 Jan 2012 12:36 #16718 by cncbasher
find attached your armkins file and my emc makefile
these work and compile fine
against 2.6.0 pre~

place armkins.c and armkins.h in emc-dev2/src/emc/kinematics
and replace your makefile in emc-dev2/src

and then rebuild as normal

dont forget to keep copy of your origionals

File Attachment:

File Name: holly.gz
File Size:12 KB
Attachments:
Last edit: 13 Jan 2012 12:36 by cncbasher.
The following user(s) said Thank You: wql6649

Please Log in or Create an account to join the conversation.

More
16 Jan 2012 09:04 #16803 by honey

cncbasher wrote:

find attached your armkins file and my emc makefile
these work and compile fine
against 2.6.0 pre~

place armkins.c and armkins.h in emc-dev2/src/emc/kinematics
and replace your makefile in emc-dev2/src

and then rebuild as normal

dont forget to keep copy of your origionals

So I should:
- place armkins.c and armkins.h in emc2-dev/src/emc/kinematics
- place the make file that you have attached me in emc2-dev/src
- and rebuild.
I should rebuild with only "make"? or I should use . ./scripts/emc-environment ?

Please Log in or Create an account to join the conversation.

More
16 Jan 2012 09:17 #16804 by cncbasher
you should use source ./scripts/emc-environment
and then build , i use a script file for this purpose it's easier than typing it out all the time

iv'e attached it here , you may need to modify to suit your needs

Please Log in or Create an account to join the conversation.

More
16 Jan 2012 09:20 #16805 by cncbasher
you should use source ./scripts/emc-environment
and then build , i use a script file for this purpose it's easier than typing it out all the time

iv'e attached it here , you may need to modify to suit your needs , it's simple enough

File Attachment:

File Name: build_emc.txt
File Size:0 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
16 Jan 2012 09:42 #16806 by honey
cncbasher wrote:

you should use source ./scripts/emc-environment
and then build , i use a script file for this purpose it's easier than typing it out all the time


How I should use this script? I am not so expert....

Please Log in or Create an account to join the conversation.

More
16 Jan 2012 09:50 #16807 by cncbasher
place in your home directory

in my case home/david
and my emc dev is placed in home/david/emc2-dev

if you right click on the script file make sure that under the permissions tab that Execute is ticked
then close

clicking on the script file now should give you the option to run
or alternatively just ./build-emc ( period . means execute the program ) from a terminal

Please Log in or Create an account to join the conversation.

Time to create page: 0.248 seconds
Powered by Kunena Forum