Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

master branch is broken: can't find package Linuxcnc #3348

Open
NTULINUX opened this issue Feb 23, 2025 · 13 comments
Open

master branch is broken: can't find package Linuxcnc #3348

NTULINUX opened this issue Feb 23, 2025 · 13 comments

Comments

@NTULINUX
Copy link
Contributor

I am trying to get the LinuxCNC master branch working on Gentoo, but only 2.9 wants to start.

I generated debug output to show the differences between the start-up for 2.9 and master branch.

2.9:

Debug mode on
+ getopts dvlhkrH:t:m: opt
+ shift 1
+ case "" in
+ '[' -z ']'
+ tty -s
+ trap ErrorCheck EXIT
+ '[' '!' -z '' ']'
+ EXTRA_ARGS=
+ RUN_IN_PLACE=no
+ echo RUN_IN_PLACE=no
+ LINUXCNCVERSION=2.9.4
+ export LINUXCNCVERSION
+ INIVAR=inivar
+ HALCMD='halcmd '
+ PICKCONFIG='/usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl'
+ LINUXCNC_EMCSH=/usr/bin/wish8.6
+ echo LINUXCNC_DIR=
+ echo LINUXCNC_BIN_DIR=/usr/bin
+ echo LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
+ echo LINUXCNC_SCRIPT_DIR=
+ echo LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
+ echo LINUXCNC_CONFIG_DIR=
+ echo LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
+ echo INIVAR=inivar
+ echo HALCMD=halcmd
+ echo LINUXCNC_EMCSH=/usr/bin/wish8.6
+ export LINUXCNC_TCL_DIR
+ export LINUXCNC_EMCSH
+ export LINUXCNC_HELP_DIR
+ export LINUXCNC_LANG_DIR
+ export REALTIME
+ export HALCMD
+ export LINUXCNC_NCFILES_DIR
+ '[' -z ']'
+ echo 'LINUXCNC - 2.9.4'
LINUXCNC - 2.9.4
+ '[' '!' -z '' ']'
+ '[' '!' -n '' ']'
++ /usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl
+ INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ '[' /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini.demo = /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
+ '[' '!' -n /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
++ handle_includes /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ hdr='# handle_includes():'
++ inifile=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+++ dirname /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ cd /home/lcnc/linuxcnc/configs/sim.gmoccapy
++ /usr/bin/grep '^#INCLUDE' /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ status=1
++ '[' 1 -ne 0 ']'
++ echo /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ return 0
+ INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ INI_NAME=6_axis.ini
+ INI_DIR=/home/lcnc/linuxcnc/configs/sim.gmoccapy
+ CONFIG_DIR=/home/lcnc/linuxcnc/configs/sim.gmoccapy
+ export CONFIG_DIR
+ export PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
+ PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
+ '[' -z ']'
+ echo 'Machine configuration directory is '\''/home/lcnc/linuxcnc/configs/sim.gmoccapy'\'''
Machine configuration directory is '/home/lcnc/linuxcnc/configs/sim.gmoccapy'
+ echo 'Machine configuration file is '\''6_axis.ini'\'''
Machine configuration file is '6_axis.ini'
+ '[' '!' -f /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
+ echo INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ retval=
+ GetFromIni VERSION EMC
+ name=VERSION
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var VERSION -sec EMC
+ retval=1.1
+ '[' '!' -n VERSION ']'
+ echo VERSION=1.1
+ '[' 1.1 '!=' 1.1 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var MODE -sec PLASMAC
+ '[' ']'
+ /usr/bin/tclsh8.6 /usr/share/linuxcnc/hallib/check_config.tcl /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ exitval=0
+ case "$exitval" in
+ GetFromIni PARAMETER_FILE RS274NGC
+ name=PARAMETER_FILE
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var PARAMETER_FILE -sec RS274NGC
+ retval=sim.var
+ '[' '!' -n PARAMETER_FILE ']'
+ echo PARAMETER_FILE=sim.var
+ RS274NGC_PARAMFILE=sim.var
+ GetFromIniEx MOT MOT EMCMOT EMCMOT motmod
+ original_var='[MOT]MOT'
+ '[' 5 -ge 2 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var MOT -sec MOT
+ retval=
+ shift 2
+ '[' 3 -ge 2 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var EMCMOT -sec EMCMOT
+ retval=motmod
+ return
+ EMCMOT=motmod.so
+ '[' -z '' ']'
+ GetFromIniQuiet TPMOD TRAJ
+ name=TPMOD
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var TPMOD -sec TRAJ
+ retval=
+ '[' '!' -n TPMOD ']'
+ echo TPMOD=
+ TPMOD=tpmod
+ '[' -z '' ']'
+ GetFromIniQuiet HOMEMOD EMCMOT
+ name=HOMEMOD
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HOMEMOD -sec EMCMOT
+ retval=
+ '[' '!' -n HOMEMOD ']'
+ echo HOMEMOD=
+ HOMEMOD=homemod
+ GetFromIniEx IO IO EMCIO EMCIO io
+ original_var='[IO]IO'
+ '[' 5 -ge 2 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var IO -sec IO
+ retval=
+ shift 2
+ '[' 3 -ge 2 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var EMCIO -sec EMCIO
+ retval=io
+ return
+ EMCIO=io
+ GetFromIni TASK TASK
+ name=TASK
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var TASK -sec TASK
+ retval=milltask
+ '[' '!' -n TASK ']'
+ echo TASK=milltask
+ EMCTASK=milltask
+ '[' milltask = emctask ']'
+ EMCSERVER=linuxcncsvr
+ GetFromIniQuiet HALUI HAL
+ name=HALUI
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALUI -sec HAL
+ retval=halui
+ '[' '!' -n HALUI ']'
+ echo HALUI=halui
+ HALUI=halui
+ GetFromIni DISPLAY DISPLAY
+ name=DISPLAY
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var DISPLAY -sec DISPLAY
+ retval=gmoccapy
+ '[' '!' -n DISPLAY ']'
+ echo DISPLAY=gmoccapy
++ set -- gmoccapy
++ echo gmoccapy
+ EMCDISPLAY=gmoccapy
++ set -- gmoccapy
++ shift
++ echo
+ EMCDISPLAYARGS=
+ case $EMCDISPLAY in
+ GetFromIniEx NML_FILE LINUXCNC NML_FILE EMC /usr/share/linuxcnc/linuxcnc.nml
+ original_var='[LINUXCNC]NML_FILE'
+ '[' 5 -ge 2 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var NML_FILE -sec LINUXCNC
+ retval=
+ shift 2
+ '[' 3 -ge 2 ']'
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var NML_FILE -sec EMC
+ retval=
+ shift 2
+ '[' 1 -ge 2 ']'
+ '[' 1 -eq 0 ']'
+ retval=/usr/share/linuxcnc/linuxcnc.nml
+ NMLFILE=/usr/share/linuxcnc/linuxcnc.nml
+ export NMLFILE
+ GetFromIni COORDINATES TRAJ
+ name=COORDINATES
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var COORDINATES -sec TRAJ
+ retval='X Y Z A B C'
+ '[' '!' -n COORDINATES ']'
+ echo 'COORDINATES=X Y Z A B C'
+ TRAJ_COORDINATES='X Y Z A B C'
+ export TRAJ_COORDINATES
+ GetFromIni KINEMATICS KINS
+ name=KINEMATICS
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var KINEMATICS -sec KINS
+ retval='trivkins coordinates=XYZABC'
+ '[' '!' -n KINEMATICS ']'
+ echo 'KINEMATICS=trivkins coordinates=XYZABC'
+ KINS_KINEMATICS='trivkins coordinates=XYZABC'
+ export KINS_KINEMATICS
+ KILL_TASK=
+ KILL_TIMEOUT=20
+ LOCKFILE=/tmp/linuxcnc.lock
+ '[' -f /tmp/linuxcnc.lock ']'
+ echo Starting LinuxCNC...
Starting LinuxCNC...
+ trap 'Cleanup ; exit 0' SIGINT SIGTERM
+ cd /home/lcnc/linuxcnc/configs/sim.gmoccapy
+ touch /tmp/linuxcnc.lock
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var INTRO_GRAPHIC -sec DISPLAY
+ img=linuxcnc.gif
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var INTRO_TIME -sec DISPLAY
+ imgtime=1
+ '[' 1 = '' ']'
+ '[' linuxcnc.gif '!=' '' ']'
+ '[' -e linuxcnc.gif ']'
+ '[' -e /home/lcnc/linuxcnc/configs/sim.gmoccapy/linuxcnc.gif ']'
+ '[' -e /usr/share/linuxcnc/linuxcnc.gif ']'
+ img=/usr/share/linuxcnc/linuxcnc.gif
+ '[' /usr/share/linuxcnc/linuxcnc.gif '!=' '' ']'
+ '[' -x /usr/lib/tcltk/linuxcnc/bin/popimage ']'
+ echo 'Starting LinuxCNC server program: linuxcncsvr'
+ /usr/lib/tcltk/linuxcnc/bin/popimage /usr/share/linuxcnc/linuxcnc.gif 1
+ program_available linuxcncsvr
+ type -path linuxcncsvr
+ export INI_FILE_NAME=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ INI_FILE_NAME=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ linuxcncsvr -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ echo 'Loading Real Time OS, RTAPI, and HAL_LIB modules'
+ /usr/lib/linuxcnc/realtime start
+ export HAL_RTMOD_DIR=/usr/lib/linuxcnc/modules
+ HAL_RTMOD_DIR=/usr/lib/linuxcnc/modules
+ '[' io '!=' '' ']'
+ echo 'Starting LinuxCNC IO program: io'
+ program_available io
+ type -path io
+ halcmd loadusr -Wn iocontrol io -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ '[' -n halui ']'
+ echo 'Starting HAL User Interface program: halui'
+ program_available halui
+ type -path halui
+ halcmd loadusr -Wn halui halui -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ basename /usr/bin/linuxcnc
+ echo 'linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod'
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
+ eval halcmd loadrt tpmod
++ halcmd loadrt tpmod
Note: Using POSIX realtime
+ eval halcmd loadrt homemod
++ halcmd loadrt homemod
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var TWOPASS -sec HAL -num 1
+ TWOPASS=
+ '[' -n '' ']'
+ NUM=1
++ inivar -tildeexpand -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALFILE -sec HAL -num 1
+ CFGFILE=core_sim_6.hal
+ '[' -n core_sim_6.hal ']'
+ IFS='\ '
+ read CFGFILE CFGFILE_ARGS
+ foundmsg=
+ saveIFS=' 	
'
+ IFS=:
+ explicit_file_in_hallib=core_sim_6.hal
+ '[' -z core_sim_6.hal ']'
+ '[' core_sim_6.hal '!=' core_sim_6.hal ']'
+ '[' c = / ']'
+ for pathdir in $HALLIB_PATH
+ foundfile=./core_sim_6.hal
+ '[' -r ./core_sim_6.hal ']'
+ '[' . = . ']'
+ foundmsg='Found file(REL): ./core_sim_6.hal'
+ break
+ '[' -d ./core_sim_6.hal ']'
+ IFS=' 	
'
+ '[' -z 'Found file(REL): ./core_sim_6.hal' ']'
+ echo 'Found file(REL): ./core_sim_6.hal'
Found file(REL): ./core_sim_6.hal
+ CFGFILE=./core_sim_6.hal
+ case $CFGFILE in
+ halcmd -i /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -f ./core_sim_6.hal
+ NUM=2
++ inivar -tildeexpand -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALFILE -sec HAL -num 2
+ CFGFILE=
+ '[' -n '' ']'
+ echo 'Starting TASK program: milltask'
+ program_available milltask
+ type -path milltask
+ NUM=1
+ halcmd loadusr -Wn inihal milltask -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALCMD -sec HAL -num 1
+ HALCOMMAND=
+ '[' -n '' ']'
+ halcmd start
+ run_applications
+ NUM=1
++ inivar -tildeexpand -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var APP -sec APPLICATIONS -num 1
+ APPFILE=
+ '[' -z '' ']'
+ return
+ echo 'Starting DISPLAY program: gmoccapy'
+ result=0
+ case $EMCDISPLAY in
+ program_available gmoccapy
+ type -path gmoccapy
+ gmoccapy -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  Missing [DISPLAY] ANGULAR_INCREMENTS- using defaults. (qt_istat.py:317)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No DEFAULT_LINEAR_VELOCITY Entry in DISPLAY, Using: 25 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_LINEAR_VELOCITY Entry in DISPLAY, Using: 0 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_LINEAR_VELOCITY Entry in DISPLAY, Using: 125 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No DEFAULT_ANGULAR_VELOCITY Entry in DISPLAY, Using: 6 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_ANGULAR_VELOCITY Entry in DISPLAY, Using: 0 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_ANGULAR_VELOCITY Entry in DISPLAY, Using: 60 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No DEFAULT_SPINDLE_0_SPEED Entry in DISPLAY, Using: 200 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_SPINDLE_0_SPEED Entry in DISPLAY, Using: 100 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_SPINDLE_0_SPEED Entry in DISPLAY, Using: 2500 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_SPINDLE_0_OVERRIDE Entry in DISPLAY, Using: 1 (qt_istat.py:532)
[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_SPINDLE_0_OVERRIDE Entry in DISPLAY, Using: 0.5 (qt_istat.py:532)
[Gmoccapy.GMOCCAPY.PLAYER][WARNING]  Gst module missing, - is package python3-gst installed? (player.py:38)

(gmoccapy:26012): Gtk-CRITICAL **: 07:44:50.874: gtk_list_store_get_path: assertion 'iter->stamp == priv->stamp' failed

(gmoccapy:26012): Gtk-CRITICAL **: 07:44:50.908: gtk_entry_set_text: assertion 'text != NULL' failed
[Gmoccapy.GMOCCAPY.GETINIINFO][WARNING]  No MIN_ANGULAR_VELOCITY entry found in [DISPLAY] of INI file. Using default value of 0.1 degree / min. (getiniinfo.py:274)
[Gmoccapy.GMOCCAPY.GETINIINFO][WARNING]  No DEFAULT_ANGULAR_VELOCITY entry found in [DISPLAY] of INI file. Using default value of 360 degree / min. (getiniinfo.py:258)
[Gmoccapy.GMOCCAPY.GETINIINFO][WARNING]  No MAX_ANGULAR_VELOCITY entry found in [DISPLAY] of INI file. Using default value of 3600 degree / min. (getiniinfo.py:266)
task: main loop took 0.173722 seconds
task: main loop took 0.025746 seconds
[Gmoccapy][WARNING]  No audio available! PYGST library not installed? Is python-gstX.XX installed? (gmoccapy:2038)
[Gmoccapy][WARNING]  No virtual keyboard installed, we checked for <onboard>. Try 'sudo apt-get install onboard'. (gmoccapy:2111)

master:

Debug mode on
+ getopts dvlhkrH:t:m: opt
+ shift 1
+ case "" in
+ '[' -z '' ']'
+ tty -s
+ trap ErrorCheck EXIT
+ '[' -n '' ']'
+ EXTRA_ARGS=("$@")
+ RUN_IN_PLACE=no
+ echo RUN_IN_PLACE=no
+ LINUXCNCVERSION=2.10.0~pre0
+ export LINUXCNCVERSION
+ INIVAR=inivar
+ HALCMD='halcmd '
+ PICKCONFIG='/usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl'
+ LINUXCNC_EMCSH=/usr/bin/wish8.6
+ echo LINUXCNC_DIR=
+ echo LINUXCNC_BIN_DIR=/usr/bin
+ echo LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
+ echo LINUXCNC_SCRIPT_DIR=
+ echo LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
+ echo LINUXCNC_CONFIG_DIR=
+ echo LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
+ echo INIVAR=inivar
+ echo 'HALCMD=halcmd '
+ echo LINUXCNC_EMCSH=/usr/bin/wish8.6
+ export LINUXCNC_TCL_DIR
+ export LINUXCNC_EMCSH
+ export LINUXCNC_HELP_DIR
+ export LINUXCNC_LANG_DIR
+ export REALTIME
+ export HALCMD
+ export LINUXCNC_NCFILES_DIR
+ '[' -z '' ']'
+ echo 'LINUXCNC - 2.10.0~pre0'
LINUXCNC - 2.10.0~pre0
+ '[' -n '' ']'
+ '[' -z '' ']'
++ /usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl
+ INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ '[' /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini.demo = /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
+ '[' -z /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
++ handle_includes /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ hdr='# handle_includes():'
++ inifile=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+++ dirname /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ cd /home/lcnc/linuxcnc/configs/sim.gmoccapy
++ /usr/bin/grep '^#INCLUDE' /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ status=1
++ '[' 1 -ne 0 ']'
++ echo /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
++ return 0
+ INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ INI_NAME=6_axis.ini
+ INI_DIR=/home/lcnc/linuxcnc/configs/sim.gmoccapy
+ CONFIG_DIR=/home/lcnc/linuxcnc/configs/sim.gmoccapy
+ export CONFIG_DIR
+ export PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
+ PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
+ '[' -z '' ']'
+ echo 'Machine configuration directory is '\''/home/lcnc/linuxcnc/configs/sim.gmoccapy'\'''
Machine configuration directory is '/home/lcnc/linuxcnc/configs/sim.gmoccapy'
+ echo 'Machine configuration file is '\''6_axis.ini'\'''
Machine configuration file is '6_axis.ini'
+ '[' '!' -f /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
+ echo INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
+ retval=
+ GetFromIni VERSION EMC
+ name=VERSION
++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var VERSION -sec EMC
+ retval=1.1
+ '[' -z VERSION ']'
+ echo VERSION=1.1
+ '[' 1.1 '!=' 1.1 ']'
+ /usr/bin/tclsh8.6 /usr/share/linuxcnc/hallib/check_config.tcl /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
can't find package Linuxcnc
    while executing
"package require Linuxcnc "
    (file "/usr/share/linuxcnc/hallib/check_config.tcl" line 187)
+ exitval=1
+ case "$exitval" in
+ echo 'check_config validation failed'
check_config validation failed
+ exit 1
+ ErrorCheck
+ result=1
+ '[' -n :0.0 ']'
+ echo 'catch {send -async popimage destroy .}; destroy .'
+ /usr/bin/wish8.6
+ '[' 1 -ne 0 ']'
+ tty -s
+ '[' -f /dev/fd/2 ']'
+ echo '(debug information was sent to stderr)'
+ '[' -f /tmp/linuxcnc.print.05SqYA ']'
+ cp /tmp/linuxcnc.print.05SqYA /home/lcnc/linuxcnc_print.txt
+ echo 'LinuxCNC terminated with an error.  You can find more information in the log:
    /home/lcnc/linuxcnc_debug.txt
and
    /home/lcnc/linuxcnc_print.txt
as well as in the output of the shell command '\''dmesg'\'' and in the terminal'
LinuxCNC terminated with an error.  You can find more information in the log:
    /home/lcnc/linuxcnc_debug.txt
and
    /home/lcnc/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
+ rm -f /dev/fd/2 /tmp/linuxcnc.print.05SqYA
+ exit 1

Diff:

--- lcnc2.9.debug	2025-02-23 07:46:02.763100461 +0000
+++ lcnc.debug	2025-02-23 07:48:48.833101805 +0000
@@ -2,14 +2,14 @@ Debug mode on
 + getopts dvlhkrH:t:m: opt
 + shift 1
 + case "" in
-+ '[' -z ']'
++ '[' -z '' ']'
 + tty -s
 + trap ErrorCheck EXIT
-+ '[' '!' -z '' ']'
-+ EXTRA_ARGS=
++ '[' -n '' ']'
++ EXTRA_ARGS=("$@")
 + RUN_IN_PLACE=no
 + echo RUN_IN_PLACE=no
-+ LINUXCNCVERSION=2.9.4
++ LINUXCNCVERSION=2.10.0~pre0
 + export LINUXCNCVERSION
 + INIVAR=inivar
 + HALCMD='halcmd '
@@ -23,7 +23,7 @@ Debug mode on
 + echo LINUXCNC_CONFIG_DIR=
 + echo LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
 + echo INIVAR=inivar
-+ echo HALCMD=halcmd
++ echo 'HALCMD=halcmd '
 + echo LINUXCNC_EMCSH=/usr/bin/wish8.6
 + export LINUXCNC_TCL_DIR
 + export LINUXCNC_EMCSH
@@ -32,15 +32,15 @@ Debug mode on
 + export REALTIME
 + export HALCMD
 + export LINUXCNC_NCFILES_DIR
-+ '[' -z ']'
-+ echo 'LINUXCNC - 2.9.4'
-LINUXCNC - 2.9.4
-+ '[' '!' -z '' ']'
-+ '[' '!' -n '' ']'
++ '[' -z '' ']'
++ echo 'LINUXCNC - 2.10.0~pre0'
+LINUXCNC - 2.10.0~pre0
++ '[' -n '' ']'
++ '[' -z '' ']'
 ++ /usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl
 + INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
 + '[' /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini.demo = /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
-+ '[' '!' -n /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
++ '[' -z /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
 ++ handle_includes /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
 ++ hdr='# handle_includes():'
 ++ inifile=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
@@ -58,7 +58,7 @@ LINUXCNC - 2.9.4
 + export CONFIG_DIR
 + export PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
 + PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
-+ '[' -z ']'
++ '[' -z '' ']'
 + echo 'Machine configuration directory is '\''/home/lcnc/linuxcnc/configs/sim.gmoccapy'\'''
 Machine configuration directory is '/home/lcnc/linuxcnc/configs/sim.gmoccapy'
 + echo 'Machine configuration file is '\''6_axis.ini'\'''
@@ -70,248 +70,39 @@ Machine configuration file is '6_axis.in
 + name=VERSION
 ++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var VERSION -sec EMC
 + retval=1.1
-+ '[' '!' -n VERSION ']'
++ '[' -z VERSION ']'
 + echo VERSION=1.1
 + '[' 1.1 '!=' 1.1 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var MODE -sec PLASMAC
-+ '[' ']'
 + /usr/bin/tclsh8.6 /usr/share/linuxcnc/hallib/check_config.tcl /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-+ exitval=0
+can't find package Linuxcnc
+    while executing
+"package require Linuxcnc "
+    (file "/usr/share/linuxcnc/hallib/check_config.tcl" line 187)
++ exitval=1
 + case "$exitval" in
-+ GetFromIni PARAMETER_FILE RS274NGC
-+ name=PARAMETER_FILE
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var PARAMETER_FILE -sec RS274NGC
-+ retval=sim.var
-+ '[' '!' -n PARAMETER_FILE ']'
-+ echo PARAMETER_FILE=sim.var
-+ RS274NGC_PARAMFILE=sim.var
-+ GetFromIniEx MOT MOT EMCMOT EMCMOT motmod
-+ original_var='[MOT]MOT'
-+ '[' 5 -ge 2 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var MOT -sec MOT
-+ retval=
-+ shift 2
-+ '[' 3 -ge 2 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var EMCMOT -sec EMCMOT
-+ retval=motmod
-+ return
-+ EMCMOT=motmod.so
-+ '[' -z '' ']'
-+ GetFromIniQuiet TPMOD TRAJ
-+ name=TPMOD
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var TPMOD -sec TRAJ
-+ retval=
-+ '[' '!' -n TPMOD ']'
-+ echo TPMOD=
-+ TPMOD=tpmod
-+ '[' -z '' ']'
-+ GetFromIniQuiet HOMEMOD EMCMOT
-+ name=HOMEMOD
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HOMEMOD -sec EMCMOT
-+ retval=
-+ '[' '!' -n HOMEMOD ']'
-+ echo HOMEMOD=
-+ HOMEMOD=homemod
-+ GetFromIniEx IO IO EMCIO EMCIO io
-+ original_var='[IO]IO'
-+ '[' 5 -ge 2 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var IO -sec IO
-+ retval=
-+ shift 2
-+ '[' 3 -ge 2 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var EMCIO -sec EMCIO
-+ retval=io
-+ return
-+ EMCIO=io
-+ GetFromIni TASK TASK
-+ name=TASK
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var TASK -sec TASK
-+ retval=milltask
-+ '[' '!' -n TASK ']'
-+ echo TASK=milltask
-+ EMCTASK=milltask
-+ '[' milltask = emctask ']'
-+ EMCSERVER=linuxcncsvr
-+ GetFromIniQuiet HALUI HAL
-+ name=HALUI
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALUI -sec HAL
-+ retval=halui
-+ '[' '!' -n HALUI ']'
-+ echo HALUI=halui
-+ HALUI=halui
-+ GetFromIni DISPLAY DISPLAY
-+ name=DISPLAY
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var DISPLAY -sec DISPLAY
-+ retval=gmoccapy
-+ '[' '!' -n DISPLAY ']'
-+ echo DISPLAY=gmoccapy
-++ set -- gmoccapy
-++ echo gmoccapy
-+ EMCDISPLAY=gmoccapy
-++ set -- gmoccapy
-++ shift
-++ echo
-+ EMCDISPLAYARGS=
-+ case $EMCDISPLAY in
-+ GetFromIniEx NML_FILE LINUXCNC NML_FILE EMC /usr/share/linuxcnc/linuxcnc.nml
-+ original_var='[LINUXCNC]NML_FILE'
-+ '[' 5 -ge 2 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var NML_FILE -sec LINUXCNC
-+ retval=
-+ shift 2
-+ '[' 3 -ge 2 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var NML_FILE -sec EMC
-+ retval=
-+ shift 2
-+ '[' 1 -ge 2 ']'
-+ '[' 1 -eq 0 ']'
-+ retval=/usr/share/linuxcnc/linuxcnc.nml
-+ NMLFILE=/usr/share/linuxcnc/linuxcnc.nml
-+ export NMLFILE
-+ GetFromIni COORDINATES TRAJ
-+ name=COORDINATES
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var COORDINATES -sec TRAJ
-+ retval='X Y Z A B C'
-+ '[' '!' -n COORDINATES ']'
-+ echo 'COORDINATES=X Y Z A B C'
-+ TRAJ_COORDINATES='X Y Z A B C'
-+ export TRAJ_COORDINATES
-+ GetFromIni KINEMATICS KINS
-+ name=KINEMATICS
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var KINEMATICS -sec KINS
-+ retval='trivkins coordinates=XYZABC'
-+ '[' '!' -n KINEMATICS ']'
-+ echo 'KINEMATICS=trivkins coordinates=XYZABC'
-+ KINS_KINEMATICS='trivkins coordinates=XYZABC'
-+ export KINS_KINEMATICS
-+ KILL_TASK=
-+ KILL_TIMEOUT=20
-+ LOCKFILE=/tmp/linuxcnc.lock
-+ '[' -f /tmp/linuxcnc.lock ']'
-+ echo Starting LinuxCNC...
-Starting LinuxCNC...
-+ trap 'Cleanup ; exit 0' SIGINT SIGTERM
-+ cd /home/lcnc/linuxcnc/configs/sim.gmoccapy
-+ touch /tmp/linuxcnc.lock
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var INTRO_GRAPHIC -sec DISPLAY
-+ img=linuxcnc.gif
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var INTRO_TIME -sec DISPLAY
-+ imgtime=1
-+ '[' 1 = '' ']'
-+ '[' linuxcnc.gif '!=' '' ']'
-+ '[' -e linuxcnc.gif ']'
-+ '[' -e /home/lcnc/linuxcnc/configs/sim.gmoccapy/linuxcnc.gif ']'
-+ '[' -e /usr/share/linuxcnc/linuxcnc.gif ']'
-+ img=/usr/share/linuxcnc/linuxcnc.gif
-+ '[' /usr/share/linuxcnc/linuxcnc.gif '!=' '' ']'
-+ '[' -x /usr/lib/tcltk/linuxcnc/bin/popimage ']'
-+ echo 'Starting LinuxCNC server program: linuxcncsvr'
-+ /usr/lib/tcltk/linuxcnc/bin/popimage /usr/share/linuxcnc/linuxcnc.gif 1
-+ program_available linuxcncsvr
-+ type -path linuxcncsvr
-+ export INI_FILE_NAME=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-+ INI_FILE_NAME=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-+ linuxcncsvr -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-+ echo 'Loading Real Time OS, RTAPI, and HAL_LIB modules'
-+ /usr/lib/linuxcnc/realtime start
-+ export HAL_RTMOD_DIR=/usr/lib/linuxcnc/modules
-+ HAL_RTMOD_DIR=/usr/lib/linuxcnc/modules
-+ '[' io '!=' '' ']'
-+ echo 'Starting LinuxCNC IO program: io'
-+ program_available io
-+ type -path io
-+ halcmd loadusr -Wn iocontrol io -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-+ '[' -n halui ']'
-+ echo 'Starting HAL User Interface program: halui'
-+ program_available halui
-+ type -path halui
-+ halcmd loadusr -Wn halui halui -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-++ basename /usr/bin/linuxcnc
-+ echo 'linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod'
-linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
-+ eval halcmd loadrt tpmod
-++ halcmd loadrt tpmod
-Note: Using POSIX realtime
-+ eval halcmd loadrt homemod
-++ halcmd loadrt homemod
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var TWOPASS -sec HAL -num 1
-+ TWOPASS=
-+ '[' -n '' ']'
-+ NUM=1
-++ inivar -tildeexpand -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALFILE -sec HAL -num 1
-+ CFGFILE=core_sim_6.hal
-+ '[' -n core_sim_6.hal ']'
-+ IFS='\ '
-+ read CFGFILE CFGFILE_ARGS
-+ foundmsg=
-+ saveIFS=' 	
-'
-+ IFS=:
-+ explicit_file_in_hallib=core_sim_6.hal
-+ '[' -z core_sim_6.hal ']'
-+ '[' core_sim_6.hal '!=' core_sim_6.hal ']'
-+ '[' c = / ']'
-+ for pathdir in $HALLIB_PATH
-+ foundfile=./core_sim_6.hal
-+ '[' -r ./core_sim_6.hal ']'
-+ '[' . = . ']'
-+ foundmsg='Found file(REL): ./core_sim_6.hal'
-+ break
-+ '[' -d ./core_sim_6.hal ']'
-+ IFS=' 	
-'
-+ '[' -z 'Found file(REL): ./core_sim_6.hal' ']'
-+ echo 'Found file(REL): ./core_sim_6.hal'
-Found file(REL): ./core_sim_6.hal
-+ CFGFILE=./core_sim_6.hal
-+ case $CFGFILE in
-+ halcmd -i /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -f ./core_sim_6.hal
-+ NUM=2
-++ inivar -tildeexpand -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALFILE -sec HAL -num 2
-+ CFGFILE=
-+ '[' -n '' ']'
-+ echo 'Starting TASK program: milltask'
-+ program_available milltask
-+ type -path milltask
-+ NUM=1
-+ halcmd loadusr -Wn inihal milltask -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var HALCMD -sec HAL -num 1
-+ HALCOMMAND=
-+ '[' -n '' ']'
-+ halcmd start
-+ run_applications
-+ NUM=1
-++ inivar -tildeexpand -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var APP -sec APPLICATIONS -num 1
-+ APPFILE=
-+ '[' -z '' ']'
-+ return
-+ echo 'Starting DISPLAY program: gmoccapy'
-+ result=0
-+ case $EMCDISPLAY in
-+ program_available gmoccapy
-+ type -path gmoccapy
-+ gmoccapy -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  Missing [DISPLAY] ANGULAR_INCREMENTS- using defaults. (qt_istat.py:317)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No DEFAULT_LINEAR_VELOCITY Entry in DISPLAY, Using: 25 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_LINEAR_VELOCITY Entry in DISPLAY, Using: 0 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_LINEAR_VELOCITY Entry in DISPLAY, Using: 125 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No DEFAULT_ANGULAR_VELOCITY Entry in DISPLAY, Using: 6 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_ANGULAR_VELOCITY Entry in DISPLAY, Using: 0 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_ANGULAR_VELOCITY Entry in DISPLAY, Using: 60 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No DEFAULT_SPINDLE_0_SPEED Entry in DISPLAY, Using: 200 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_SPINDLE_0_SPEED Entry in DISPLAY, Using: 100 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_SPINDLE_0_SPEED Entry in DISPLAY, Using: 2500 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_SPINDLE_0_OVERRIDE Entry in DISPLAY, Using: 1 (qt_istat.py:532)
-[Gmoccapy.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_SPINDLE_0_OVERRIDE Entry in DISPLAY, Using: 0.5 (qt_istat.py:532)
-[Gmoccapy.GMOCCAPY.PLAYER][WARNING]  Gst module missing, - is package python3-gst installed? (player.py:38)
-
-(gmoccapy:26012): Gtk-CRITICAL **: 07:44:50.874: gtk_list_store_get_path: assertion 'iter->stamp == priv->stamp' failed
-
-(gmoccapy:26012): Gtk-CRITICAL **: 07:44:50.908: gtk_entry_set_text: assertion 'text != NULL' failed
-[Gmoccapy.GMOCCAPY.GETINIINFO][WARNING]  No MIN_ANGULAR_VELOCITY entry found in [DISPLAY] of INI file. Using default value of 0.1 degree / min. (getiniinfo.py:274)
-[Gmoccapy.GMOCCAPY.GETINIINFO][WARNING]  No DEFAULT_ANGULAR_VELOCITY entry found in [DISPLAY] of INI file. Using default value of 360 degree / min. (getiniinfo.py:258)
-[Gmoccapy.GMOCCAPY.GETINIINFO][WARNING]  No MAX_ANGULAR_VELOCITY entry found in [DISPLAY] of INI file. Using default value of 3600 degree / min. (getiniinfo.py:266)
-task: main loop took 0.173722 seconds
-task: main loop took 0.025746 seconds
-[Gmoccapy][WARNING]  No audio available! PYGST library not installed? Is python-gstX.XX installed? (gmoccapy:2038)
-[Gmoccapy][WARNING]  No virtual keyboard installed, we checked for <onboard>. Try 'sudo apt-get install onboard'. (gmoccapy:2111)
++ echo 'check_config validation failed'
+check_config validation failed
++ exit 1
++ ErrorCheck
++ result=1
++ '[' -n :0.0 ']'
++ echo 'catch {send -async popimage destroy .}; destroy .'
++ /usr/bin/wish8.6
++ '[' 1 -ne 0 ']'
++ tty -s
++ '[' -f /dev/fd/2 ']'
++ echo '(debug information was sent to stderr)'
++ '[' -f /tmp/linuxcnc.print.05SqYA ']'
++ cp /tmp/linuxcnc.print.05SqYA /home/lcnc/linuxcnc_print.txt
++ echo 'LinuxCNC terminated with an error.  You can find more information in the log:
+    /home/lcnc/linuxcnc_debug.txt
+and
+    /home/lcnc/linuxcnc_print.txt
+as well as in the output of the shell command '\''dmesg'\'' and in the terminal'
+LinuxCNC terminated with an error.  You can find more information in the log:
+    /home/lcnc/linuxcnc_debug.txt
+and
+    /home/lcnc/linuxcnc_print.txt
+as well as in the output of the shell command 'dmesg' and in the terminal
++ rm -f /dev/fd/2 /tmp/linuxcnc.print.05SqYA
++ exit 1

I think the part that is maybe most helpful is this snippet:

 ++ /usr/bin/wish8.6 /usr/lib/tcltk/linuxcnc/bin/pickconfig.tcl
 + INIFILE=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
 + '[' /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini.demo = /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
-+ '[' '!' -n /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
++ '[' -z /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini ']'
 ++ handle_includes /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
 ++ hdr='# handle_includes():'
 ++ inifile=/home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
@@ -58,7 +58,7 @@ LINUXCNC - 2.9.4
 + export CONFIG_DIR
 + export PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
 + PATH=/home/lcnc/linuxcnc/configs/sim.gmoccapy/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/19/bin
-+ '[' -z ']'
++ '[' -z '' ']'
 + echo 'Machine configuration directory is '\''/home/lcnc/linuxcnc/configs/sim.gmoccapy'\'''
 Machine configuration directory is '/home/lcnc/linuxcnc/configs/sim.gmoccapy'
 + echo 'Machine configuration file is '\''6_axis.ini'\'''
@@ -70,248 +70,39 @@ Machine configuration file is '6_axis.in
 + name=VERSION
 ++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var VERSION -sec EMC
 + retval=1.1
-+ '[' '!' -n VERSION ']'
++ '[' -z VERSION ']'
 + echo VERSION=1.1
 + '[' 1.1 '!=' 1.1 ']'
-++ inivar -ini /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini -var MODE -sec PLASMAC
-+ '[' ']'
 + /usr/bin/tclsh8.6 /usr/share/linuxcnc/hallib/check_config.tcl /home/lcnc/linuxcnc/configs/sim.gmoccapy/6_axis.ini
-+ exitval=0
+can't find package Linuxcnc
+    while executing
+"package require Linuxcnc "
+    (file "/usr/share/linuxcnc/hallib/check_config.tcl" line 187)
++ exitval=1
@BsAtHome
Copy link
Contributor

You seem to have installed the package. Are you sure no cross-contamination took place between installing 2.9 and master?

What if you run master in-place?

The error you see is probably that it cannot find the tcl/linuxcnc.so library (wherever that gets installed).

On a side note: there also appears to be a small difference in lib/hallib/check_config.tcl between master and 2.9 (9f82dce).

@NTULINUX
Copy link
Contributor Author

NTULINUX commented Feb 23, 2025

Well this is interesting..

Using run-in-place, I can get axis to start:

#3205

And in order to fix this issue here, I manually made a symlink from /usr/lib/tcltk/linuxcnc to /usr/lib/linuxcnc.so (by mistake actually, I meant to do: /usr/lib/tcltk/linuxcnc/linuxcnc.so to /usr/lib/linuxcnc.so)

So while this may be hard to believe...

0 lrwxrwxrwx 1 root root 23 Feb 23 20:34 /usr/lib/linuxcnc.so -> /usr/lib/tcltk/linuxcnc

To be clear, yes, I am symlinking a directory to a shared library file.

Any idea how to fix this properly?

@BsAtHome
Copy link
Contributor

This seems to be an issue with the search path tcl is using to find linuxcnc.so. Where is it installed?

If you do ldd /path/to/installed/linuxcnc.so (without manually adding symlinks), do you have any unresolved libraries?

@NTULINUX
Copy link
Contributor Author

NTULINUX commented Feb 24, 2025

Everything looks good there:

ldd: warning: you do not have execution permission for `/usr/lib/tcltk/linuxcnc/linuxcnc.so'
	linux-vdso.so.1 (0x00007faa630aa000)
	libtirpc.so.3 => /usr/lib64/libtirpc.so.3 (0x00007faa6303a000)
	liblinuxcncini.so.0 => /usr/lib64/liblinuxcncini.so.0 (0x00007faa63030000)
	libnml.so.0 => /usr/lib64/libnml.so.0 (0x00007faa62fd8000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007faa62e6d000)
	libtk8.6.so => /usr/lib64/libtk8.6.so (0x00007faa62cec000)
	libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007faa62ce7000)
	libc++abi.so.1 => /usr/lib64/libc++abi.so.1 (0x00007faa62ca5000)
	libunwind.so.1 => /usr/lib64/libunwind.so.1 (0x00007faa62c98000)
	libc.so.6 => /usr/lib64/libc.so.6 (0x00007faa62aa9000)
	libc++.so.1 => /usr/lib64/libc++.so.1 (0x00007faa629a8000)
	liblinuxcnchal.so.0 => /usr/lib64/liblinuxcnchal.so.0 (0x00007faa62993000)
	libm.so.6 => /usr/lib64/libm.so.6 (0x00007faa628d6000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007faa628a9000)
	libXft.so.2 => /usr/lib64/libXft.so.2 (0x00007faa6288d000)
	libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007faa62829000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007faa62811000)
	/lib64/ld-linux-x86-64.so.2 (0x00007faa630ac000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007faa6280b000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007faa62801000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007faa6270b000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007faa626fe000)
	libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007faa626d1000)
	libz.so.1 => /usr/lib64/libz.so.1 (0x00007faa626b4000)
	libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007faa62699000)
	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007faa62648000)
	libbrotlidec.so.1 => /usr/lib64/libbrotlidec.so.1 (0x00007faa62639000)
	libbrotlicommon.so.1 => /usr/lib64/libbrotlicommon.so.1 (0x00007faa62615000)

Marking /usr/lib/tcltk/linuxcnc/linuxcnc.so as executable did not help.

Also, I ran into this exact problem before, all I had to do was set TCLLIBPATH to /usr/lib/tcltk/linuxcnc. For some reason, on master branch, this is not good enough.

Relevant thread:

https://forum.linuxcnc.org/9-installing-linuxcnc/42143-solved-linuxcnc-on-arch

@BsAtHome
Copy link
Contributor

Your /usr/lib/tcltk/linuxcnc directory contains the pkgIndex.tcl file? If so, then normally the TCLLIBPATH should point to /usr/lib/tcltk.

@NTULINUX
Copy link
Contributor Author

NTULINUX commented Feb 24, 2025

I have tried 10+ variants of TCLLIBPATH, including that, nothing is working... Please note that 2.9 runs just fine (minus axis being broken.)

In /usr/bin/linuxcnc, I added: echo "${TCLLIBPATH}" and the variable is loaded properly:

/usr/lib/tcltk:/usr/lib/tcltk/linuxcnc

I ran this: sudo ln -sfv /usr/lib/tcltk/linuxcnc/* /usr/lib/tcltk/ and it was able to find LinuxCNC but then I got:

Starting LinuxCNC...
/usr/bin/linuxcnc: line 837: /usr/lib/linuxcnc/realtime: No such file or directory

I'm not too worried about the realtime directory error, I was just trying to get past the fact it can't find the LinuxCNC package with a quick symlink.

@BsAtHome
Copy link
Contributor

Your previous link doesn't exactly tell anything about run-in-place. What I meant is doing a clean local build:

$ git clone https://github.com/LinuxCNC/linuxcnc.git lcnc-clean.git
$ cd lcnc-clean.git/src
$ ./autogen.sh
$ ./configure
$ make -j8
$ sudo make setuid
$ ../scripts/rip-environment linuxcnc

You do not need to do sudo make setuid if you only run simulated with axis. You may need --enable-non-distributable on configure. And, change -j8 to whatever number of cores you have for fast parallel build.

The above recipe sets up all paths relative to the build location and should run completely local. The question is then, does it run or not? If it runs, then a system install fails somewhere. If it also fails, then it may be required to bisect commits to see which commit causes the problem.

@NTULINUX
Copy link
Contributor Author

NTULINUX commented Feb 24, 2025

I can do a clean local build every time (run-in-place) and everything works just fine in Gentoo. What I'm trying to figure out is why 2.9 can install and run when installed to the system (globally) but master branch fails when doing an actual full install. Run-in-place always works for both branches.

On a separate note, In case you missed my previous comment, run-in-place also happens to fix the axis interface. When 2.9 is installed to the system (not run-in-place) I get this error:

count= and names= are mutually exclusive
and2: rtapi_app_main: Invalid argument (-22)

Selecting other interfaces such as gmoccapy work just fine with 2.9 branch installed globally (not run-in-place) but not axis.

With run-in-place, axis works, and there are no errors, in both 2.9 and master.

@BsAtHome
Copy link
Contributor

Ok, so local-build/rip works. I just checked my Fedora machine, by locating files named pkgIndex.tcl, and it does not have a /usr/lib/tcltk directory. Fedora has packages in /usr/lib64/tcl8.6, /usr/lib64/tk8.6 and /usr/share/tcl8.6 and does not set TCLLIBPATH by default. Debian does have /usr/lib/tcltk.

Does a clean Gentoo have the /usr/lib/tcltk without lcnc? And where are pkgIndex.tcl files located on Gentoo?

Also, when using installed lcnc, then the linuxcnc script will no longer export (a set or modified) TCLLIBPATH variable because the test in linuxcnc line 97 will be false.

There seems to be an assumption that a tcl library goes into /usr/lib/tcltk, but that may only be true for Debian and not other distros.

@NTULINUX
Copy link
Contributor Author

NTULINUX commented Mar 3, 2025

Does a clean Gentoo have the /usr/lib/tcltk without lcnc? And where are pkgIndex.tcl files located on Gentoo?

It does not.

pkgIndex.tcl is in /usr/lib/tcltk/linuxcnc

@BsAtHome
Copy link
Contributor

BsAtHome commented Mar 4, 2025

LinuxCNC assumes that the system has the packages in the /usr/lib/tcltk directory, but that is a Debian specific thing. I can see that there are hard-coded paths pointing to /usr/lib/tcltk/linuxcnc in the code-base. therefore, it should be installed there.

If export TCLLIBPATH does not function, as done in linuxcnc lines 97..104, then I'm out of ideas. I'm drawing a blank as to the place where in the chain it fails (don't have a Gentoo install here to test).

BTW, you are sure that Gentoo's version of tcl honors the TCLLIBPATH environment variable? There are security concerns with such environment variables. Maybe it needs a switch at install/emerge time to enable?

@NTULINUX
Copy link
Contributor Author

NTULINUX commented Mar 4, 2025

LinuxCNC assumes that the system has the packages in the /usr/lib/tcltk directory, but that is a Debian specific thing. I can see that there are hard-coded paths pointing to /usr/lib/tcltk/linuxcnc in the code-base. therefore, it should be installed there.

If export TCLLIBPATH does not function, as done in linuxcnc lines 97..104, then I'm out of ideas. I'm drawing a blank as to the place where in the chain it fails (don't have a Gentoo install here to test).

I have a Gentoo image with an installer that's ready to go. All you need is a spare drive and the installer does the rest.

https://openlunchbox.com/mw19/index.php/HOWTO:_Gentoo_for_LinuxCNC

If you're using the installer on Debian, start here:

https://openlunchbox.com/mw19/index.php/HOWTO:_Gentoo_for_LinuxCNC#Fetching_the_installer

BTW, you are sure that Gentoo's version of tcl honors the TCLLIBPATH environment variable? There are security concerns with such environment variables. Maybe it needs a switch at install/emerge time to enable?

100% certain as TCLLIBPATH affects the 2.9 branch. It's only broken in master. TCLLIBPATH is definitely respected as the 2.9 branch does not start without it.

@BsAtHome
Copy link
Contributor

BsAtHome commented Mar 4, 2025

Spare drive? Will a small VM work (2 core/2G RAM/16G disk)? I'm not a real Gentoo guy; probably lack of patience while continuously compiling packages ;-). And, that page you refer to, that is emerging what lcnc version?

OTOH, maybe it is the change in the linuxcnc script (linuxcnc.in) in the shellcheck cleanup that caused a problem. Try to build these to versions:

  1. Before the change: 42fc6ed
  2. The linuxcnc.in shellcheck change: 5a61601

If only the second fails, then we know where to start looking. If both fail it needs a deeper historic dig.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants