GrandOrgue / grandorgue

GrandOrgue software
Other
150 stars 39 forks source link

Build on Mint 21.2 fails - missing libpthread.so #1700

Closed ahall41 closed 7 months ago

ahall41 commented 8 months ago

As a quick bodge, I ran sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread.so.0 /usr/lib/x86_64-linux-gnu/libpthread.so, however perceived wisdom (sorry I can't find the reference I had earlier) is this should not be a dependency in the makefile, but rather use -pthread option for gcc?

Without it you get this error:

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libpthread.so', needed by 'bin/GrandOrgue'. Stop.
make[1]: *** [CMakeFiles/Makefile2:550: src/grandorgue/CMakeFiles/GrandOrgue.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
oleg68 commented 8 months ago

@ahall41 I cannot reproduce this problem.

I installed mint 21.2 docker image from https://hub.docker.com/r/linuxmintd/mint21.2-amd64 in a podman container, ran build-scripts/for-linux/prepare-debian-based.sh and then build-scripts/for-linux/build-on-linux.sh. GrandOrgue was built without any errors.

How did you try to build GrandOrgue?

ahall41 commented 8 months ago

As described (I seem to recall). I had just upgraded from an earlier version of Mint, rather than a fresh install. When I googled the error message (I can no longer find the link), the bottom line is that the dependency on libthread.so should be removed from the makefile, and the -pthread option passed to gcc instead.

ahall41 commented 7 months ago

Just installed Ubuntu Cinnamon - got the same error!

oleg68 commented 7 months ago

@ahall41 You have not yet answered my question How did you try to build GrandOrgue?

ahall41 commented 7 months ago

This last time, I already had a system built, and was updating to the latest version. So I just ran make from the build/linux folder.

ahall41 commented 7 months ago

Except ... I've just removed the symlink and it has built OK with the latest version. I don't think any further action is needed as I can no longer see the reference in the Makefile.