Jump to content
Sign in to follow this  
smkr

LMN on Raspberry Pi 4

Recommended Posts

Standard question: did you try to find/install Marble before tried to compile them? 🙂

Regards,
Piotr


Never give up ...  - here are details of the whip-round: https://zrzutka.pl/en/pewr2d  -> to help my younger son fights against Acute Lymphoblastic Leukemia (blood cancer).

Share this post


Link to post
Share on other sites

Try to get rid of the useless stuff in Marble. I compile it like:
 

cd $APROJECTS/build-marble-release

cmake -DCMAKE_BUILD_TYPE=Release -DSTATIC_BUILD=TRUE -DQTONLY=TRUE -DBUILD_MARBLE_EXAMPLES=NO -DBUILD_INHIBIT_SCREENSAVER_PLUGIN=NO -DBUILD_MARBLE_APPS=NO -DBUILD_MARBLE_EXAMPLES=NO -DBUILD_MARBLE_TESTS=NO -DBUILD_MARBLE_TOOLS=NO -DBUILD_TESTING=NO -DBUILD_WITH_DBUS=NO -DMARBLE_EMPTY_MAPTHEME=YES -DMOBILE=NO -DWITH_DESIGNER_PLUGIN=NO -DWITH_Phonon=NO -DWITH_Qt5Location=NO -DWITH_Qt5Positioning=NO -DWITH_Qt5SerialPort=NO -DWITH_ZLIB=NO -DWITH_libgps=NO -DWITH_libshp=NO -DWITH_libwlocate=NO -DCMAKE_INSTALL_PREFIX=$APROJECTS/Marble-release -DEXEC_INSTALL_PREFIX=$APROJECTS/Marble-release -DCMAKE_PREFIX_PATH=/home/alex/Qt/5.12.8/gcc_64/ ../marble/

No need to pull in code for antique serial port connections.🙂

You can consider yourself happy. The Linux build is the easiest one.🙃 Windows is more difficult and macOS was a nightmare to set up.

Alex

Edit: BTW: What about cross compiling from Linux/Intel to Raspi/Arm? Qt already comes with the Libraries for Android/ARM.

Edited by albar965

Share this post


Link to post
Share on other sites

Thank You albar965

I have have tried Your new suggestion from above. Again it stops with this error:

/home/pi/projects/marble/src/plugins/render/gpsinfo/GpsInfo.cpp:87:24: error: return type ‘class QIcon’ is incomplete
 QIcon GpsInfo::icon () const
                                    ^~~~~

/home/pi/projects/marble/src/plugins/render/gpsinfo/GpsInfo.cpp: In member function ‘virtual void Marble::GpsInfo::icon() const’:
/home/pi/projects/marble/src/plugins/render/gpsinfo/GpsInfo.cpp:89:51: error: invalid use of incomplete type ‘class QIcon’
     return QIcon(QStringLiteral(":/icons/gps.png"));
                                                                            ^

In file included from /usr/include/aarch64-linux-gnu/qt5/QtCore/qobject.h:54,
                 from /usr/include/aarch64-linux-gnu/qt5/QtCore/QObject:1,
                 from /home/pi/projects/marble/src/lib/marble/RenderPlugin.h:17,
                 from /home/pi/projects/marble/src/lib/marble/AbstractFloatItem.h:18,
                 from /home/pi/projects/marble/src/plugins/render/gpsinfo/GpsInfo.h:20,
                 from /home/pi/projects/marble/src/plugins/render/gpsinfo/GpsInfo.cpp:11:
/usr/include/aarch64-linux-gnu/qt5/QtCore/qmetatype.h:1943:1: note: forward declaration of ‘class QIcon’
 QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/plugins/render/gpsinfo/CMakeFiles/GpsInfo.dir/build.make:80: src/plugins/render/gpsinfo/CMakeFiles/GpsInfo.dir/GpsInfo.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2278: src/plugins/render/gpsinfo/CMakeFiles/GpsInfo.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

 

Later today I will try to install QT for win10

Regards.

Sten

 

 

Share this post


Link to post
Share on other sites

Hi Sten,

these might be includes missing. Looks like a #include <QIcon> is missing in the file. This can happen across different Qt versions. LNM (and Marble) should compile with Qt 5.9 up to 5.15.

You can simply add the missing include and send me a patch or pull request.

Make sure you use the right repo and branch (https://github.com/albar965/marble/tree/lnm/1.1).

Alex

Share this post


Link to post
Share on other sites

After a couple of day with banging my head at every wall in my house in frustration, I have now Littlenavmap running via QT Creator on the RPI4. And when connecting via network I can see the plane on the right spot!

That is the good news!  The bad news is that it is only X11!

The main window shows Little Navmap 2.6.11 - XP11 (N)

About shows

Version2.6.11 (revision ba337151)

atools Version 3.6.11 (revision e04077c3

openSSL 1.1.1d 10sep 2019 (build and Library)

 

  1. What is wrong?
  2. And how can I get it to recognize MSFS?
  3. I can't start lmn from terminal: ./littlenavmap: /littlenavmap-rel $ ./littlenavmap
    ./littlenavmap: error while loading shared libraries: libmarblewidget-qt5.so.25: cannot open shared object file: No such file or directory
    But it is in projects/Marble-release/src/lib/marble!!

 

I have compiled these versions

/marble $ git branch -a
* lnm/1.1
  remotes/origin/lnm/1.1

and

atools $ git branch -a
* release/3.6
  remotes/origin/release/3.6

/Sten

and

/littlenavmap $ git branch -a
* release/2.6
  remotes/origin/release/2.6

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Hi Sten,

I know this head banging far too good.🙃 But it seems you made it. Congatulations! Send me a pull request on Github if any code changes were needed.

The branches are ok. Looks strange but atools is always a major number ahead for historical reasons.

About the XP only thing: This is normal. LNM shows only X-Plane on Linux and macOS since it is the only simulator running on these OS. No way to recognize MSFS there.
You have to create a scenery library database (Sqlite file) on the flying computer and then copy it to the remote.
https://www.littlenavmap.org/manuals/littlenavmap/release/2.6/de/NETWORK.html
Do not copy the MSFS files and do not use a share to load the library. It is not needed.

Ale

Share this post


Link to post
Share on other sites

Thank you  Alex

Sadly, I can not load the databases!

I used the path: pi/projects/little_navmap_db.

The answer from the program is: " Cannot read base path "/home/pi//projects/little_navmap_db".

Reason

Directory "/home/pi/projects/little_navmap_db/Resources/default data" does not exist.

If I create those 2 directories the load command just append the Resources/default data in the error message:

Directory "/home/pi/projects/little_navmap_db/Resources/default data/Resources/default" does not exist.

on my win10 those directories does not exist

/Sten

 

 

 

Edited by smkr

Share this post


Link to post
Share on other sites

1) ".../Resources/default data" - this name sounds familiar to me 🙂
Similar directory exists under XP11 installation tree and contains all XP11 default navigation data.

2) It seems the path "pi/projects/little_navmap_db" is glued to /home.
Because Raspbian is а  Linux , IMHO you have to create path inside your home directory.
It means if your username you are working under is for example "smkr", then your home directory should be "/home/smkr" .
If you under such account directory create subdirectory "/home/smkr/projects/little_navmap_db" and put databases there, so IMHO you should in such a case give/write path: "smkr/projects/little_navmap_db".


Regards,
Piotr


Never give up ...  - here are details of the whip-round: https://zrzutka.pl/en/pewr2d  -> to help my younger son fights against Acute Lymphoblastic Leukemia (blood cancer).

Share this post


Link to post
Share on other sites

hi Piotr

The path to the projects directory is: home/pi/projects/

I just use default username in RPI.

/Sten

Share this post


Link to post
Share on other sites

But is it either a "home/pi/projects" or either a "/home/pi/projects"? - because it's a great difference in UNIX like systems if you don't start at root / directory tree (second option is an absolute path).

Regards,
Piotr


Never give up ...  - here are details of the whip-round: https://zrzutka.pl/en/pewr2d  -> to help my younger son fights against Acute Lymphoblastic Leukemia (blood cancer).

Share this post


Link to post
Share on other sites

It is absolute path.

it is /home/pi/projects. 

so the path to the db is /home/pi/projects/little_navmap_db.

So everythings is inside my account with my ownership.

 

/Sten

Share this post


Link to post
Share on other sites
1 hour ago, smkr said:

The answer from the program is: " Cannot read base path "/home/pi//projects/little_navmap_db".

OK. So, now it's necessary to check a rights to the directory tree.

Please give a command "ls -alZ" for a given directories:
1)  /
2) /home
3) /home/pi
4) /home/pi/projects
5) /home/pi/projects/little_navmap_db

and write the output in another post here**. I suppose the problems with permissions.

Regards,
Piotr

[edit]
ps. and also I have to know what is the default group the user "pi" is belonged to. If I remember well you get this groupname by "id -gn pi"

 

[edit2]
**if the outputs will be long, write them to the file and put on external server but write the link to download here

[edit3]
Have you got a SELinux enabled on Raspbian or not? And if it's enabled - which mode was chosen - enforcing or permissive?
Another option is also FACL lists (if you installed this package) but in default installation this isn't shipped with Raspbian.



 

Edited by ppgas

Never give up ...  - here are details of the whip-round: https://zrzutka.pl/en/pewr2d  -> to help my younger son fights against Acute Lymphoblastic Leukemia (blood cancer).

Share this post


Link to post
Share on other sites

You do not have to load the databases. See the link I posted above. Simply copy the database from the flying computer to /home/pi/.config/ABarthel/little_navmap_db.
No loading needed since the db is ready to use.

If you run LNM as user "pi" make sure that the db is owned and accessible by pi and not root. Below from Ubuntu on my development system:

$ ls -lh $HOME/.config/ABarthel/little_navmap_db/little_navmap_msfs.sqlite
-rw-r--r-- 1 alex alex 714M Apr 23 13:46 /home/alex/.config/ABarthel/little_navmap_db/little_navmap_msfs.sqlite

Edit: This path is fixed and not related to the projects folder where LNM was built.

Alex

Edited by albar965

Share this post


Link to post
Share on other sites

Alex - it's also possible that his parent directory (or directories up) have got improper permissions set and that's why there is no access to databases beneath.
That's why I've asked about different things concern directories permissions (at Linux there are usually three kinds permissions possible - system permissions, FACL lists and SELinux properties).

At such a case the access is impossible even when the file itself has got proper permissions -rw-r--r-- (0644/644 in octal).
Directories have to got set bit x  - in Unix like systems it's execute bit only for files, for directories it means it's possible to change/enter into directory.
So ,if the parent directory has got set permissions -rwx-r-xr-x (0755/755 octal) - it's okay.
But if you take the "x" bit from directory permissions to get -rw-r--r-- (similar like database files) you will be unable to get access into the files inside given directory.

The only accounts that bypass system permissions in UNIX systems are root accounts , normal user always has to set "x" bit for directory to get access
(and r/w rights depend on required read/write permissions).
But I suggest don't use root account for daily work ... 😛

Regards,
Piotr

Edited by ppgas

Never give up ...  - here are details of the whip-round: https://zrzutka.pl/en/pewr2d  -> to help my younger son fights against Acute Lymphoblastic Leukemia (blood cancer).

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...