Discussion:
Compile bareos on IBM AIX.
Alberto Ernestini
2013-08-27 15:38:24 UTC
Permalink
Hello to everyone,
I want to try to compile the bareos-fd client on IBM AIX, this because it's
possible to compile a almost updated version of the bacula-fd client .
There is any chance?
I see no more references of IBM AIX on the sources.
Thanks in advance.
Ciao.
Marco van Wieringen
2013-08-27 15:46:37 UTC
Permalink
Post by Alberto Ernestini
Hello to everyone,
I want to try to compile the bareos-fd client on IBM AIX, this because it's
possible to compile a almost updated version of the bacula-fd client .
There is any chance?
I don't see why it would not be possible to compile on AIX.
Post by Alberto Ernestini
I see no more references of IBM AIX on the sources.
I don't see where you got the idea that we removed support for AIX.
Its just that we don't have access to an AIX environment at the moment
and as such only have been compiling on Linux/Windows and Solaris.

In essence things should just work as well as on Bacula some of the
new stuff might not work on AIX but that is mostly for things like
LTO encryption etc as that is only implemented for Linux, Solaris and
FreeBSD. But for the filed I see no things that shouldn't work I added
some extra AIX stuff in the xattr/acl stuff on Bareos so you might
get a compile error there as I couldn't check it on a live platform.

If you have any particular problems on AIX just send me the output
of your build and I can probably fix the more obvious problems (if
they even occur.)
--
Marco van Wieringen ***@bareos.com
Bareos GmbH & Co. KG Phone: +49-221-63069389
http://www.bareos.com

Sitz der Gesellschaft: Köln | Amtsgericht Köln: HRA 29646
Komplementär: Bareos Verwaltungs-GmbH
Geschäftsführer: Stephan Dühr, M. Außendorf, J. Steffens,
P. Storz, M. v. Wieringen

Visit us at the Open Source Backup Conference, http://osbconf.org,
25th September 2013 in Cologne, Germany
--
You received this message because you are subscribed to the Google Groups "bareos-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bareos-users+***@googlegroups.com.
To post to this group, send email to bareos-***@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Alberto Ernestini
2013-09-27 13:54:08 UTC
Permalink
Hello again,
i will be able to try again to compile bareos.
I've restarted from scratch following those instructions :
http://wiki.bacula.org/doku.php?id=howto_compile_bacula_client_on_aix ( and
some old writing i had made ) that made me compile succesfully bacula
client in the past on the same system.

This is the "new" situation :
configure status :
Configuration on Fri Sep 27 14:11:54 NFT 2013:

Host: powerpc-ibm-aix5.3.0.0 -- aix 3
Bareos version: Bareos 13.3.0 (01 August 2013)
Source code location: .
Install binaries: /bareos/sbin
Install libraries: /usr/lib
Install config files: /bareos/conf
Scripts directory: /bareos/script
Archive directory: /tmp
Working directory: /bareos/work
PID directory: /bareos/work
Subsys directory: /bareos/work
Man directory: ${datarootdir}/man
Data directory: /usr/share
Plugin directory: /usr/lib
C Compiler: gcc 4.1.1
C++ Compiler: /usr/local/bin/g++ 4.1.1
Compiler flags: -g -O2 -Wall -fno-strict-aliasing
-fno-exceptions
Linker flags:
Libraries: -lpthread -lintl
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database backends: None
Database port:
Database name: bareos
Database user: bareos
Database version: 2001

Job Output Email: ***@localhost
Traceback Email: ***@localhost
SMTP Host Address: localhost

Director Port: 9101
File daemon Port: 9102
Storage daemon Port: 9103

Director User:
Director Group:
Storage Daemon User:
Storage DaemonGroup:
File Daemon User:
File Daemon Group:

Large file support: no
Bareos conio support: no
readline support: no
TCP Wrappers support: no
TLS support: no
Encryption support: no
OpenSSL support: no
GNUTLS support: no
ZLIB support: yes
LZO support: no
FASTLZ support: no
NDMP support: no
enable-smartalloc: yes
enable-lockmgr: no
bat support: no
tray-monitor support: no
client-only: yes
build-dird: yes
build-stored: yes
Plugin support: no
AFS support: no
ACL support: yes
XATTR support: yes
SCSI Crypto support: no
Python support: no
systemd support: no
Batch insert enabled: None

Compile goes, then i get this error :

==>Entering directory /home11/xx/bareos-master/src/findlib
Compiling acl.c
acl.c: In function 'bacl_exit_code aix_parse_acl_streams(JCR*, acl_data_t*,
int, char*, u_int32_t)':
acl.c:401: error: cannot convert 'POOLMEM*' to 'acl_data_t*' for argument
'2' to 'bool aix_query_acl_support(JCR*, acl_data_t*, u_int64_t,
acl_type_t*)'
acl.c:409: error: invalid conversion from 'long long unsigned int' to
'acl_data_t*'
acl.c:409: error: invalid conversion from 'acl_type_t*' to 'u_int64_t'
acl.c:357: error: too few arguments to function 'bool
aix_query_acl_support(JCR*, acl_data_t*, u_int64_t, acl_type_t*)'
acl.c:409: error: at this point in file
make: 1254-004 The error code from the last command is 1.


Stop.


====== Error in /home11/xx/bareos-master/src/findlib ======


make: 1254-004 The error code from the last command is 1.


Stop.



I've got then the old config.out from the bacula 5.0.2 client and this is
the config :
Configuration on Thu May 10 16:34:54 NFT 2012:

Host: powerpc-ibm-aix5.3.0.0 -- aix 3
Bacula version: Bacula 5.0.2 (28 April 2010)
Source code location: .
Install binaries: /bacula/sbin
Install libraries: /usr/lib
Install config files: /bacula/conf
Scripts directory: /bacula/script
Archive directory: /tmp
Working directory: /bacula/work
PID directory: /bacula/work
Subsys directory: /bacula/work
Man directory: ${datarootdir}/man
Data directory: /usr/share
Plugin directory: /usr/lib
C Compiler: xlc
C++ Compiler: /usr/vacpp/bin/xlC
Compiler flags: -g
Linker flags:
Libraries: -lpthread -lintl
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database type: None
Database port:
Database lib:
Database name: bacula
Database user: bacula

Job Output Email: ***@localhost
Traceback Email: ***@localhost
SMTP Host Address: localhost

Director Port: 9101
File daemon Port: 9102
Storage daemon Port: 9103

Director User:
Director Group:
Storage Daemon User:
Storage DaemonGroup:
File Daemon User:bat support: no
enable-gnome: no
enable-bwx-console: no
enable-tray-monitor: no
client-only: yes
build-dird: yes
build-stored: yes
Plugin support: no
ACL support: no
XATTR support: no
Python support: no
Batch insert enabled: no

File Daemon Group:

SQL binaries Directory

Large file support: no
Bacula conio support: no
readline support: no
TCP Wrappers support: no
TLS support: no
Encryption support: no
ZLIB support: yes
enable-smartalloc: yes
enable-lockmgr: no
bat support: no
enable-gnome: no

Going much deeper i've discovered i've used xlC ( the IBM C compiler ) than
the gcc and looks that if i try to use the xlC compiler for bareos the make
does NOT starts... :


net-js20#make
==>Entering directory /home11/xx/bareos-master/src
Target "all" is up to date.
==>Entering directory /home11/xx/bareos-master/scripts
Target "all" is up to date.
==>Entering directory /home11/xx/bareos-master/src/lib
Compiling address_conf.c
"../include/baconfig.h", line 528.1: 1506-166 (S) Definition of function
class requires parentheses.
"../include/baconfig.h", line 528.7: 1506-276 (S) Syntax error: possible
missing '{'?
"../include/baconfig.h", line 669.8: 1506-166 (S) Definition of function
bool requires parentheses.
"../include/baconfig.h", line 669.8: 1506-691 (W) The inline keyword can
only be applied to functions.
"../include/baconfig.h", line 669.13: 1506-276 (S) Syntax error: possible
missing '{'?
"../include/baconfig.h", line 669.46: 1506-045 (S) Undeclared identifier ch.
"../include/baconfig.h", line 671.20: 1506-343 (S) Redeclaration of
first_path_separator differs from previous declaration on line 670 of
"../include/baconfig.h".
"../include/baconfig.h", line 671.20: 1506-050 (I) Return type "const
char*" in redeclaration is not compatible with the previous return type
"char*".
"../include/baconfig.h", line 725.15: 1506-166 (S) Definition of function
bool requires parentheses.
"../include/baconfig.h", line 725.15: 1506-691 (W) The inline keyword can
only be applied to functions.
"../include/baconfig.h", line 725.20: 1506-276 (S) Syntax error: possible
missing '{'?
"../lib/smartall.h", line 49.26: 1506-275 (S) Unexpected text bufdump
encountered.
"../lib/smartall.h", line 49.35: 1506-335 (S) Parameter identifier list
contains multiple occurrences of bool.
"../lib/smartall.h", line 49.40: 1506-277 (S) Syntax error: possible
missing ')' or ','?
"../lib/smartall.h", line 49.13: 1506-282 (S) The type of the parameters
must be specified in a prototype.
"../lib/smartall.h", line 103.1: 1506-166 (S) Definition of function class
requires parentheses.
"../lib/smartall.h", line 103.7: 1506-275 (S) Unexpected text SMARTALLOC
encountered.
"../lib/smartall.h", line 107.1: 1506-275 (S) Unexpected text 'void'
encountered.
"../lib/smartall.h", line 107.7: 1506-045 (S) Undeclared identifier
operator.
"../lib/smartall.h", line 107.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?
"../lib/smartall.h", line 107.42: 1506-045 (S) Undeclared identifier fname.
"../lib/smartall.h", line 107.53: 1506-045 (S) Undeclared identifier line.
"../lib/smartall.h", line 109.19: 1506-045 (S) Undeclared identifier s.
"../lib/smartall.h", line 114.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?
"../lib/smartall.h", line 114.55: 1506-160 (S) Object line cannot be
declared as type void.
"../lib/smartall.h", line 122.7: 1506-160 (S) Object operator cannot be
declared as type void.
"../lib/smartall.h", line 122.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?
"../lib/smartall.h", line 124.4: 1506-045 (S) Undeclared identifier ptr.
"../lib/smartall.h", line 126.7: 1506-160 (S) Object operator cannot be
declared as type void.
"../lib/smartall.h", line 126.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?
"../lib/smartall.h", line 131.7: 1506-160 (S) Object operator cannot be
declared as type void.
"../lib/smartall.h", line 131.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?
"../lib/mem_pool.h", line 97.30: 1506-041 (E) The invocation of macro
strcpy contains fewer arguments than required by the macro definition.
"../lib/mem_pool.h", line 98.30: 1506-041 (E) The invocation of macro
strcat contains fewer arguments than required by the macro definition.
make: 1254-004 The error code from the last command is 1.


Stop.


====== Error in /home11/xx/bareos-master/src/lib ======


make: 1254-004 The error code from the last command is 1.


Stop.

I am sure that there is a chance to compile it with gcc, but currently i am
stuck on it.
Any ideas about?
Thanks.
Ciao.
Alberto.
Post by Alberto Ernestini
Hello to everyone,
I want to try to compile the bareos-fd client on IBM AIX, this because
it's possible to compile a almost updated version of the bacula-fd client .
There is any chance?
I see no more references of IBM AIX on the sources.
Thanks in advance.
Ciao.
Alberto.
--
You received this message because you are subscribed to the Google Groups "bareos-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bareos-users+***@googlegroups.com.
To post to this group, send email to bareos-***@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Marco van Wieringen
2013-09-28 06:50:18 UTC
Permalink
Post by Alberto Ernestini
==>Entering directory /home11/xx/bareos-master/src/findlib
Compiling acl.c
acl.c: In function 'bacl_exit_code aix_parse_acl_streams(JCR*,
acl.c:401: error: cannot convert 'POOLMEM*' to 'acl_data_t*' for argument
'2' to 'bool aix_query_acl_support(JCR*, acl_data_t*, u_int64_t, acl_type_t*)'
Post by Alberto Ernestini
acl.c:409: error: invalid conversion from 'long long unsigned int' to
'acl_data_t*'
Post by Alberto Ernestini
acl.c:409: error: invalid conversion from 'acl_type_t*' to 'u_int64_t'
acl.c:357: error: too few arguments to function 'bool
aix_query_acl_support(JCR*, acl_data_t*, u_int64_t, acl_type_t*)'
Post by Alberto Ernestini
acl.c:409: error: at this point in file
make: 1254-004 The error code from the last command is 1.
Stop.
It seems I have made some typos while converting the acl code to
be able to use it from every program by adding it to findlib, as this
code is only compiled on AIX I never got a chance to test it.
I committed a patch last night that should fix it. Just pull
the new master code and retry. If you run into other problems
you can send me an private email so I can look into it and fix it.

Its good to see that configure now seems to behave similar on
Bacula and Bareos and you even get acl and xattr enabled now by default.
I still see you don't get plugins etc but that is probably because
you disable libtool. I would leave it enabled as I think both shared
libs and plugins is something you want.

We hope to have access to a AIX 7 machine ourself soon so then I can
compile things myself and fix any other problems that may exist with
Bareos on AIX.
Post by Alberto Ernestini
Going much deeper i've discovered i've used xlC ( the IBM C compiler )
than the gcc and looks that if i try to use the xlC compiler for bareos the
Post by Alberto Ernestini
   net-js20#make
==>Entering directory /home11/xx/bareos-master/srcTarget "all" is up to
date.==>Entering directory /home11/xx/bareos-master/scriptsTarget "all" is
up to date.==>Entering directory /home11/xx/bareos-master/src/lib
Post by Alberto Ernestini
Compiling address_conf.c"../include/baconfig.h", line 528.1: 1506-166 (S)
Definition of function class requires parentheses."../include/baconfig.h",
line 528.7: 1506-276 (S) Syntax error: possible missing '{'?
Post by Alberto Ernestini
"../include/baconfig.h", line 669.8: 1506-166 (S) Definition of function
bool requires parentheses."../include/baconfig.h", line 669.8: 1506-691 (W)
The inline keyword can only be applied to functions.
Post by Alberto Ernestini
"../include/baconfig.h", line 669.13: 1506-276 (S) Syntax error: possible
missing '{'?"../include/baconfig.h", line 669.46: 1506-045 (S) Undeclared
identifier ch."../include/baconfig.h", line 671.20: 1506-343 (S)
Redeclaration of first_path_separator differs from previous declaration on
line 670 of "../include/baconfig.h".
Post by Alberto Ernestini
"../include/baconfig.h", line 671.20: 1506-050 (I) Return type "const
char*" in redeclaration is not compatible with the previous return type
"char*"."../include/baconfig.h", line 725.15: 1506-166 (S) Definition of
function bool requires parentheses.
Post by Alberto Ernestini
"../include/baconfig.h", line 725.15: 1506-691 (W) The inline keyword can
only be applied to functions."../include/baconfig.h", line 725.20: 1506-276
(S) Syntax error: possible missing '{'?
Post by Alberto Ernestini
"../lib/smartall.h", line 49.26: 1506-275 (S) Unexpected text bufdump
encountered."../lib/smartall.h", line 49.35: 1506-335 (S) Parameter
identifier list contains multiple occurrences of bool."../lib/smartall.h",
line 49.40: 1506-277 (S) Syntax error: possible missing ')' or ','?
Post by Alberto Ernestini
"../lib/smartall.h", line 49.13: 1506-282 (S) The type of the parameters
must be specified in a prototype."../lib/smartall.h", line 103.1: 1506-166
(S) Definition of function class requires parentheses.
Post by Alberto Ernestini
"../lib/smartall.h", line 103.7: 1506-275 (S) Unexpected text SMARTALLOC
encountered."../lib/smartall.h", line 107.1: 1506-275 (S) Unexpected text
'void' encountered."../lib/smartall.h", line 107.7: 1506-045 (S) Undeclared
identifier operator.
Post by Alberto Ernestini
"../lib/smartall.h", line 107.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?"../lib/smartall.h", line 107.42: 1506-045 (S) Undeclared
identifier fname."../lib/smartall.h", line 107.53: 1506-045 (S) Undeclared
identifier line.
Post by Alberto Ernestini
"../lib/smartall.h", line 109.19: 1506-045 (S) Undeclared identifier
s."../lib/smartall.h", line 114.16: 1506-277 (S) Syntax error: possible
missing ';' or ','?"../lib/smartall.h", line 114.55: 1506-160 (S) Object
line cannot be declared as type void.
Post by Alberto Ernestini
"../lib/smartall.h", line 122.7: 1506-160 (S) Object operator cannot be
declared as type void."../lib/smartall.h", line 122.16: 1506-277 (S) Syntax
error: possible missing ';' or ','?
Post by Alberto Ernestini
"../lib/smartall.h", line 124.4: 1506-045 (S) Undeclared identifier
ptr."../lib/smartall.h", line 126.7: 1506-160 (S) Object operator cannot be
declared as type void."../lib/smartall.h", line 126.16: 1506-277 (S) Syntax
error: possible missing ';' or ','?
Post by Alberto Ernestini
"../lib/smartall.h", line 131.7: 1506-160 (S) Object operator cannot be
declared as type void."../lib/smartall.h", line 131.16: 1506-277 (S) Syntax
error: possible missing ';' or ','?
Post by Alberto Ernestini
"../lib/mem_pool.h", line 97.30: 1506-041 (E) The invocation of macro
strcpy contains fewer arguments than required by the macro
definition."../lib/mem_pool.h", line 98.30: 1506-041 (E) The invocation of
macro strcat contains fewer arguments than required by the macro definition.
Post by Alberto Ernestini
make: 1254-004 The error code from the last command is 1.Stop.  ======
Error in /home11/xx/bareos-master/src/lib ======make: 1254-004 The error
code from the last command is 1.
Post by Alberto Ernestini
Stop.
I am sure that there is a chance to compile it with gcc, but currently i
am stuck on it.
The above looks strange it looks like it using the C-compiler not the
C++-compiler as its barfing on some C++ constructs. I think most of the
things it complains about are one on one copies from Bacula so it looks
strange. Further more I think that also Bacula is saying nowadays they
optimize things for gcc so it could be it also no longer compiles with
the native compiler on AIX. I also don't know how good the AIX compiler
is. On Solaris (my development platform) I use the SUN/Oracle compiler
and all our code compiles ok there with that C++ compiler and default
non GNU make. But for most platforms GCC/G++ is the prefered compiler.

The problems you ran into are some small typos, hopefully you get further
now but compiling without libtool e.g. making static binaries is something
we don't put an enormous effort in mostly because more and more platforms
don't even support static linking anymore and also for disaster recovery
static binaries is no longer an absolute requirement.
--
Marco van Wieringen ***@bareos.com
Bareos GmbH & Co. KG Phone: +49-221-63069389
http://www.bareos.com

Sitz der Gesellschaft: Köln | Amtsgericht Köln: HRA 29646
Komplementär: Bareos Verwaltungs-GmbH
Geschäftsführer: Stephan Dühr, M. Außendorf, J. Steffens,
P. Storz, M. v. Wieringen
--
You received this message because you are subscribed to the Google Groups "bareos-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bareos-users+***@googlegroups.com.
To post to this group, send email to bareos-***@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Loading...