Clamb94/StableApproach

Linux support

Clamb94 opened this issue · 8 comments

Linux support

Mac support added with version 0.9.6

Linux support would be greatly appreciated. If you need any help setting up a Linux build please let me know as I have many X-Plane multiplatform plugins here on GitHub.

Thanks, William, highly appreciate it.
I'll try it again to get it running on Linux. If I don't success, I'll report back

Linux support would be greatly appreciated. If you need any help setting up a Linux build please let me know as I have many X-Plane multiplatform plugins here on GitHub.

Hi, I tried again to get it running on Linux, but it won't work =(

I'm able to compile it, but when launching X-Plane I'm getting the message in the log.txt

dlerror:libboost_date_time.so.1.72.0: cannot open shared object file: No such file or directory

I'm not really sure why, thought. I tried placing this shared object file into my plugin folder and the X-Plane main folder, but it makes no difference.

Any idea how to solve this?

On my Ubuntu 20.04 I have libboost-date-time1.71.0 installed.

Do you have libboost-date-time1.72.0 installed?

What it the output of the command "ldd lin.xpl"

You also might need to add something like this "target_link_libraries(FlyWithLua -Wl,-rpath=./Resources/plugins/FlyWithLua/64)" that I have in my CMakeLists.txt file for FlyWithLua so it will look in your plugin folder.

Thanks for your help

Do you have libboost-date-time1.72.0 installed?

Yes, I build it myself since it's not available with apt-get.
I tried 1.71.0 from apt-get as well.

What it the output of the command "ldd lin.xpl"

Output: statically linked

You also might need to add something like this "target_link_libraries(FlyWithLua -Wl,-rpath=./Resources/plugins/FlyWithLua/64)" that I have in my CMakeLists.txt file for FlyWithLua so it will look in your plugin folder.

I placed libboost_date_time.so.1.72.0 into /Resources/plugins/StableApproach/lin_x64/ and modified the target_link_libraries(...) accordingly.
This seems so be doing...something.
Now the X-Plane log shows:

dlerror:/home/axel/X-Plane 11/Resources/plugins/StableApproach/lin_x64/StableApproach.xpl: undefined symbol: _ZNK5boost9gregorian10greg_month15as_short_stringEv

So, as far as I can tell it's now reading the .so file, but can't find the function needed.
I tried 1.71.0 and the latest 1.77.0 as well, same errors.
It's working fine on Windows and mac with 1.72.0

I actually got a similar error before when I tried to static link date_time.a, which did not work either.

For me, it looks like there is a problem with the boost_date_time on Linux, but it's more likely an issue on my side I can imagine

Update:
I managed to static link date_time.
Now the next error when running X-Plane:
dlerror:/home/axel/X-Plane 11/Resources/plugins/StableApproach/lin_x64/StableApproach.xpl: undefined symbol: atexit

Let's see if I can find what causes this...

Heureka!
After removing -nodefaultlibs it's working! (Why is it even there?)

Will do some tests and upload it with the next version, most likely tomorrow

Edit: Still seems to be a bit buggy. Needs more testing