April 27, 20215 yr 6 minutes ago, albar965 said: Normally this should work without any LDCONFIG environment variable or tool magic. There should also be no need to install libs system folders. In general you are right 🙂, but here system's behaviour is "strange" - I suppose the linking process doesn't write full absolute path but relative path (or other string). To check this it's necessary manually review library binaries in hex editor, unfortunately I haven't RPi4 nor Raspbian to check this. 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).
April 27, 20215 yr 12 minutes ago, smkr said: I will come back In a few minutes. Could you make a command: "ls -alR <absolute_path_to_LNM> > lnm_dir.txt" , then put lnm_dir.txt file to external server (output will be too long to write in post) and write link to download in post? I'd like to check something ... 🙂 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).
April 27, 20215 yr Author Sorry I have ldcongfig'd both libastro.so.1 and libmarblewidget-qt5.so.25. No change! The only change is if I copy libmarblewidget* to build-littlenavmap-release, then ./littlenavmap cannot load libastro.so.1 /Sten
April 27, 20215 yr Author Piotr it's there now! https://1drv.ms/u/s!Avz73tRxHW6Nhuw-rTyBYswqzXU9zQ?e=deJvbX /Sten
April 27, 20215 yr 30 minutes ago, smkr said: https://1drv.ms/u/s!Avz73tRxHW6Nhuw-rTyBYswqzXU9zQ?e=deJvbX OK. My suspicious was true 🙂 You haven't got lib subdirectory under LNM directory tree and all your dynamic libraries are under main LNM directory instead in lib subdirectory. Try create lib subdirectory** and move all libraries into this subdirectory. I hope it helps ... 😛 Regards, Piotr **of course - with proper access rights Edited April 27, 20215 yr 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).
April 27, 20215 yr Author Sorry, I think I lost You. Do i need a folder"´ "lib" under /home/pi/projects/build-littlenavmap-release? like this " /home/pi/projects/build-littlenavmap-release/lib"? And which folder are the libraries in are You talking about? sorry I'm a noob! /Sten
April 27, 20215 yr 16 minutes ago, smkr said: Sorry, I think I lost You. Do i need a folder"´ "lib" under /home/pi/projects/build-littlenavmap-release? like this " /home/pi/projects/build-littlenavmap-release/lib"? And which folder are the libraries in are You talking about? sorry I'm a noob! /Sten 1) If /home/pi/projects/build-littlenavmap-release is the LNM directory you launch littlenavmap from, that means under this directory should be lib subdirectory /home/pi/projects/build-littlenavmap-release/lib as the dynamic linker reference to relative path in its call. 2) I've noticed all your dynamic libraries (....so files and links to them) are under /home/pi/projects/build-littlenavmap-release but should be in lib subdirectory one level below littlenavmap binary file -> see dynamic linker messages about lack of marble libraries 3) Don't worry, every of us learn. I wasn't born with this knowledge ... 😜 Regards, Piotr Edited April 27, 20215 yr 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).
April 27, 20215 yr Here is a tool to show or change the library search path (RPATH or RUNPATH) which is baked into the executable: $ chrpath -l littlenavmap littlenavmap: RUNPATH=$ORIGIN:$ORIGIN/./lib:/home/alex/Qt/5.12.9/gcc_64/lib The $ORIGIN:$ORIGIN/./lib part is the important one. LNM will search in "lib" first and take the rest which was not found from system libraries. This avoids a lot of problems with incompatible libraries loaded from system because I can add all needed libraries to the installation. It is easier on Windows. You just add all needed DLLs to the folder of the .exe and Windows will load the local ones first. Alex Alex' Projects: Little Navmap
April 27, 20215 yr Author Something is terrible wrong: pi@test:~/projects/build-littlenavmap-release $ chrpath -l littlenavmap littlenavmap: RUNPATH=$ORIGIN:$ORIGIN/./lib
April 27, 20215 yr 2 minutes ago, smkr said: Something is terrible wrong: pi@test:~/projects/build-littlenavmap-release $ chrpath -l littlenavmap littlenavmap: RUNPATH=$ORIGIN:$ORIGIN/./lib Nope. Looks ok. Ignore the reference to my home folder above. This might happen due to different compiler versions. Alex Alex' Projects: Little Navmap
April 27, 20215 yr Author Alex I don't get anything like what You show in the tree. lib and all the other folders are not set! But I think I will stop trying for a while. I can run it via QT Creator. So it must be like that. What QT Creator does different I don't know! But I can't start the program via terminal or File Manager, even when the completed build is in Creator! But anyway, thank you Alex and Piotr for all Your help. /Sten Ps.: if You need me to try out something, then write.
April 29, 20215 yr Hi Sten, Qt Creator prepares all the library paths before starting up. You can also disable this. I'd like to set up a Raspi VM and give it a try but no idea when. One thing is for sure: You're very close. 99 percent of the porting word is done.👍 Alex Alex' Projects: Little Navmap
April 30, 20215 yr Author Hi Alex I have changed the environtment to RPI4 Ubuntu 20.04! That changed the QT5 to release 5.14.2 and the QT Creator to 4.13.2 and GCC to 10.2.0 On the RPI4 64 bit it is older versions. When making the program it seems it never runs through line 1146 in Makefile! Make here https://1drv.ms/u/s!Avz73tRxHW6Nhuw-rTyBYswqzXU9zQ?e=0clxg5 I can see that the littlenavmap.pro has WINDEPLOY_FLAGS in the win32 section but not anything about deploy in the unix section above. Is that correct? and is it relevant? Sten
May 2, 20215 yr Hi Sten, what is the error message or output of the build? There is no deploy flag for Linux since Qt does not provide a deployment tool. Only for macOS and Windows and even these are still buggy. Deployment tries to copy libraries from the Qt installation folder and not from the system. Maybe the paths have to be adapted in the littlenavmap.pro file. Alex Alex' Projects: Little Navmap
Archived
This topic is now archived and is closed to further replies.