Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there any plan to support windows? #105

Open
trippleflux opened this issue Apr 10, 2021 · 3 comments
Open

Is there any plan to support windows? #105

trippleflux opened this issue Apr 10, 2021 · 3 comments

Comments

@trippleflux
Copy link

Is there any plan to support windows?, I have tried to compiling using Cywgin64 but getting problems when linking process, especially for libgftp.a and libgftpui.a cannot be linked into either gftp-text or gftp-gtk.

make[3]: Entering directory '/home/dalail/gftp-2.7.0b/src/gtk'
x86_64-pc-cygwin-gcc -g -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -I/usr/lib/gtk-2.0/include -L/usr/local/lib  gftp-gtk.c   -o gftp-gtk
/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: /tmp/ccRxeoRD.o: in function `gftp_gtk_config_file_write_color':
/home/dalail/gftp-2.7.0b/src/gtk/gftp-gtk.c:1418: undefined reference to `g_snprintf'
/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: /tmp/ccRxeoRD.o: in function `_get_selected_protocol':
@wdlkmpx
Copy link
Collaborator

wdlkmpx commented Apr 16, 2021

Sometimes I use Windows, but never tried to compile gftp on Windows. Needless to say, there's lots of alternatives with small, big and commercial ftp/sftp clients. When I'm on Windows, I forget all linux related stuff most of the time. The last time I did try mingw32, the original and more primitive project that still supports WinXP.

When it comes to SFTP, gFTP is only a frontend to the OpenSSH client, which I think is quite clever, full SFTP support. But you need a fully working SSH client on each platform. gFTP also requires OpenSSL for FTPS, but it might be a little buggy, and only an older OpenSSL version is supported.

I guess Windows requires a special/different handling of static libs. Windows-specific code or Makefile.in perhaps. This app is also way too POSIX, with heavy use of kernel features, it probably only works with the latest mingw-w64

You might want to try this
https://www.msys2.org/

GTK is also quite buggy on Windows, and it should not be statically linked or something, so you always need a mini distro installation in %ProgramFiles%\app. Hopefully the GTK3 port will be fixed one of these weeks, I'm trying to resume what I was doing and I'm more confused than ever.

@wdlkmpx
Copy link
Collaborator

wdlkmpx commented Apr 16, 2021

The easiest solution to cross-platform isssues ... it might be time to consider dropping the command line version and basically avoid creating static libs and only create .o objects and link everything into gftp-gtk, I think that's the easiest solution. Handling of static/shared libs is a problem, that may require different solutions in different platforms... The other poblem is probably glib2, anything that depends on glib2 and is a cli app, its at a severe disadvantage compared to other similar apps..

@wdlkmpx
Copy link
Collaborator

wdlkmpx commented Nov 6, 2021

I don't think it's possible to create a Windows port, gFTP is buggy even on Linux. I read about GDK_THREADS, and it doesn't work on Windows (apparently), but the app itself has infinite potential... a QT or Windows gui could be added... it would take an infinite amount of time of course.

I don't know much about cygwin, but most gtk apps that work on Windows are compiled with MinGW I think, but it also requires native Windows code in several parts including network sockets.

Unfortunately the app relies on GTK and GLIB, two projects that are developed by the wrong people who hate the toolkit users and common sense

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants