Installing on Pi with JMRI

Hi

I’m trying to install traintastic on a Pi that has JMRI pre-installed (Steve Dodd’s image). I want to install the Development Packages as I want to use MERG/CBUS. I’ve downloaded the packages for armhf.

I believe that the data file has loaded ok, however when I try to install the server, apt complains with:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
traintastic-server : Depends: traintastic-data (>= 0.4.0~raspbian~trixie~master~1975~b9e406c7) but 0.4.0~debian~trixie~master~1975~b9e406c7 is to be installed
Depends: libarchive13t64 (>= 3.2.1) but it is not installable
Depends: libc6 (>= 2.38) but 2.36-9+rpt2+deb12u13 is to be installed
Depends: liblua5.4-0 (>= 5.4.6) but it is not going to be installed
Depends: libstdc++6 (>= 14) but 12.2.0-14+rpi1+deb12u1 is to be installed
E: Unable to correct problems, you have held broken packages.

Can anyone cast a light as to what is happening and how I can resolve it?

Many thanks

Simon

Hi Simon,

Welcome to the forum!

Which version of Raspbian is used to build the image? Traintastic’s debain package files expect Debian 13 (trixie).

Can you run lsb_release -a and uname -a in the console, that should display something like:

reinder@rpi4:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 13 (trixie)
Release:        13
Codename:       trixie

reinder@rpi4:~ $ uname -a
Linux ghr-rpi4-32 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

How did try to install the packages? using apt or dpkg?

Greetings,
Reinder

Hi Reinder

Thanks for the quick reply.

It seems like I’m running bookworm, so I need to upgrade to pixie!

I’ll do the upgrade and try again.

BTW - I was using apt.

Cheers

Simon

@reinder i Will try my Armbian bananapi later this week ( not feeling well & work has been intense )

Hopefully it is not an architecture difference armhf vs arm64 )
Or have that difference about to bite me :slight_smile:

I’ve had to do a complete reinstall of the Raspberry Pi OS in order to upgrade to trixie!

I now get this error:

pi@RPi-JMRI:~/Downloads $ sudo apt-get install ./traintastic-data_0.3.1.debian.trixie_all.deb
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Note, selecting ‘traintastic-data’ instead of ‘./traintastic-data_0.3.1.debian.trixie_all.deb’
The following NEW packages will be installed:
traintastic-data
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/2,503 kB of archives.
After this operation, 18.4 MB of additional disk space will be used.
Get:1 /home/pi/Downloads/traintastic-data_0.3.1.debian.trixie_all.deb traintastic-data all 0.3.1~debian~trixie [2,503 kB]
Selecting previously unselected package traintastic-data.
(Reading database … 127775 files and directories currently installed.)
Preparing to unpack …/traintastic-data_0.3.1.debian.trixie_all.deb …
Unpacking traintastic-data (0.3.1~debian~trixie) …
Setting up traintastic-data (0.3.1~debian~trixie) …
N: Download is performed unsandboxed as root as file ‘/home/pi/Downloads/traintastic-data_0.3.1.debian.trixie_all.deb’ couldn’t be accessed by user ‘_apt’. - pkgAcquire::Run (13: Permission denied)

And I cannot install the server

I’ve checked permissions of the file, the Downloads folder as well as /var/cache/apt/archives/partial/ (this was suggested in an Ubuntu forum), bu no luck.

Any suggestions?

Thanks

Simon

Hi,

This is some kind of notice, I tried it on my RPi4 running Trixie, it reports this message too, but it installs the package.

Only difference is that I used: sudo apt install traintastic-data_0.3.1.debian.trixie_all.deb

What is the error you get when trying to install the server?

Greetings,
Reinder

I get the following:

sudo apt install ./traintastic-server_0.3.1.raspbian.trixie_armhf.deb
Note, selecting ‘traintastic-server:armhf’ instead of ‘./traintastic-server_0.3.1.raspbian.trixie_armhf.deb’
Solving dependencies… Error!
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

Unsatisfied dependencies:
traintastic-server:armhf : Depends: traintastic-data:armhf (>= 0.3.1~raspbian~trixie) but it is not installable
Depends: libboost-program-options1.81.0:armhf (>= 1.81.0) but it is not installable
Depends: libboost-url1.81.0:armhf (>= 1.81.0) but it is not installable
Error: Unable to correct problems, you have held broken packages.
Error: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:

  1. traintastic-server:armhf=0.3.1~raspbian~trixie is selected for install
  2. traintastic-server:armhf Depends traintastic-data:armhf (>= 0.3.1~raspbian~trixie)
    but none of the choices are installable:
    [no choices]

Simon

Hi Simon,

I wonder if it is a architecture mismatch. Do you run a 32bit or 64bit version of Raspberry Pi OS?

Can you run: apt list libboost-program-options1.81.0 ?
This will display some information about the package that will help to locate the issue.

Greetings,
Reinder

Moin,

just setting up a Pi to generate the AppImage. The newest RaspianOS 64 Bit has only boost 1.83 and 1.88.

Traintastic 0.4 just compiles, you need to have time :wink:

Greetings, Tom

Hi Reinder

My system returns nothing when I enter the apt command (sudo apt….), just goes straight to command prompt.

Cheers

Simon

Hi Simon,

Does one of these output something?

  • apt list libboost-program-options1.83.0
  • apt list libboost-program-options1.88.0
  • apt list libboost-program-options

The issue is probably in a different boost version as @DL7BJ describes, what I will do is update my RPI4 (that build Traintastic) to the latest version of Trixie.

@DL7BJ is working on AppImage packages for Traintastic, once that is ready we should get rid of this issue for good :slight_smile:

I hope it doesn’t take to long…

Greetings,
Reinder

.83.0 returns

libboost-program-options1.83.0/stable,now 1.83.0-4.2 arm64 [installed,automatic]
libboost-program-options1.83.0/stable 1.83.0-4.2 armhf

.88.0 returns

libboost-program-options1.88.0/stable 1.88.0-1 arm64
libboost-program-options1.88.0/stable 1.88.0-1 armhf

and without any version returns nothing.

Moin Reinder,

and I will build something else nice: a ready-to-use image with Traintastic, JMRI and MMC :blush:

It’s ready with the compile job:

Greetings, Tom

1 Like

Hi Tom

That’s sounds fantastic! All the goodies in one, perfect :slightly_smiling_face:

Cheers

Simon

Awesome Tom!

Where are the icons and images in Traintastic, there is something missing…

Did you compile it from source?

Greetings,
Reinder

Moin Reinder,

Yes, just compile #1978 :slight_smile: After that I will make a backup of the sd-card. And search the icons. The Pi is headless, I use xrdp on it, so you could use Windows RDP, iOS, Android or like me xfreerdp - disabled Wayland on the Pi.

Greetings, Tom

Moin Tom,

The icons are embedded in the executable, Qt’s resource system handles that. Is this an AppImage traintastic? (If so, maybe something is missing, Qt has plugins libs for image formats.)


Hi Simon,

I’ve build the latest development version with boost 1.83 for the Raspberry Pi, can you give it a try? → Traintastic development builds


Greetings,
Reinder

Moin Reinder,

the build process on a Pi is terrible slow. It’s not a AppImage, it’s directly build on the Pi and running there. Could be, that’s a problem exists with xrdp. Just wrote a script to build Traintastic with QEMU and docker. But I have some problems, I have to solve:

c++: internal compiler error: Segmentation fault signal terminated program cc1plus
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <file:///usr/share/doc/gcc-14/README.Bugs> for instructions.
gmake[2]: *** [CMakeFiles/traintastic-server.dir/build.make:79: CMakeFiles/traintastic-server.dir/src/main.cpp.o] Error 4
gmake[1]: *** [CMakeFiles/Makefile2:1101: CMakeFiles/traintastic-server.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs…

The build script is here:

It seems, that the seg fault is a result of to many cpus. Qemu has some problems with parallel build processes. Just reduced the cpus and set the container to 24GByte RAM. Got now the error with gmake, not with cc1plus, at 17%. Thats some experimental, to find the right values.

Greetings, Tom

Morning Reinder

Success!!

I’ve installed data and get the same permissions error. I then installed server (64 bit version this time!) and it installed with the same permissions error:

Notice: Download is performed unsandboxed as root as file ‘/home/pi/Downloads/traintastic-server_0.4.0~debian~trixie~master~1979~9a069246_arm64.deb’ couldn’t be accessed by user ‘_apt’. - pkgAcquire::Run (13: Permission denied)

Then installed the client with the same permissions error, started the server and then ran the client. I now have the home screen for Traintastic :blush:

Cheers

Simon

Hi,

I have no problems to install the dev packages.

tom@traintastic:~/Downloads $ sudo dpkg -i traintastic-data_0.4.0~debian~trixie~master~1979~9a069246_all.deb 
Selecting previously unselected package traintastic-data.
(Reading database ... 258910 files and directories currently installed.)
Preparing to unpack traintastic-data_0.4.0~debian~trixie~master~1979~9a069246_all.deb ...
Unpacking traintastic-data (0.4.0~debian~trixie~master~1979~9a069246) ...
Setting up traintastic-data (0.4.0~debian~trixie~master~1979~9a069246) ...
tom@traintastic:~/Downloads $ sudo dpkg -i traintastic-client_0.4.0~debian~trixie~master~1979~9a069246_arm64.deb 
(Reading database ... 259327 files and directories currently installed.)
Preparing to unpack traintastic-client_0.4.0~debian~trixie~master~1979~9a069246_arm64.deb ...
Unpacking traintastic-client (0.4.0~debian~trixie~master~1979~9a069246) over (0.4.0~debian~trixie~master~1979~9a069246) ...
Setting up traintastic-client (0.4.0~debian~trixie~master~1979~9a069246) ...
Processing triggers for mailcap (3.74) ...
Processing triggers for desktop-file-utils (0.28-1) ...
tom@traintastic:~/Downloads $ sudo dpkg -i traintastic-server_0.4.0~debian~trixie~master~1979~9a069246_arm64.deb 
Selecting previously unselected package traintastic-server.
(Reading database ... 259327 files and directories currently installed.)
Preparing to unpack traintastic-server_0.4.0~debian~trixie~master~1979~9a069246_arm64.deb ...
Unpacking traintastic-server (0.4.0~debian~trixie~master~1979~9a069246) ...
Setting up traintastic-server (0.4.0~debian~trixie~master~1979~9a069246) ...
Created symlink '/etc/systemd/system/multi-user.target.wants/traintastic-server.service' → '/usr/lib/systemd/system/traintastic-server.service'.

@reinder The icons are missing with your build, too:

The icons are also missing, if I connect a HDMI display direct to the Raspberry. This solves the problem with the missing icons:

sudo apt install qt6-svg-plugins

The installing of the three packages is ok and the server is running.

Greetings,

Tom