[Box Backup] Working instructions to compile Box Backup Trunk under Cygwin

Achim boxbackup@boxbackup.org
Wed, 25 Mar 2009 18:43:12 +0100


Hello list:

After some more investigation, I managed to compile Trunk under Cygwin:
detailed instructions are below! 

Please note that most problems went away after I used dos2unix ("find -type
f -not \( -wholename ‘*svn*’ \) -exec dos2unix {} \;") on the text
files: please remember to do so under Windows, otherwise the error messages
simply don't make sense. 

Also, there are some dependencies in Cygwin that are not mentioned in the
docs (please see details below).

Chris, perhaps you could update the documentation to reflect this (working)
process of compiling trunk?

In addition, I believe there are two remaining issues (probably minor):

* R2463 builds and runs perfectly, but mgwz.dll is missing from the parcel,
so we need to copy that file manually. I see that the reference to include
/bin/mgwz.dll was removed in R2457, but apparently the buils still require
mgwz.dll

* R2467 fails probably caused by R2465, R2466 changes for syslog facility:
<http://www.boxbackup.org/trac/changeset/2465>
<http://www.boxbackup.org/trac/changeset/2466>

Logging.cpp: In static member function `static int
Syslog::GetNamedFacility(const std::string&)':
Logging.cpp:425: error: `LOG_LOCAL0' undeclared (first use this function)
Logging.cpp:425: error: (Each undeclared identifier is reported only once
for each function it appea
rs in.)
Logging.cpp:426: error: `LOG_LOCAL1' undeclared (first use this function)
Logging.cpp:427: error: `LOG_LOCAL2' undeclared (first use this function)
Logging.cpp:428: error: `LOG_LOCAL3' undeclared (first use this function)
Logging.cpp:429: error: `LOG_LOCAL4' undeclared (first use this function)
Logging.cpp:432: error: `LOG_DAEMON' undeclared (first use this function)
make[2]: *** [../../release/lib/common/Logging.o] Error 1
make[2]: Leaving directory `/usr/src/trunk/lib/common'
make[1]: *** [dep_modules] Error 2
make[1]: Leaving directory `/usr/src/trunk/bin/bbackupd'
make: *** [release/bin/bbackupd/bbackupd.exe] Error 2


====== HOWTO compile Box Backup R2463 under Cygwin ======

Start by installing Cygwin on your Windows machine from
<http://www.cygwin.org/cygwin/>.
Make sure to select the following packages during installation:

* Devel/automake
* Devel/autoconf
* Devel/gcc-mingw
* Devel/gcc-mingw-core
* Devel/gcc-mingw-g++
* Devel/make
* Devel/mingw-runtime
* Perl/Perl
* Mingw/mingw-zlib
* Lib/libxml2 
* Lib/libxslt

If you already have Cygwin installed, please re-run the installer and
ensure that those packages are installed.


* * * OpenSSL * * *
cd /usr/src
wget http://www.openssl.org/source/openssl-0.9.7i.tar.gz
tar xzvf openssl-0.9.7i.tar.gz
cd openssl-0.9.7i
./Configure --prefix=/usr/i686-pc-mingw32/ mingw
make
make install


* * * PCRE * * *
cd /usr/src
wget http://prdownloads.sourceforge.net/pcre/pcre-6.3.tar.bz2?download
tar xjvf pcre-6.3.tar.bz2
cd pcre-6.3
export CFLAGS="-mno-cygwin"
./configure
make winshared

cp .libs/libpcre.a .libs/libpcreposix.a /lib/mingw
[original destination /usr/lib/mingw does not exist!]

cp pcreposix.h /usr/include/mingw


* * * Box Backup * * *

Now unpack the Box Backup sources, enter the source directory,
and configure like this:

* * * R2463 * * *

cd /usr/src
svn co -r 2463 https://www.boxbackup.org/svn/box/trunk/ trunk.2463
cd trunk.2463

find -type f -not \( -wholename ‘*svn*’ \) -exec dos2unix {} \;

./infrastructure/mingw/configure.sh

make

[..]
cp -p docs/man/raidfile.conf.5.gz
parcels/boxbackup-trunk_2463M_-backup-server-mingw32
test -d parcels/boxbackup-trunk_2463M_-backup-server-mingw32 || mkdir
parcels/boxbackup-trunk_2463M_-backup-server-mingw32
(cd parcels; tar cf - boxbackup-trunk_2463M_-backup-server-mingw32 | gzip
-9 - > boxbackup-trunk_2463M_-backup-server-mingw32.tgz )

:-)

> bbackupquery.exe -v
NOTICE:  Box Backup Query Tool vtrunk_2463M_, (c) Ben Summers and
contributors 2003-2008
INFO:    Using configuration file
D:\install\boxbackup\cli.2463\bbackupd.conf
INFO:    Connecting to store...
INFO:    Handshake with store...
INFO:    Login to store...
Login complete.

Type "help" for a list of commands.
query >