Cross compiling FileZilla on Linux for Windows
Posted: 2023-01-14 19:41
I have been trying to crosscompile FileZilla for Windows using the instructions here: https://wiki.filezilla-project.org/Cros ... _GNU/Linux
There were a couple basic outdated things on the wiki that I had to change, for example:
svn co https://svn.filezilla-project.org/svn/F ... gs/3.56.0/ fz
to
svn co https://svn.filezilla-project.org/svn/FileZilla3/trunk fz
I also had to change:
wine "$HOME/.wine/drive_c/Program Files/NSIS/makensis.exe" install.nsi
to
wine "$HOME/.wine/drive_c/Program Files (x86)/NSIS/makensis.exe" install.nsi
Some other things failed to build, namely GMP, due to a bunch of cryptic linking issues (mostly mingw related stuff, it seemed).
I noticed the top-level compiling wiki page says you can also install packages: apt-get -y install libfilezilla-dev libwxbase3.0-dev gnutls-dev libdbus-1-dev
GMP was needed for libfilezilla, and so I tried using the package instead. Debian 11 has the 0.26 package, while FileZilla requires 0.34+, so I retried everything on Ubuntu instead since the packages there are more up to date.
I got further with that, since Ubuntu comes with libfilezilla-dev 0.36. However, eventually I end up getting to the same issues at the end, with running the very last command:
First of all, there is install.nsi in the data folder, so this confuses me. There is an install.nsi.in, however. Is this the same file? Should I just change the arguments?
When doing it that way, I run into a bunch of issues with files that are missing that it expects. This is the first one:
Some digging around in data/Makefile.in suggested I could try creating libtoolexecutablesubdir.nsh in the current directory and put this in it:
That took care of that, but then I get:
Except for this one, I can't find any references to "process_running.nsh" that suggest what the file should contain.
Anyone know what I could be doing wrong here? Looking at the files referenced in install.nsi.in, none of them seem to exist, and I'm not sure how they get created.
There were a couple basic outdated things on the wiki that I had to change, for example:
svn co https://svn.filezilla-project.org/svn/F ... gs/3.56.0/ fz
to
svn co https://svn.filezilla-project.org/svn/FileZilla3/trunk fz
I also had to change:
wine "$HOME/.wine/drive_c/Program Files/NSIS/makensis.exe" install.nsi
to
wine "$HOME/.wine/drive_c/Program Files (x86)/NSIS/makensis.exe" install.nsi
Some other things failed to build, namely GMP, due to a bunch of cryptic linking issues (mostly mingw related stuff, it seemed).
I noticed the top-level compiling wiki page says you can also install packages: apt-get -y install libfilezilla-dev libwxbase3.0-dev gnutls-dev libdbus-1-dev
GMP was needed for libfilezilla, and so I tried using the package instead. Debian 11 has the 0.26 package, while FileZilla requires 0.34+, so I retried everything on Ubuntu instead since the packages there are more up to date.
I got further with that, since Ubuntu comes with libfilezilla-dev 0.36. However, eventually I end up getting to the same issues at the end, with running the very last command:
Code: Select all
wine "$HOME/.wine/drive_c/Program Files (x86)/NSIS/makensis.exe" install.nsi
When doing it that way, I run into a bunch of issues with files that are missing that it expects. This is the first one:
Code: Select all
root@debian11:~/src/fz# makensis data/install.nsi.in
Processing config: /etc/nsisconf.nsh
Processing script file: "data/install.nsi.in" (UTF8)
!include: could not find: "libtoolexecutablesubdir.nsh"
Error in script "data/install.nsi.in" on line 49 -- aborting creation process
Code: Select all
!define LT_EXEDIR ".libs\\"
Code: Select all
root@ubuntu:~/src/fz/data# wine "$HOME/.wine/drive_c/Program Files (x86)/NSIS/makensis.exe" install.nsi.in
0050:err:explorer:initialize_display_settings Failed to query current display settings for L"\\\\.\\DISPLAY1".
Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "install.nsi.in" (ACP)
!include: could not find: "@srcdir@\process_running.nsh"
Error in script "install.nsi.in" on line 67 -- aborting creation process
Anyone know what I could be doing wrong here? Looking at the files referenced in install.nsi.in, none of them seem to exist, and I'm not sure how they get created.