Howto: Compiling FileZilla 3 under Windows

Moderator: Project members

Post Reply
Message
Author
User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

Howto: Compiling FileZilla 3 under Windows

#1 Post by botg » 2005-08-01 23:52

Please follow the instructions in the Wiki: https://wiki.filezilla-project.org/Comp ... er_Windows
Last edited by botg on 2007-09-24 10:02, edited 28 times in total.

User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#2 Post by botg » 2006-01-21 17:23

Section 2: Installing wxWidgets

2.1
Download latest wxWidgets version from http://www.wxwidgets.org

2.2
We might upgrade wxWidgets often, so we will install it into it's own prefix:

Code: Select all

mkdir -p /opt/wxWidgets
mkdir ~/source
cd ~/source
tar -xvjf /c/dev/download/wxWidgets-2.6.3.tar.bz2
cd wxWidgets-2.6.3
mkdir compile
cd compile
../configure --prefix=/opt/wxWidgets --enable-unicode --disable-shared
make
make install
Remark: If you want to run FZ3 on Windows ME or older, you have to replace --enable-unicode with --disable-unicode. But there is no guarantee that FileZilla will work properly without unicode support.

2.3
Set environment variables:

Code: Select all

echo 'export PATH="$PATH:/opt/wxWidgets/bin"' >> ~/.profile
echo 'export LD_LIBRARY_PATH=/opt/wxWidgets/lib' >> ~/.profile
source ~/.profile
Last edited by botg on 2006-06-10 12:05, edited 1 time in total.

User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#3 Post by botg » 2006-01-21 18:11

Section 3:
Download and install NSIS from http://nsis.sourceforge.net

User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#4 Post by botg » 2006-01-21 18:17

Section 4: Compile FileZilla 3

4.1 Download FZ3 from SVN:

Code: Select all

cd ~/source
svn co http://filezilla.svn.sourceforge.net/svnroot/filezilla/FileZilla3/trunk FileZilla3
4.2 Generate configure

Code: Select all

cd FileZilla3
./autogen.sh
4.3 Compile FileZilla 3

Code: Select all

mkdir compile
cd compile
../configure --prefix=/opt/FileZilla3
make
4.4 Generate installer

Rightclick compile/data/install.nsi in Explorer and use "Compile NSIS Script" from context menu.
Last edited by botg on 2007-08-09 09:35, edited 4 times in total.

henry
500 Command not understood
Posts: 2
Joined: 2006-05-25 00:55

bugs report

#5 Post by henry » 2006-05-25 03:15

1.2
Download latest MinGW Runtime and and Windows API to c:\dev\download.

1.6.1 Download the following files to c:\dev\download:
http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz
ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.59.tar.gz
ftp://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.gz
^
"ftp:" ought to be "http:".


1.6.2 Compile and install libtool
...
tar -xvjf /c/dev/download/libtool-1.5.22.tar.gz
^
"-xvjf" ought to be "-xvzf".

User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#6 Post by botg » 2006-05-25 10:06

Thanks. Regarding the ftp links, the official site points to the ftp server for package downloads. So I'll keep them.

war59312
500 Command not understood
Posts: 5
Joined: 2006-05-30 09:41
Location: U.S.A

#7 Post by war59312 » 2006-05-30 11:14

Hey,

I am having trouble setting this up.

I am at "1.6.2 Compile and install libtool" at part:

Code: Select all

$ ./configure --prefix=
configure: loading site script /etc/config.site
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
I off course installed the compiler, G++, like it states in section 1.1 .

Well, here is the full log file:

Any help would be great.

Code: Select all

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libtool configure 1.5.22, which was
generated by GNU Autoconf 2.59c.  Invocation command line was

  $ ./configure --prefix=

## --------- ##
## Platform. ##
## --------- ##

hostname = Will
uname -m = i686
uname -r = 1.0.10(0.46/3/2)
uname -s = MINGW32_NT-5.1
uname -v = 2004-03-15 07:17

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: .
PATH: /usr/local/bin
PATH: /mingw/bin
PATH: /bin
PATH: /c/WINNT/system32
PATH: /c/WINNT
PATH: /c/WINNT/System32/Wbem
PATH: /c/Program Files/ATI Technologies/ATI Control Panel
PATH: /c/Program Files/cvsnt
PATH: .
PATH: /c/Server/bin/stable/perl/bin/
PATH: /c/Program Files/Diskeeper Corporation/Diskeeper/
PATH: /c/Program Files/Universal Extractor/bin
PATH: .


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1788: loading site script /etc/config.site
| lt_cv_cc_dll_switch=${lt_cv_cc_dll_switch=-mdll}
| lt_cv_compiler_c_o=${lt_cv_compiler_c_o=yes}
| lt_cv_compiler_o_lo=${lt_cv_compiler_o_lo=yes}
| lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'}
| lt_cv_file_magic_cmd=${lt_cv_file_magic_cmd='$OBJDUMP -f'}
| lt_cv_file_magic_test_file=${lt_cv_file_magic_test_file=}
| test "${lt_cv_global_symbol_to_c_name_address+set}" = set || lt_cv_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr) \&\2},/p'\'''
| lt_cv_global_symbol_to_cdecl=${lt_cv_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern char \1;/p'\'''}
| lt_cv_ld_reload_flag=${lt_cv_ld_reload_flag=-r}
| lt_cv_need_dllmain=${lt_cv_need_dllmain=no}
| lt_cv_prog_cc_can_build_shared=${lt_cv_prog_cc_can_build_shared=yes}
| lt_cv_prog_cc_no_builtin=${lt_cv_prog_cc_no_builtin=}
| lt_cv_prog_cc_pic=${lt_cv_prog_cc_pic='   -DDLL_EXPORT'}
| lt_cv_prog_cc_pic_works=${lt_cv_prog_cc_pic_works=yes}
| lt_cv_prog_cc_shlib=${lt_cv_prog_cc_shlib=}
| lt_cv_prog_cc_static=${lt_cv_prog_cc_static=-static}
| lt_cv_prog_cc_static_works=${lt_cv_prog_cc_static_works=yes}
| lt_cv_prog_cc_wl=${lt_cv_prog_cc_wl=-Wl,}
| lt_cv_prog_gnu_ld=${lt_cv_prog_gnu_ld=yes}
| lt_cv_sys_global_symbol_pipe=${lt_cv_sys_global_symbol_pipe=}
| lt_cv_sys_path_separator=${lt_cv_sys_path_separator=:}
configure:1961: checking for a BSD-compatible install
configure:2016: result: /bin/install -c
configure:2027: checking whether build environment is sane
configure:2070: result: yes
configure:2139: checking for gawk
configure:2155: found /bin/gawk
configure:2165: result: gawk
configure:2176: checking whether make sets $(MAKE)
configure:2197: result: yes
configure:2468: checking for gcc
configure:2497: result: no
configure:2561: checking for cc
configure:2607: result: no
configure:2662: checking for cl.exe
configure:2691: result: no
configure:2718: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=-I/local/include
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=-L/local/lib
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/bin/install -c'
ac_cv_prog_AWK=gawk
ac_cv_prog_make_make_set=yes
lt_cv_cc_dll_switch=-mdll
lt_cv_compiler_c_o=yes
lt_cv_compiler_o_lo=yes
lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
lt_cv_file_magic_cmd='$OBJDUMP -f'
lt_cv_file_magic_test_file=
lt_cv_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr) \&\2},/p'\'''
lt_cv_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern char \1;/p'\'''
lt_cv_ld_reload_flag=-r
lt_cv_need_dllmain=no
lt_cv_prog_cc_can_build_shared=yes
lt_cv_prog_cc_no_builtin=
lt_cv_prog_cc_pic='   -DDLL_EXPORT'
lt_cv_prog_cc_pic_works=yes
lt_cv_prog_cc_shlib=
lt_cv_prog_cc_static=-static
lt_cv_prog_cc_static_works=yes
lt_cv_prog_cc_wl=-Wl,
lt_cv_prog_gnu_ld=yes
lt_cv_sys_global_symbol_pipe=
lt_cv_sys_path_separator=:

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACINCLUDE_M4_LIST='./acinclude.m4 ./cdemo/acinclude.m4 ./pdemo/acinclude.m4 ./demo/acinclude.m4 ./depdemo/acinclude.m4 ./mdemo/acinclude.m4 ./mdemo2/acinclude.m4 ./tagdemo/acinclude.m4 ./f77demo/acinclude.m4'
ACLOCAL='${SHELL} /usr/src/libtool-1.5.22/missing --run aclocal-1.9a'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /usr/src/libtool-1.5.22/missing --run tar'
AR=''
AS=''
AUTOCONF='${SHELL} /usr/src/libtool-1.5.22/missing --run autoconf'
AUTOHEADER='${SHELL} /usr/src/libtool-1.5.22/missing --run autoheader'
AUTOMAKE='${SHELL} /usr/src/libtool-1.5.22/missing --run automake-1.9a'
AWK='gawk'
CC=''
CCDEPMODE=''
CFLAGS=''
CONF_SUBDIRS='cdemo pdemo demo depdemo mdemo mdemo2 tagdemo f77demo'
CPP=''
CPPFLAGS='-I/local/include'
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
DIST_MAKEFILE_LIST='cdemo/Makefile pdemo/Makefile demo/Makefile depdemo/Makefile mdemo/Makefile mdemo2/Makefile tagdemo/Makefile f77demo/Makefile '
DLLTOOL=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
F77=''
FFLAGS=''
GCJ=''
GCJFLAGS=''
GREP=''
HAVE_CXX_FALSE=''
HAVE_CXX_TRUE=''
HAVE_F77_FALSE=''
HAVE_F77_TRUE=''
HAVE_GCJ_FALSE=''
HAVE_GCJ_TRUE=''
HAVE_RC_FALSE=''
HAVE_RC_TRUE=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD=''
LDFLAGS='-L/local/lib'
LIBOBJS=''
LIBS=''
LIBTOOL=''
LN_S=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /usr/src/libtool-1.5.22/missing --run makeinfo'
NM=''
OBJDUMP=''
OBJEXT=''
PACKAGE='libtool'
PACKAGE_BUGREPORT='bug-libtool@gnu.org'
PACKAGE_NAME='libtool'
PACKAGE_STRING='libtool 1.5.22'
PACKAGE_TARNAME='libtool'
PACKAGE_VERSION='1.5.22'
PATH_SEPARATOR=':'
RANLIB=''
RC=''
SET_MAKE=''
SHELL='/bin/sh'
STRIP=''
TIMESTAMP=''
VERSION='1.5.22'
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_F77=''
aclocaldir='${datadir}/aclocal'
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host=''
host_alias=''
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /usr/src/libtool-1.5.22/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='mkdir -p --'
oldincludedir='/usr/include'
pdfdir='${docdir}'
pkgdatadir='${datadir}/libtool'
prefix=''
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
subdirs=' libltdl'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE "libtool"
#define PACKAGE_BUGREPORT "bug-libtool@gnu.org"
#define PACKAGE_NAME "libtool"
#define PACKAGE_STRING "libtool 1.5.22"
#define PACKAGE_TARNAME "libtool"
#define PACKAGE_VERSION "1.5.22"
#define VERSION "1.5.22"

configure: exit 1
Thanks a lot,

Will
God Bless America

reika
500 Command not understood
Posts: 3
Joined: 2006-06-01 05:49

#8 Post by reika » 2006-06-01 06:30

Hi,
I am a new programmer, I have been installed Visual studio.NET 2003
and Microsoft Platform SDK, I rebuild source code but show me the
error: ”idn-int.h no such file or directory”, Can you tell me where
download it and other included files.

I am not good at English.

file name idna.h

#ifndef _IDNA_H
# define _IDNA_H

# ifdef __cplusplus
extern "C"
{
# endif

# include <stddef.h>
# include <idn-int.h> //show error ”idn-int.h no such file or directory”

Thanks.

User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#9 Post by botg » 2006-06-01 10:34

reika, this thread explains how to get and compile linidn (amongst other things)

war59312
500 Command not understood
Posts: 5
Joined: 2006-05-30 09:41
Location: U.S.A

#10 Post by war59312 » 2006-06-02 00:40

Well, I could use some help?
God Bless America

Lemon Tang
504 Command not implemented
Posts: 9
Joined: 2006-05-26 00:24

#11 Post by Lemon Tang » 2006-06-02 05:37

Code: Select all

#ifndef _LIBIDN_LIB_IDN_INT_H
#define _LIBIDN_LIB_IDN_INT_H 1
#ifndef _GENERATED_STDINT_H
#define _GENERATED_STDINT_H "libidn 0.6.3"
/* generated using gnu compiler gcc (GCC) 4.0.3 20060212 (prerelease) (Debian 4.0.2-9) */
#define _STDINT_HAVE_STDINT_H 0
//#include <stdint.h>
typedef unsigned int		uint32_t;
#endif
#endif
copy the above code and save it as idn-int.h

rccall
550 Permission denied
Posts: 26
Joined: 2006-06-05 19:15
Location: NJ

#12 Post by rccall » 2006-06-08 17:31

A couple of things I've discovered about the above instructions:

1) When you install msys, you *have* to answer the questions asked by the post-install script in order to get things set up correctly. Simply hitting ENTER (in an attempt to take the default) does not work properly.

2) The cvs infrastructure on Sourceforge is different now; you need to use "anonymous@filezilla.cvs.sourceforge.net" (note the insertion of "filezilla") in order to log in and get the FileZilla source.

rccall
550 Permission denied
Posts: 26
Joined: 2006-06-05 19:15
Location: NJ

#13 Post by rccall » 2006-06-08 19:27

Another thing I found out:

When I ran the FileZilla configure script, I *had* to use the --with-idn-lilb option. Tweaking my LD_LIBRARY_PATH didn't do the trick.

User avatar
botg
Site Admin
Posts: 35491
Joined: 2004-02-23 20:49
First name: Tim
Last name: Kosse

#14 Post by botg » 2006-06-09 08:22

rccall wrote:Another thing I found out:

When I ran the FileZilla configure script, I *had* to use the --with-idn-lilb option. Tweaking my LD_LIBRARY_PATH didn't do the trick.
Then you didn't follow the instructions properly. I've just tried it again, --with-idn-lib is not needed.

rccall
550 Permission denied
Posts: 26
Joined: 2006-06-05 19:15
Location: NJ

with-idn-lib

#15 Post by rccall » 2006-06-09 16:11

When I run the "make install" for libidn, the libidn.a file gets installed to /usr/local/lib. Is that where it's supposed to go?

Assuming that it is, the FileZilla configure script can't be looking for it in the right place, since I get:

configure: error: GNU libidn not found. Try using --with-idn-lib=FILE to specify the library path.

... and even if I put /usr/local/lib in LD_LIBRARY_PATH, I get the same message.

So unless "make install" is putting libidn in the wrong place, I can't imagine what I did wrong.

Post Reply