tolga9009 / sidewinderd

Linux support for Microsoft SideWinder X4 / X6 and Logitech G103 / G105 / G710+.
http://cevel.net
Other
151 stars 26 forks source link

tinyxml2 upgrade broke daemon #31

Open ghost opened 6 years ago

ghost commented 6 years ago

Just now noticed this and I did several large and dependent heavy upgrades today, so I do not know for certain which one bumped tinyxml2 from 0.5 to 0.6, but systemctl fails to start sidewinderd.service without libtinyxml2.so.5. However the fix was simple, and a symlink pointing to the newer lib worked:

ln -s /usr/lib/libtinyxml2.so.6.0.0 /usr/lib/libtinyxml2.so.5

Kernel: 4.14.4-1-ARCH x86_64 bits: 64 Desktop: Cinnamon 3.6.6 Distro: Arch Linux

Just wanted to make you aware incase this is distro specific or someone else comes by wondering what to do. A downgrade to tinyxml2 probably would cause a dependency apocalypse if you do any dotnet CLI or any kind of coding via CLI, let alone normal use issues.

Marateg commented 4 years ago

same problem was with version 7 of tinyxml2: this fixed my Manjaro :-) sudo ln -s /usr/lib/libtinyxml2.so.7 /usr/lib/libtinyxml2.so.6

# uname -a
Linux Home 5.3.6-1-MANJARO #1 SMP PREEMPT Sat Oct 12 09:30:05 UTC 2019 x86_64 GNU/Linux
tolga9009 commented 4 years ago

This happens, when you have an old build, linking against a previous version of tinyxml2. The proper fix would be to delete the build directory e.g. by using rm -rf build and re-building & re-installing sidewinderd from scratch by following the instructions at https://github.com/tolga9009/sidewinderd#install.

Unfortunately, I'm not aware of any methods to fix it within the scope of this project. It's unusual for a stable library to get major version bumps each year, so keep this thread in mind.

I'll leave this issue tracker open, so it's easier to find for future readers.

jayfan0 commented 1 month ago

Thanks for leaving this open, this helped me today with version 9 > 10.

Would linking against libtinyxml2.so instead of libtinyxml2.so.X during build time help? Though i suppose there is risk of using an incompatible version. The .so usually links to whatever latest version is installed