Debian stretch 64Bit b&r Acopos VFD trouble
09 May 2019 15:00 - 09 May 2019 15:09 #133245
by BigDo
Debian stretch 64Bit b&r Acopos VFD trouble was created by BigDo
hi all,
i had linuxcnc installed on a ubuntu Precise 32Bit system and compiled the VFD Modbus HAL component for my B&R AcoposInverter S44 derived from git.mah.priv.at/gitweb/emc2-dev.git/shor...ads/altivar-vfd-comp (btw this link is dead) from wiki.linuxcnc.org/cgi-bin/wiki.pl?VFD_Modbus under 32 bit has also worked well. Now I have the new stretch 64 bit installed and get an error message:
I think I have to recompile the component for the 64 bit system but I do not know what I have to change.
Can anyone help me with that?
I tried to compile it but:
Niko
PS: By the way, the manufacturer of VFD of Bernecker + Rainer (B&R automation) probably Schneider Electric. Altivar VFD and AcoposInverter have the same menu structure
i had linuxcnc installed on a ubuntu Precise 32Bit system and compiled the VFD Modbus HAL component for my B&R AcoposInverter S44 derived from git.mah.priv.at/gitweb/emc2-dev.git/shor...ads/altivar-vfd-comp (btw this link is dead) from wiki.linuxcnc.org/cgi-bin/wiki.pl?VFD_Modbus under 32 bit has also worked well. Now I have the new stretch 64 bit installed and get an error message:
Found file (REL): ./custom.hal
Shutting down and cleaning up LinuxCNC ...
Killing task linuxcncsvr, PID = 6123
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Debug file information:
Note: Using POSIX realtime
./custom.hal:7: execv (BRacopos_vfd): Permission denied
./custom.hal:7: waitpid failed BRacopos_vfd spindle-vfd
./custom.hal:7: BRacopos_vfd exited without becoming ready
6123
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
I think I have to recompile the component for the 64 bit system but I do not know what I have to change.
Can anyone help me with that?
I tried to compile it but:
cnc@cnc:~/BRacopos_vfd$ make BRacopos_vfd
Makefile:43: Warnung: Die Befehle fur das Ziel „install“ werden uberschrieben
/usr/share/linuxcnc/Makefile.modinc:104: Warnung: Alte Befehle fur das Ziel „install“ werden ignoriert
gcc -o BRacopos_vfd .o/BRacopos_vfd.o .o/modbus.o -Wl,-rpath,/usr/lib -L/usr/lib -llinuxcnchal -lglib-2.0
/usr/bin/ld: i386 architecture of input file `.o/BRacopos_vfd.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `.o/modbus.o' is incompatible with i386:x86-64 output
collect2: error: ld returned 1 exit status
Makefile:47: die Regel fur Ziel „BRacopos_vfd“ scheiterte
make: *** [BRacopos_vfd] Fehler 1
Niko
PS: By the way, the manufacturer of VFD of Bernecker + Rainer (B&R automation) probably Schneider Electric. Altivar VFD and AcoposInverter have the same menu structure
Last edit: 09 May 2019 15:09 by BigDo.
Please Log in or Create an account to join the conversation.
09 May 2019 18:06 #133263
by andypugh
Replied by andypugh on topic Debian stretch 64Bit b&r Acopos VFD trouble
I haven't looked in any detail at your files (or, in fact, at all)
But have you tried compiling and installing the .c file with halcompile?
But have you tried compiling and installing the .c file with halcompile?
Please Log in or Create an account to join the conversation.
11 May 2019 11:20 - 13 May 2019 09:54 #133443
by BigDo
Replied by BigDo on topic Debian stretch 64Bit b&r Acopos VFD trouble
thx for answer andy.
I have precompiled 32Bit BRacopos_vfd component in /usr/bin but if I start linuxcnc i get an error message:
can i in general use 32Bit scripts under linux 64Bit?
after some changes i tried
halcompile --compile --userspace BRacoposS44.c
PS: after sudo apt-get install libmodbus-dev
the modbus header files were not in /usr/include where halcompile search for them but in /usr/include/modbus
I have precompiled 32Bit BRacopos_vfd component in /usr/bin but if I start linuxcnc i get an error message:
Debug file information:
Note: Using POSIX realtime
./custom.hal:7: execv(BRacopos_vfd): No such file or directory
./custom.hal:7: waitpid failed BRacopos_vfd spindle-vfd
./custom.hal:7: BRacopos_vfd exited without becoming ready
can i in general use 32Bit scripts under linux 64Bit?
after some changes i tried
halcompile --compile --userspace BRacoposS44.c
halcompile --compile --userspace BRacoposS44.c
gcc -Os -g -I. -I/build/linuxcnc-2.7.14/src/include -DUSPACE -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -Wframe-larger-than=2560 -DSIM -fPIC -URTAPI -U__MODULE__ -DULAPI -Os -o BRacoposS44 /tmp/tmpF0k_sg/BRacoposS44.c -Wl,-rpath,/lib -L/lib -llinuxcnchal
/tmp/ccCQE6MZ.o: In function `windup':
/tmp/tmpF0k_sg/BRacoposS44.c:222: undefined reference to `modbus_strerror'
/tmp/ccCQE6MZ.o: In function `findkwd':
/tmp/tmpF0k_sg/BRacoposS44.c:271: undefined reference to `iniFind'
/tmp/ccCQE6MZ.o: In function `read_ini':
/tmp/tmpF0k_sg/BRacoposS44.c:304: undefined reference to `iniFindInt'
/tmp/tmpF0k_sg/BRacoposS44.c:306: undefined reference to `iniFindInt'
/tmp/tmpF0k_sg/BRacoposS44.c:307: undefined reference to `iniFindInt'
/tmp/tmpF0k_sg/BRacoposS44.c:308: undefined reference to `iniFindInt'
/tmp/tmpF0k_sg/BRacoposS44.c:309: undefined reference to `iniFindInt'
/tmp/ccCQE6MZ.o:/tmp/tmpF0k_sg/BRacoposS44.c:310: more undefined references to `iniFindInt' follow
/tmp/ccCQE6MZ.o: In function `read_ini':
/tmp/tmpF0k_sg/BRacoposS44.c:317: undefined reference to `iniFind'
/tmp/ccCQE6MZ.o: In function `write_data':
/tmp/tmpF0k_sg/BRacoposS44.c:362: undefined reference to `modbus_write_register'
/tmp/tmpF0k_sg/BRacoposS44.c:374: undefined reference to `round'
/tmp/tmpF0k_sg/BRacoposS44.c:375: undefined reference to `round'
/tmp/tmpF0k_sg/BRacoposS44.c:409: undefined reference to `modbus_write_register'
/tmp/tmpF0k_sg/BRacoposS44.c:430: undefined reference to `modbus_write_register'
/tmp/ccCQE6MZ.o: In function `read_initial':
/tmp/tmpF0k_sg/BRacoposS44.c:453: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:459: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:460: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:461: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:462: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:478: undefined reference to `modbus_strerror'
/tmp/ccCQE6MZ.o: In function `read_data':
/tmp/tmpF0k_sg/BRacoposS44.c:496: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:501: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:504: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:520: undefined reference to `modbus_read_registers'
/tmp/tmpF0k_sg/BRacoposS44.c:524: undefined reference to `modbus_read_registers'
/tmp/ccCQE6MZ.o:/tmp/tmpF0k_sg/BRacoposS44.c:527: more undefined references to `modbus_read_registers' follow
/tmp/ccCQE6MZ.o: In function `read_data':
/tmp/tmpF0k_sg/BRacoposS44.c:557: undefined reference to `modbus_strerror'
/tmp/ccCQE6MZ.o: In function `toggle_modbus_debug':
/tmp/tmpF0k_sg/BRacoposS44.c:233: undefined reference to `modbus_set_debug'
/tmp/ccCQE6MZ.o: In function `windup':
/tmp/tmpF0k_sg/BRacoposS44.c:227: undefined reference to `modbus_close'
/tmp/ccCQE6MZ.o: In function `main':
/tmp/tmpF0k_sg/BRacoposS44.c:720: undefined reference to `modbus_new_rtu'
/tmp/tmpF0k_sg/BRacoposS44.c:721: undefined reference to `modbus_strerror'
/tmp/tmpF0k_sg/BRacoposS44.c:726: undefined reference to `modbus_set_slave'
/tmp/tmpF0k_sg/BRacoposS44.c:730: undefined reference to `modbus_connect'
/tmp/tmpF0k_sg/BRacoposS44.c:731: undefined reference to `modbus_strerror'
/tmp/tmpF0k_sg/BRacoposS44.c:736: undefined reference to `modbus_set_debug'
/tmp/tmpF0k_sg/BRacoposS44.c:737: undefined reference to `modbus_set_slave'
/tmp/tmpF0k_sg/BRacoposS44.c:781: undefined reference to `modbus_flush'
/tmp/tmpF0k_sg/BRacoposS44.c:783: undefined reference to `modbus_write_register'
/tmp/tmpF0k_sg/BRacoposS44.c:785: undefined reference to `modbus_strerror'
/tmp/tmpF0k_sg/BRacoposS44.c:798: undefined reference to `modbus_flush'
/tmp/tmpF0k_sg/BRacoposS44.c:799: undefined reference to `modbus_close'
/tmp/tmpF0k_sg/BRacoposS44.c:803: undefined reference to `modbus_connect'
/tmp/tmpF0k_sg/BRacoposS44.c:807: undefined reference to `modbus_strerror'
collect2: error: ld returned 1 exit status
Makefile:2: die Regel für Ziel „BRacoposS44“ scheiterte
make: *** [BRacoposS44] Fehler 1
PS: after sudo apt-get install libmodbus-dev
the modbus header files were not in /usr/include where halcompile search for them but in /usr/include/modbus
Last edit: 13 May 2019 09:54 by BigDo.
Please Log in or Create an account to join the conversation.
15 May 2019 12:02 #133832
by andypugh
Replied by andypugh on topic Debian stretch 64Bit b&r Acopos VFD trouble
Yes, halcompile struggles a bit with C (or .comp) files with #INCLUDEs.
That same gcc command line with a -I... to the place where the modbus code can be found might be worth a try.
That same gcc command line with a -I... to the place where the modbus code can be found might be worth a try.
Please Log in or Create an account to join the conversation.
16 May 2019 16:59 - 17 May 2019 13:16 #133986
by BigDo
Replied by BigDo on topic Debian stretch 64Bit b&r Acopos VFD trouble
and finaly it works.
tested with b&r Acoposinverter S44 also should work with some Telemecanique/Schneider electric Altivar-vfd
i have installed
linuxcnc-stretch-uspace-amd64.iso
btw: nice latency on Asus P5E3 Pro 8GB RAM Intenso SSD 120GB and Nvidia GTX 460 (with "isolcpus=2,3")
Servo thread(1ms): 2602
Base thread(25us); 14131
tested with b&r Acoposinverter S44 also should work with some Telemecanique/Schneider electric Altivar-vfd
i have installed
linuxcnc-stretch-uspace-amd64.iso
btw: nice latency on Asus P5E3 Pro 8GB RAM Intenso SSD 120GB and Nvidia GTX 460 (with "isolcpus=2,3")
Servo thread(1ms): 2602
Base thread(25us); 14131
Last edit: 17 May 2019 13:16 by BigDo.
Please Log in or Create an account to join the conversation.
Time to create page: 0.098 seconds