PX4-windows-toolchain icon indicating copy to clipboard operation
PX4-windows-toolchain copied to clipboard

"bc: command not found" when setting PX4_SIM_SPEED_FACTOR environment var.

Open chrismiller7 opened this issue 3 years ago • 1 comments

Error: ERROR [param] not enough arguments. Try 'param set PARAM_NAME 3 [fail]' etc/init.d-posix/rcS: line 193: bc: command not found

Tried with both v0.8 and v0.9 installation for Windows.

Steps to reproduce: Run run-console.bat cd Firmware export PX4_SIM_SPEED_FACTOR=2 make px4_sitl jmavsim

Output: [0/1] cd /cygdrive/c/PX4/home/Firmware/build/px4_sitl_defa...mware /cygdrive/c/PX4/home/Firmware/build/px4_sitl_default SITL ARGS sitl_bin: /cygdrive/c/PX4/home/Firmware/build/px4_sitl_default/bin/px4.exe debugger: none program: jmavsim model: none world: none src_path: /cygdrive/c/PX4/home/Firmware build_path: /cygdrive/c/PX4/home/Firmware/build/px4_sitl_default empty model, setting iris as default SITL COMMAND: "/cygdrive/c/PX4/home/Firmware/build/px4_sitl_default/bin/px4.exe" "/cygdrive/c/PX4/home/Firmware"/ROMFS/px4fmu_common -s etc/init.d-posix/rcS -t "/cygdrive/c/PX4/home/Firmware"/test_data Buildfile: C:\PX4\home\Firmware\Tools\jMAVSim\build.xml

make_dirs:

compile:

create_run_jar: INFO [px4] Creating symlink /cygdrive/c/PX4/home/Firmware/ROMFS/px4fmu_common -> /cygdrive/c/PX4/home/Firmware/build/px4_sitl_default/tmp/rootfs/etc


| ___ \ \ \ / / / | | |/ / \ V / / /| | | __/ / \ / /| | | | / /^\ \ ___ | _| / / |_/

px4 starting.

INFO [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 0

copy_res:

BUILD SUCCESSFUL Total time: 0 seconds Options parsed, starting Sim. Starting GUI... INFO [param] selected parameter default file eeprom/parameters_10016 [param] Loaded: eeprom/parameters_10016 etc/init.d-posix/rcS: line 185: bc: command not found COM_DL_LOSS_T set to ERROR [param] not enough arguments. Try 'param set PARAM_NAME 3 [fail]' etc/init.d-posix/rcS: line 189: bc: command not found COM_RC_LOSS_T set to ERROR [param] not enough arguments. Try 'param set PARAM_NAME 3 [fail]' etc/init.d-posix/rcS: line 193: bc: command not found COM_OF_LOSS_T set to ERROR [param] not enough arguments. Try 'param set PARAM_NAME 3 [fail]' INFO [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes INFO [simulator] Waiting for simulator to accept connection on TCP port 4560 INFO [simulator] Simulator connected on TCP port 4560. Init MAVLink INFO [commander] LED: open /dev/led0 failed (22) INFO [init] Mixer: etc/mixers/quad_w.main.mix on /dev/pwm_output0 INFO [mavlink] mode: Normal, data rate: 4000000 B/s on udp port 18570 remote port 14550 INFO [mavlink] mode: Onboard, data rate: 4000000 B/s on udp port 14580 remote port 14540 INFO [mavlink] mode: Onboard, data rate: 4000 B/s on udp port 14280 remote port 14030 INFO [logger] logger started (mode=all) INFO [logger] Start file log (type: full) INFO [logger] [logger] ./log/2022-01-21/16_09_43.ulg INFO [logger] Opened full log file: ./log/2022-01-21/16_09_43.ulg INFO [mavlink] MAVLink only on localhost (set param MAV_BROADCAST = 1 to enable network) INFO [px4] Startup script returned successfully

Comments It looks like the script uses the bc calculator package. This doesn't seem to be installed by default.

chrismiller7 avatar Jan 21 '22 16:01 chrismiller7

Was this fixed by your #30 updates?

The dependencies that are required can be found in the linux scripts (which are run in CI);

  • https://github.com/PX4/PX4-Autopilot/blob/master/Tools/setup/ubuntu.sh
  • https://github.com/PX4/PX4-Autopilot/blob/master/Tools/setup/requirements.txt

Windows is a bit undersupported since most dev team are on linux or macOS. We want to move to WSL2 based solution soon so it can use the same core scripts for setup.

hamishwillee avatar Jan 30 '22 21:01 hamishwillee