OS/2, eCS & ArcaOS - Technical > Applications

SFTP client

<< < (3/4) > >>

Dave Yeo:
I looked at Qt SFTP clients, found one but it has a dependency on botan. Spent last night looking at botan's weird Python based build system, and yes it is weird. They also refuse to support any OS that the original vendor has dropped support for.
https://github.com/sandsmark/QSsh
https://botan.randombit.net/
Botan is interesting and with makefile editing, it builds fine with a broken DLL, only failure was get_pid(), not sure about calling it from C++.

Steven Levine:
There's no problem calling C code from C++ as long as the declarations are properly wrapped in extern "C" blocks.

We don't have a get_pid, but we do have getpid which libc defines in sys\process.h and it is properly wrapped.

Dave Yeo:

--- Quote from: Steven Levine on May 23, 2025, 06:12:10 am ---There's no problem calling C code from C++ as long as the declarations are properly wrapped in extern "C" blocks.

We don't have a get_pid, but we do have getpid which libc defines in sys\process.h and it is properly wrapped.

--- End quote ---

OK, that explains things.
I actually managed to build a statically linked botan.exe and botan-test.exe, the library is over 14 MB's.
Running botan-test.exe gets quite a ways before crashing at,
...

--- Code: ---argon2:
terminate called recursively
terminate called recursively

terminate called after throwing an instance of 'Killed by SIGABRT
pid=0xstd::system_error2f0e ppid=0x0076 tid=0x0009 slot=0x00df pri=0x0200 mc=0x0
001 ps=0x0010
'
H:\TMP\BOTAN\BOTAN-TEST.EXE  what():  Operation not permitted

terminate called recursively
Creating 2F0E_09.TRP
Moved 2f0e_09.TRP to W:\var\log\app\682fa811-2f0e_09-BOTAN-TEST-exceptq.txt

--- End code ---
Need to add a -g somewhere. trp attached
Probably going to have to ask upstream for advice in building a working DLL. Source will need some patching to support sockets, with luck only an include but probably avoid IPv6 stuff.

Dave Yeo:
I had a brain fart, it was getpid(). Added the include and it compiled. For modern code, it rejected GCC 9.2.0 as too old, so far only an include needed :)

Mentore:

--- Quote from: Dave Yeo on May 23, 2025, 08:16:30 am ---I had a brain fart, it was getpid(). Added the include and it compiled. For modern code, it rejected GCC 9.2.0 as too old, so far only an include needed :)

--- End quote ---

Great news. ISTR I had worked on botan time ago, but I don't remember if I had success on it. I don't even remember why I tried to port it, but surely it was a part of another package, maybe something QT related...

Mentore

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version