On Thu, Jan 16, 2020 at 4:29 PM Andreas Schneider <[email protected]> wrote: > > On Thursday, 16 January 2020 14:40:50 CET [email protected] wrote: > > Hi there, > > > > cmake detects pthreads and compiling goes well. But on linking, there > > are unresolved references: > > > > CMakeFiles/ssh.dir/objects.a(pthread.c.obj):pthread.c:(.text+0x43): > > undefined reference to `pthread_mutex_destroy' > > > > ... and so on. > > > > This can be solved by adding `-lpthread `at the end of the last line of > > build/src/CMakeFiles/ssh.dir/link.txt > > > > I don't know a lot about cmake. So I couldn't find a way to tell it to > > add it at the rigth place. > > > > CMAKE_SHARED_LINKER_FLAGS etc. did not do the trick because it puts it > > in the wrong place (before CMakeFiles/ssh.dir/objects.a). > > Can you try: > > https://git.libssh.org/users/asn/libssh.git/commit/?h=master-threads
On glibc you may not want to link with -lpthread, unless you are using real threads. That's because it can increase the overhead for single threaded applications. See also: https://bugzilla.redhat.com/show_bug.cgi?id=877421 regards, Nikos
