The hints with "Undefined reference" are in the whole build log. That is too much for one comment. Therefore, here is the start: [ 14s] [ 77%] Linking CXX shared library ssh2-api-1.1.qmod [ 14s] /usr/bin/cmake -E cmake_link_script CMakeFiles/ssh2.dir/link.txt --verbose=1 [ 14s] /usr/bin/c++ -fPIC -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -DNDEBUG -std=c++11 -DBUILDING_DLL=1 -O2 -g -DNDEBUG -flto=auto -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -shared -Wl,-soname,ssh2-api-1.1.qmod -o ssh2-api-1.1.qmod CMakeFiles/ssh2.dir/src/SFTPClient.cpp.o CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o CMakeFiles/ssh2.dir/src/SSH2Client.cpp.o CMakeFiles/ssh2.dir/src/ssh2-module.cpp.o CMakeFiles/ssh2.dir/QC_SFTPClient.cpp.o CMakeFiles/ssh2.dir/QC_SSH2Base.cpp.o CMakeFiles/ssh2.dir/QC_SSH2Channel.cpp.o CMakeFiles/ssh2.dir/QC_SSH2Client.cpp.o -lssh2 [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::waitSocketUnlocked(int, int) const': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:195: undefined reference to `QoreSocket::asyncIoWait(int, bool, bool) const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::waitSocketUnlocked(ExceptionSink*, char const*, char const*, char const*, int, bool, AbstractDisconnectionHelper*)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:182: undefined reference to `ExceptionSink::raiseErrnoException(char const*, int, char const*, ...)' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::doSessionErrUnlocked(ExceptionSink*)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:147: undefined reference to `ExceptionSink::raiseException(char const*, char const*, ...)' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::waitSocketUnlocked(ExceptionSink*, char const*, char const*, char const*, int, bool, AbstractDisconnectionHelper*)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:175: undefined reference to `ExceptionSink::raiseException(char const*, char const*, ...)' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Channel::check_open(ExceptionSink*)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Channel.h:58: undefined reference to `ExceptionSink::raiseException(char const*, char const*, ...)' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Channel::requestPty(ExceptionSink*, QoreString const&, QoreString const&, int, int, int, int, int)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Channel.cpp:74: undefined reference to `QoreString::getBuffer() const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Channel.cpp:74: undefined reference to `QoreString::strlen() const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Channel.cpp:74: undefined reference to `QoreString::strlen() const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Channel.cpp:74: undefined reference to `QoreString::getBuffer() const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Channel.cpp:74: undefined reference to `QoreString::strlen() const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::waitSocketUnlocked(int, int) const': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:195: undefined reference to `QoreSocket::asyncIoWait(int, bool, bool) const' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::waitSocketUnlocked(ExceptionSink*, char const*, char const*, char const*, int, bool, AbstractDisconnectionHelper*)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:182: undefined reference to `ExceptionSink::raiseErrnoException(char const*, int, char const*, ...)' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::doSessionErrUnlocked(ExceptionSink*)': [ 14s] /home/abuild/rpmbuild/BUILD/module-ssh2-release-0.9.15/src/SSH2Client.h:147: undefined reference to `ExceptionSink::raiseException(char const*, char const*, ...)' [ 14s] /usr/lib64/gcc/s390x-suse-linux/11/../../../../s390x-suse-linux/bin/ld: CMakeFiles/ssh2.dir/src/SSH2Channel.cpp.o: in function `SSH2Client::waitSocketUnlocked(ExceptionSink*, char const*, char const*, char const*, int, bool, AbstractDisconnectionHelper*)':