jmmorato / openddsharp

OpenDDS wrapper for .NET languages
http://www.openddsharp.com
GNU Lesser General Public License v3.0
53 stars 12 forks source link

Run on Linux #242

Open CarolinaKL opened 5 months ago

CarolinaKL commented 5 months ago

Hi,

I am writing an app that will need to run on linux, but is developed on windows. When I try running it on linux I get the following error: TransportRegistry::Create_inst: transporttype=rtps_udp is not registered. (attaching a photo). The rtps.ini file is located in the same location as the executable. I published the project in visual studio as a self contained project for linux-x64 and the publish was successful. I will also mention that on windows this same project runs. Can you maybe point to what is missing? Thanks! 20240520_080446

jmmorato commented 5 months ago

I published the project in visual studio as a self contained project for linux-x64 and the publish was successful.

Better compile the project directly in your linux machine. You can see an example of the commands in the getting started article (https://www.openddsharp.com/articles/getting_started.html)

However, the error shown in your image does not look the usual issue about cross-compilation. I would say the issue is that you have windows break lines characters in your rtps.ini file and that makes OpenDDS to fail when reading the configuration. Try to change the file format to Unix using vim or a similar tool, re-run the application and let me know about the result please.

CarolinaKL commented 5 months ago

Thank you, as you suggested, managed to build the project on linux. However, build only succeeded starting ubuntu 22.04. On version 20.04 the glibc library was not compatible.

Regarding the rtps.ini - I changed the file format but still received the same error. Is there anything else to try? Because if possible I would prefer to be able to build the project on windows.

Thanks for your help!!

jmmorato commented 5 months ago

However, build only succeeded starting ubuntu 22.04. On version 20.04 the glibc library was not compatible.

I guess is because the native libraries were compiled against Ubuntu 22.04 (ubuntu-latest). I will try to downgrade the version for next releases, thanks for reporting

Regarding the rtps.ini - I changed the file format but still received the same error.

Weird... are you sure the file is not replaced during the publish process? Could you share the exact file you are trying to use and I will take a look?