[Box Backup-dev] BoxBackup on AIX 5.3
Stefan Norlin
boxbackup-dev@fluffy.co.uk
Thu, 20 Apr 2006 17:44:40 +0200
This is a multi-part message in MIME format.
------=_NextPart_000_065F_01C664A2.19CD43C0
Content-Type: text/plain;
format=flowed;
charset="iso-8859-15";
reply-type=original
Content-Transfer-Encoding: 7bit
Hi,
I have tried to compile BoxBackup on AIX 5.3.
A few things:
* You should always set CONFIG_SHELL as per below on
AIX, otherwise configure runs VERY slowly
CONFIG_SHELL=/opt/freeware/bin/bash
export CONFIG_SHELL
* Detection of GNU make in the should probably be done some
other way. I only modified infrastructure/BoxPlatform.pm.in as
per the attached "svn diff".
* Added AC_SEARCH_LIBS([pthread_cond_init], [pthread])
as per the attached "svn diff".
* I had to use PLATFORM_CLIB_FNS_INTERCEPTION_IMPOSSIBLE
as per the attached "svn diff".
* /opt/freeware/bin/install should be used instead of /usr/bin/install
in the parcels/scripts/install-backup-* scripts. Otherwise nothing
will be installed... :)
Could maybe be "solved" by setting PATH=/opt/freeware/bin:$PATH
in the script. A good idea anyway on AIX since all "working" binaries
are actually located there first hand. :)
* For some reason some header files only works if one disable
large file support. Other persons has run across this as well:
http://groups.google.com/group/comp.databases.berkeley-db/browse_thread/thread/d1daf868181733b8/3473aad40f3d8df2%233473aad40f3d8df2
The result from this adventure was that bbackupd does not start
due to it cannot the config file... the "bbackupquery" command
connects to the server, "usage" works, but "ls" causes an
exception to be thrown.
To be continued...
Regards,
Stefan
------=_NextPart_000_065F_01C664A2.19CD43C0
Content-Type: text/plain;
format=flowed;
name="aix5-svn-diff.txt";
reply-type=original
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="aix5-svn-diff.txt"
Index: infrastructure/BoxPlatform.pm.in=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
--- infrastructure/BoxPlatform.pm.in (revision 555)=0A=
+++ infrastructure/BoxPlatform.pm.in (working copy)=0A=
@@ -17,7 +17,7 @@=0A=
$build_os =3D 'CYGWIN' if $build_os =3D~ m/CYGWIN/;=0A=
=0A=
$make_command =3D ($build_os eq 'Darwin') ? 'bsdmake' : ($build_os eq =
'SunOS') ? 'gmake' : 'make';=0A=
- $bsd_make =3D ($build_os ne 'Linux' && $build_os ne 'CYGWIN' && =
$build_os ne "SunOS");=0A=
+ $bsd_make =3D ($build_os ne 'AIX' && $build_os ne 'Linux' && $build_os =
ne 'CYGWIN' && $build_os ne "SunOS");=0A=
=0A=
# blank extra flags by default=0A=
$platform_compile_line_extra =3D '@CPPFLAGS@ @CXXFLAGS@ =
@CXXFLAGS_STRICT@';=0A=
Index: configure.ac=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
--- configure.ac (revision 555)=0A=
+++ configure.ac (working copy)=0A=
@@ -43,6 +43,8 @@=0A=
AC_CHECK_LIB([z], [zlibVersion],, [AC_MSG_ERROR([[cannot find zlib]])])=0A=
VL_LIB_READLINE([have_libreadline=3Dyes], [have_libreadline=3Dno])=0A=
=0A=
+AC_SEARCH_LIBS([pthread_cond_init], [pthread])=0A=
+=0A=
## Check for Berkely DB. Restrict to certain versions=0A=
AX_PATH_BDB(, [=0A=
LIBS=3D"$BDB_LIBS $LIBS"=0A=
Index: lib/common/BoxPlatform.h=0A=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
--- lib/common/BoxPlatform.h (revision 555)=0A=
+++ lib/common/BoxPlatform.h (working copy)=0A=
@@ -46,6 +46,11 @@=0A=
#define PLATFORM_CLIB_FNS_INTERCEPTION_IMPOSSIBLE=0A=
#endif=0A=
=0A=
+// On AIX too...=0A=
+#ifdef AIX=0A=
+#define PLATFORM_CLIB_FNS_INTERCEPTION_IMPOSSIBLE=0A=
+#endif=0A=
+=0A=
// Disable memory testing under Darwin, it just doesn't like it very =
much.=0A=
#ifdef __APPLE__=0A=
// TODO: We really should get some decent leak detection code.=0A=
------=_NextPart_000_065F_01C664A2.19CD43C0--