Random Libs and Issues Pertaining to Dronecode and the BBBlue

Hello There,

I recently got back to the bandwagon of PX4, Linux, and the BBBlue.

How would I go about using a glibc versioning but just for one particular library?

I have a 2.24 version of glibc on the BBBlue but I need:

./bin/px4: /lib/arm-linux-gnueabihf/libc.so.6: version GLIBC_2.34’ not found (required by ./bin/px4

I can install the library/glibc via wget on a toolchain but I cannot install the toolchain without breaking my Debian distro.

sudo ./bin/px4 -s px4.config
[sudo] password for debian:
./bin/px4: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.34' not found (required by ./bin/px4)
./bin/px4: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.38' not found (required by ./bin/px4)
./bin/px4: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by ./bin/px4)
./bin/px4: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.27' not found (required by ./bin/px4)
./bin/px4: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.38' not found (required by ./bin/px4)

Those are the extent of the errors so far and I think they are because of the toolchains.

are you cross compiling px4 or building it on the bbblue?

i got those errors when cross compiling librobotcontrol, but not when building it on bbblue.

1 Like

I am cross_compiling PX4 but librobotcontrol is already on the board and working.

When I cross_compile PX4, it shows everything is in an okay manner and then it uploads to the BBBlue.

I thought I could erase the part on PX4 that installs the librobotcontrol library. This has proven to be a terrible way to go about it because of all the .cmake files and CMakeLists.txt file(s).

I am not able to track down exactly where the file is to change or even what the file will look like now.

Um…also. My board is run by eMMC now. I do not want to goof that up and install PX4 and run out of memory/space.

yup, that is the case, then when ya run it, ya get the failures you have indicated.

can’t ya build px4 on the bbblue?

fyi, i use a usb-sata drive to do my buildings, thus not stressing a sdcard with the build.

1 Like

@amf99 , my kernel and image are all on the BBBlue.

I cannot build PX4 directly on the eMMC. I will run out of space on the eMMC.

add ssd or sdcard and mount it, then build on that? or are you running out of memory?

post link to git repo, i’ll try on my setup in the morning.

1 Like

I do not know how to mount the SD Card with any known source. I never tried that before today. I can learn I guess.

So, I place a micro SD Card in the carriage and then what exactly needs to happen?

dd or a beagleboard.org script to handle transitioning to micro SD Card from eMMC?

find the sdcard with lsblk,

in the home directory, mkdir ssd

sudo mount /dev/sdcard ssd

the sdcard is the one with a 1 at the end

sudo chown debian:debian ssd

assuming debian is the user name

cd ssd

verify read/write to ssd direction, touch test, rm test, if no errors then your ready to download you code

unless you add the mount to /etc/fstab, you will need to mount the sdcard after each reboot

1 Like

That makes sense. I will try. Wish me luck (as I fall through the ceiling)…

update

I think I thought something. Anyway, that has past now. The Disks department is taking a year to erase and partition the micro SD Card. Still waiting, i.e. two hours ago…

Seconds of thoughts here. I am sorry. @amf99 , I am not going to try your way to port the eMMC to the micro SD Card. I cannot risk it. The librobotcontrol works as is!

I do not want to make a mistake yet.

Dang it. I am looped. I think I will try this idea too. I found the docs. of the BBBlue and it says:

Insert micro sd card, remove power from the 
BeagleBone, hold sd card select button, power up board

Let the board flash

I understand I need to go unpowered before I insert the micro SD Card. Dang it. I might try it.

@amf99 , have you tried update-alternatives for configuring the compiler options?

i think your missing what i’m trying to have you do.

you can run from emmc, just have an sdcard with no image installed

let bbblue boot from emmc,

then mount the sdcard (assuming the sdcard has been formated as ext4)

the sdcard then is a second drive that you can do all you builds on.

your OS will still run from emmc,

1 Like

gotcha. Now, I understand. I will try it soon, i.e. tomorrow. zzzzzzzzzz…

The Dronecode on the BBBlue with micro SD Card does not build. So, I am moving on for now. I will try later.

1 Like
~/px4$ sudo ./bin/px4 -s px4.config
[sudo] password for debian:
INFO  [px4] mlockall() enabled. PX4's virtual address space is locked into RAM.
INFO  [px4] assuming working directory is rootfs, no symlinks needed.

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

px4 starting.

INFO  [px4] startup script: /bin/sh px4.config 0
INFO  [param] selected parameter default file parameters.bson
ERROR [param] open 'parameters.bson' failed (2)
  CBRK_SUPPLY_CHK: curr: 0 -> new: 894281
  SYS_AUTOSTART: curr: 0 -> new: 4011
  MAV_TYPE: curr: 0 -> new: 2
  BAT1_V_CHANNEL: curr: -1 -> new: 5
  BAT1_V_DIV: curr: -1.0000 -> new: 11.0000
WARN  [dataman] Could not open data manager file /fs/microsd/dataman
ERROR [dataman] dataman start failed
bmp280 #0 on I2C bus 2 (external) address 0x76
mpu9250_i2c #0 on I2C bus 2 (external) address 0x68
ERROR [px4] failed to instantiate object
INFO  [commander] LED: open /dev/led0 failed (22)
WARN  [health_and_arming_checks] Too many arming check events (1, 14 > 14). Not reporting all
WARN  [health_and_arming_checks] Preflight Fail: No valid data from Accel 0
WARN  [health_and_arming_checks] Preflight Fail: No CPU and RAM load information
WARN  [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN  [health_and_arming_checks] Preflight Fail: No valid data from Gyro 0
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
WARN  [health_and_arming_checks] Preflight Fail: Missing FMU SD Card
ERROR [dataman_client] timeout after 1000 ms!
ERROR [dataman_client] Failed to get client ID!
ERROR [dataman_client] timeout after 1000 ms!
ERROR [dataman_client] Failed to get client ID!
WARN  [mavlink] offboard mission init failed
INFO  [mavlink] mode: Normal, data rate: 1000000 B/s on udp port 14556 remote port 14550
INFO  [mavlink] using network interface SoftAp0, IP: 192.168.8.1
INFO  [mavlink] with netmask: 255.255.255.0
INFO  [mavlink] and broadcast IP: 192.168.8.255
px4.config: 76: px4.config: linux_pwm_out: not found
INFO  [logger] logger started (mode=all)
ERROR [logger] failed creating log root dir: /fs/microsd/log (2)
INFO  [px4] Startup script returned successfully
pxh> ERROR [dataman_client] timeout after 1000 ms!
ERROR [dataman_client] Failed to get client ID!
WARN  [health_and_arming_checks] Preflight Fail: Accel 0 uncalibrated
WARN  [health_and_arming_checks] Preflight Fail: heading estimate not stable
WARN  [health_and_arming_checks] Preflight Fail: Gyro 0 uncalibrated
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
WARN  [health_and_arming_checks] Preflight Fail: Missing FMU SD Card
ERROR [dataman_client] timeout after 1000 ms!
ERROR [dataman_client] Failed to get client ID!
ERROR [dataman_client] timeout after 1000 ms!
ERROR [dataman_client] Failed to get client ID!
ERROR [navigator] Safe points update failed! state: 1
ERROR [navigator] Geofence update failed! state: 1
INFO  [vehicle_imu] GYRO 0 (2385937) offset committed: [0.000 0.000 0.000]->[0.009 0.008 0.021])
WARN  [health_and_arming_checks] Preflight Fail: Accel 0 uncalibrated
WARN  [health_and_arming_checks] Preflight Fail: heading estimate not stable
WARN  [health_and_arming_checks] Preflight Fail: Found 0 compass (required: 1)
WARN  [health_and_arming_checks] Preflight Fail: Missing FMU SD Card

I had toolchain issue(s).

Now, onto figuring out how in the hoopla to handle this beast!