Source: Author: B Stack Message: The upstream author observed that some of the values he uses are not in the libssh2 public headers. I don't know where he uses them from, but I had to replace them here to get this to compile. Date: 2022-10-11T15:34Z Version: 11.26 https://github.com/libssh2/libssh2/issues/90 diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/FreeFileSync/Source/afs/sftp.cpp 11.6-1/FreeFileSync/Source/afs/sftp.cpp --- 11.26-0/FreeFileSync/Source/afs/sftp.cpp 2021-02-02 11:37:38.589717171 -0500 +++ 11.26-1/FreeFileSync/Source/afs/sftp.cpp 2021-02-02 13:06:45.782113785 -0500 @@ -65,9 +65,8 @@ //attention: if operation fails due to time out, e.g. file copy, the cleanup code may hang, too => total delay = 2 x time out interval -const size_t SFTP_OPTIMAL_BLOCK_SIZE_READ = 16 * MAX_SFTP_READ_SIZE; //https://github.com/libssh2/libssh2/issues/90 -const size_t SFTP_OPTIMAL_BLOCK_SIZE_WRITE = 16 * MAX_SFTP_OUTGOING_SIZE; //need large buffer to mitigate libssh2 stupidly waiting on "acks": https://www.libssh2.org/libssh2_sftp_write.html -static_assert(MAX_SFTP_READ_SIZE == 30000 && MAX_SFTP_OUTGOING_SIZE == 30000, "reevaluate optimal block sizes if these constants change!"); +const size_t SFTP_OPTIMAL_BLOCK_SIZE_READ = 16 * 30000; //https://github.com/libssh2/libssh2/issues/90 +const size_t SFTP_OPTIMAL_BLOCK_SIZE_WRITE = 16 * 30000; //need large buffer to mitigate libssh2 stupidly waiting on "acks": https://www.libssh2.org/libssh2_sftp_write.html /* Perf Test, Sourceforge frs, SFTP upload, compressed 25 MB test file: