Talk:Compiling FileZilla 3 under Windows: Difference between revisions

From FileZilla Wiki
Jump to navigationJump to search
(→‎Bad Credit Finance: new section)
 
(8 intermediate revisions by 4 users not shown)
Line 123: Line 123:


  make[1]: *** No rule to make target `gl/libgnu.la', needed by `libidn.la'.  Stop
  make[1]: *** No rule to make target `gl/libgnu.la', needed by `libidn.la'.  Stop
== Correct FTP Address for libidn-1.19.tar.gz ==
There was an incorrect FTP address given for libidn-1.19.tar.gz in the "libidn" section, so I just corrected it in the main article. The correct address is
ftp://ftp.gnu.org/gnu/libidn/libidn-1.19.tar.gz
How to config for Binary downloads


== My notes [20/05/2011] ==
== My notes [20/05/2011] ==
''cleaned up 03/11/2011''


1) If you use the current MSYS/MinGW components listed on this guide, then the final executable needs "libstdc++-6.dll" and "libgcc_s_dw2-1.dll" to run.<br />
1) If you use the current MSYS/MinGW components listed on this guide, then the final executable needs "libstdc++-6.dll" and "libgcc_s_dw2-1.dll" to run.<br />
So you either have to edit the installer script in "data/install.nsi.in" or just use a proper statically linked GCC (which is not part of this guide atm)
So you either have to edit the installer script in "data/install.nsi.in" or just use a proper statically linked GCC (which is not part of this guide atm)


2) I found out that "mingwm10.dll" is not needed.
2) I found out that "mingwm10.dll" is not needed, at least not if you use a newer gcc/mingw.


3) For libidn, I found out that "cd lib" and the make is not needed. In fact that was the reason of the error described in the guide regarding "gl/libgnu.la".<br />
3) Do NOT use libgcrypt 1.5.0, it's causing problems for me. I tried it with gnutls-2.10.5 and 2.12.12.
I tested this with "libidn-1.22" and this worked for me all the times:
cd /usr/src
tar -xvzf /c/dev/download/libidn-1.22.tar.gz
cd libidn-1.22
mkdir compile
cd compile
../configure --disable-shared --enable-static --disable-nls
make -j4
make install


4) You should also mention that "libfzshellext-0.dll" should be stripped:
4) In order to build gnutls-2.12.12 use the following command:
  strip src/fzshellext/.libs/libfzshellext-0.dll
  ./configure --disable-shared --enable-static --disable-nls --disable-cxx --disable-guile --with-libgcrypt --without-p11-kit


5) The most important fix is this: WxWidgets have a bug when compiling under MinGW with "-std=c++0x" used. So you'll get errors like these:
5) If you get errors when running "configure" for Filezilla regarding gnutls, you might need to compile and install zlib and add "-lz" in your "libgnutls-config" file in the "gnutls_libs" line.
<nowiki>Making all in engine
make[2]: Entering directory `/home/XhmikosR/source/FileZilla3/compile/src/engine'
if g++ -DHAVE_CONFIG_H -I. -I../../../src/engine -I../../src/include -I../../../src/engine/../include -I/usr/local/include -I/usr/local/include
  -I/opt/wxWidgets/lib/wx/include/msw-unicode-release-static-2.8 -I/opt/wxWidgets/include/wx-2.8 -D__WXMSW__ -I/local/include -fpch-preprocess
  -g -O2 -Wall -g -fexceptions -std=c++0x -MT filezilla.h.gch -MD -MP -MF ".deps/.Tpo" -c -o filezilla.h.gch ../../../src/engine/filezilla.h; \
        then mv -f ".deps/.Tpo" ".deps/.Po"; else rm -f ".deps/.Tpo"; exit 1; fi
In file included from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/string.h:55:0,
                  from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/longlong.h:20,
                  from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/datetime.h:28,
                  from ../../../src/engine/../include/libfilezilla.h:21,
                  from ../../../src/engine/filezilla.h:1:
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h: In constructor 'wxCharBuffer::wxCharBuffer(const char*)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h:127:1: error: 'strdup' was not declared in this scope
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h: In member function 'wxCharBuffer& wxCharBuffer::operator=(const char*)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h:127:1: error: 'strdup' was not declared in this scope
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h: In constructor 'wxWCharBuffer::wxWCharBuffer(const wchar_t*)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h:134:1: error: '_wcsdup' was not declared in this scope
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h: In member function 'wxWCharBuffer& wxWCharBuffer::operator=(const wchar_t*)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/buffer.h:134:1: error: '_wcsdup' was not declared in this scope
In file included from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/longlong.h:20:0,
                  from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/datetime.h:28,
                  from ../../../src/engine/../include/libfilezilla.h:21,
                  from ../../../src/engine/filezilla.h:1:
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/string.h: In function 'int Stricmp(const char*, const char*)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/string.h:141:31: error: 'strcasecmp' was not declared in this scope
In file included from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/gdicmn.h:20:0,
                  from H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/event.h:21,
                  from ../../../src/engine/../include/libfilezilla.h:22,
                  from ../../../src/engine/filezilla.h:1:
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/list.h: In constructor 'wxListKey::wxListKey(const wxChar*)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/list.h:406:36: error: '_wcsdup' was not declared in this scope
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/list.h: In constructor 'wxListKey::wxListKey(const wxString&)':
H:/progs/MSYS-Filezilla/opt/wxWidgets/include/wx-2.8/wx/list.h:408:44: error: '_wcsdup' was not declared in this scope
make[2]: *** [filezilla.h.gch] Error 1
make[2]: Leaving directory `/home/XhmikosR/source/FileZilla3/compile/src/engine'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/XhmikosR/source/FileZilla3/compile/src'
make: *** [all-recursive] Error 1</nowiki>
 
 
The solution is rather simple but it took me hours to finally figure this out since I thought that something was wrong in my building environment.
 
Use [http://pastebin.com/Fykg6idw this] patch or manually edit "m4/check_cxx0x.m4" and replace all instances of "-std=c++0x" with "-std=gnu++0x".
 
6) In order to build gnutls-2.12.5 with libgrypt support use the following:
./configure --disable-shared --enable-static --disable-nls --disable-cxx --disable-guile --with-libgcrypt
 
7) If you get errors when running "configure" for Filezilla regarding gnutls, you might need to compile and install zlib and add "-lz" in your "libgnutls-config" file in the "gnutls_libs" line.


How to build and install zlib isn't part of this guide since using the environment listed in this guide as of today, zlib is not needed.
How to build and install zlib isn't part of this guide since using the environment listed in this guide as of today, zlib is not needed.


8) The versions that I used were the following:
6) The versions that I used were the following:
  gnutls-2.12.5
  gnutls-2.10.5
  libgcrypt-1.4.6
  libgcrypt-1.4.6
  libgpg-error-1.10
  libgpg-error-1.10
  libidn-1.22
  libidn-1.22
  sqlite-autoconf-3070603
  sqlite-autoconf-3070900
  wxWidgets-2.8.12
  wxWidgets-2.8.12
  GCC 4.6.0, with recent MSYS/MinGW
  GCC 4.6.1, with recent MSYS/MinGW
 
== Bad Credit Finance ==
 
Bad Credit Finance apjwkapvg ehdmuags i zvrwlqqkl edyafyhsk rkrc uzm xe                                                                         
lffzgwlrw wauwex aci znzzdhqmy jwtgen oka                                                                         
aheriaitk jnvpxz ghg                                                                         
vhe sqqcoc eiw vnv ujx vu sc o ng a                                                                         
<a href=http:/bad-credit-finance.net/#51459941985284>Bad Credit Finance</a>                                                                             
xg io xszc xj wy qjtlayiucyjq r v puhwkocsqmjprc xqzdla tuif xa dp                                                                         
gs uu ca hmmykgtpxesvnwrwxdxbkpfjdjhuzrprjnbhqn

Latest revision as of 12:17, 18 May 2018

how to edit the code to add something

with notepad... --CodeSquid 23:02, 27 April 2009 (UTC)

If something doesn't work, report the details so that the problem can be solved instead of ignored.


I get the following error when running make for Libiconv:

$ make -j3
builddir="`pwd`"; cd libcharset && make all && make install-lib libdir="$builddir/lib" includedir="$builddir/lib"
make[1]: Entering directory `/usr/src/libiconv-1.11.1/libcharset'
cd lib && make all
make[2]: Entering directory `/usr/src/libiconv-1.11.1/libcharset/lib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/libiconv-1.11.1/libcharset/lib'
make[1]: Leaving directory `/usr/src/libiconv-1.11.1/libcharset'
make[1]: Entering directory `/usr/src/libiconv-1.11.1/libcharset'
cd lib && make all
make[2]: Entering directory `/usr/src/libiconv-1.11.1/libcharset/lib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/libiconv-1.11.1/libcharset/lib'
cd lib && make install-lib libdir='/usr/src/libiconv-1.11.1/lib' includedir='/usr/src/libiconv-1.11.1/lib'
make[2]: Entering directory `/usr/src/libiconv-1.11.1/libcharset/lib'
/bin/sh ../build-aux/mkinstalldirs /usr/src/libiconv-1.11.1/lib
/bin/sh ../libtool --mode=install /bin/install -c -m 644 libcharset.la /usr/src/libiconv-1.11.1/lib/libcharset.la
/bin/install -c -m 644 .libs/libcharset.lai /usr/src/libiconv-1.11.1/lib/libcharset.la
../libtool: /bin/install: Permission denied
make[2]: *** [install-lib] Error 126
make[2]: Leaving directory `/usr/src/libiconv-1.11.1/libcharset/lib'
make[1]: *** [install-lib] Error 2
make[1]: Leaving directory `/usr/src/libiconv-1.11.1/libcharset'
make: *** [lib/localcharset.h] Error 2

--Trevorparker 15:23, 7 May 2009 (UTC)

Try adding --disable-fast-install to the configure arguments. --CodeSquid 21:51, 7 May 2009 (UTC)

No luck with that. Still getting the same errors. --Trevorparker 04:11, 9 May 2009 (UTC)

Vista user? --CodeSquid 08:52, 10 May 2009 (UTC)

Yeah. Did I screw up? --Trevorparker 19:33, 11 May 2009 (UTC)

Run as administrator. Got it. --Trevorparker 20:00, 11 May 2009 (UTC)

Got through Libiconv. Tried make -j3 on gettext and I get this error:

In file included from ./libxml/parser.h:797,
                from ./libxml/globals.h:19,
                from ./libxml/threads.h:36,
                from ./libxml/xmlmemory.h:217,
                from ./libxml/tree.h:1205,
                from ./libcroco/cr-sel-eng.h:34,
                from term-styled-ostream.oo.c:26:
./libxml/encoding.h:29:19: iconv.h: No such file or directory
In file included from ./libxml/parser.h:797,
                from ./libxml/globals.h:19,
                from ./libxml/threads.h:36,
                from ./libxml/xmlmemory.h:217,
                from ./libxml/tree.h:1205,
                from ./libcroco/cr-sel-eng.h:34,
                from term-styled-ostream.oo.c:26:
./libxml/encoding.h:137: error: syntax error before "iconv_t"
./libxml/encoding.h:137: warning: no semicolon at end of struct or union
./libxml/encoding.h:138: warning: type defaults to `int' in declaration of `iconv_out'
./libxml/encoding.h:138: warning: data definition has no type or storage class
make[4]: *** [term-styled-ostream.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\".exe\" -DEXEEXT=\".exe\" -DEXEEXT=\".exe\" -I. -I.. -I../intl -I../intl -I.. -I.. -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -DLIBXML_STATIC -I../intl -I./libcroco -I/local/include -g -O2 -c unistr/u8-mbtouc-aux.c -o unistr/u8-mbtouc-aux.o
gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\".exe\" -DEXEEXT=\".exe\" -DEXEEXT=\".exe\" -I. -I.. -I../intl -I../intl -I.. -I.. -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -DLIBXML_STATIC -I../intl -I./libcroco -I/local/include -g -O2 -c unistr/u8-mbtouc.c -o unistr/u8-mbtouc.o
make[4]: Leaving directory `/usr/src/gettext-0.17/gettext-tools/gnulib-lib'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/gettext-0.17/gettext-tools/gnulib-lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/gettext-0.17/gettext-tools'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/gettext-0.17/gettext-tools'
make: *** [all-recursive] Error 1

--Trevorparker 18:55, 12 May 2009 (UTC)


Hmpf nothing seems to work on crap Vista, try upgrading to XP. Or just turn off UAC and log into your system as Administrator. --CodeSquid 14:05, 13 May 2009 (UTC)


August 27, 2010[edit]

--Netmaster There's a number of errors on the downloading of individual components, especially for MSYS. It looks like there's been a change in the structure of the folders. I've included the amended list:

MinGW[edit]

http://sourceforge.net/projects/mingw/files/MSYS/gmp/gmp-5.0.1-1/libgmp-5.0.1-1-msys-1.0.13-dll-10.tar.lzma/download

MSYS[edit]

http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/msys-core/msys-1.0.15-1/msysCORE-1.0.15-1-msys-1.0.15-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/msys-core/msys-1.0.15-1/msysCORE-1.0.15-1-msys-1.0.15-ext.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/msys-core/msys-1.0.15-1/msysCORE-1.0.15-1-msys-1.0.15-dev.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/bash/bash-3.1.17-3/bash-3.1.17-3-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/coreutils/coreutils-5.97-3/coreutils-5.97-3-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/regex/regex-1.20090805-2/libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/termcap/termcap-0.20050421_1-2/termcap-0.20050421_1-2-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/termcap/termcap-0.20050421_1-2/libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gettext/gettext-0.17-2/libintl-0.17-2-msys-dll-8.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/libiconv/libiconv-1.13.1-2/libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/sed/sed-4.2.1-2/sed-4.2.1-2-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/grep/grep-2.5.4-2/grep-2.5.4-2-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/tar/tar-1.23-1/tar-1.23-1-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gawk/gawk-3.1.7-2/gawk-3.1.7-2-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gettext/gettext-0.17-2/gettext-0.17-2-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gettext/gettext-0.17-2/gettext-0.17-2-msys-1.0.13-dev.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gettext/gettext-0.17-2/libgettextpo-0.17-2-msys-dll-0.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/bzip2/bzip2-1.0.5-2/libbz2-1.0.5-2-msys-1.0.13-dll-1.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/bzip2/bzip2-1.0.5-2/bzip2-1.0.5-2-msys-1.0.13-bin.tar.lzma/download
http://sourceforge.net/projects/mingw/files/MSYS/BaseSystem/gzip/gzip-1.3.12-2/gzip-1.3.12-2-msys-1.0.13-bin.tar.lzma/download


Also, I've just set my compliation flags to my profile but when starting the "Libidn", I can't "cd /usr/src" as there's no such directory?! "cd /usr/" just takes me to the root, so does the "src" folder need to be created manually? As you can see, I'm new to this game but have played with this in the past and know that it's little things like this that need to be configured correctly from the start otherwise all bets are off!

So just went ahead and created the "src" folder, all's looking good thus far, until I get a libidn error:

make[1]: *** No rule to make target `gl/libgnu.la', needed by `libidn.la'.  Stop

My notes [20/05/2011][edit]

cleaned up 03/11/2011

1) If you use the current MSYS/MinGW components listed on this guide, then the final executable needs "libstdc++-6.dll" and "libgcc_s_dw2-1.dll" to run.
So you either have to edit the installer script in "data/install.nsi.in" or just use a proper statically linked GCC (which is not part of this guide atm)

2) I found out that "mingwm10.dll" is not needed, at least not if you use a newer gcc/mingw.

3) Do NOT use libgcrypt 1.5.0, it's causing problems for me. I tried it with gnutls-2.10.5 and 2.12.12.

4) In order to build gnutls-2.12.12 use the following command:

./configure --disable-shared --enable-static --disable-nls --disable-cxx --disable-guile --with-libgcrypt --without-p11-kit

5) If you get errors when running "configure" for Filezilla regarding gnutls, you might need to compile and install zlib and add "-lz" in your "libgnutls-config" file in the "gnutls_libs" line.

How to build and install zlib isn't part of this guide since using the environment listed in this guide as of today, zlib is not needed.

6) The versions that I used were the following:

gnutls-2.10.5
libgcrypt-1.4.6
libgpg-error-1.10
libidn-1.22
sqlite-autoconf-3070900
wxWidgets-2.8.12
GCC 4.6.1, with recent MSYS/MinGW