So I battled my way through AIX configure/build process[1] and got
bacula-fd built.
However, the FD won't bind a specified address. It gets stuck in the
bind() loop in bnet_server.c with EADDRNOTAVAIL, claiming that the
address is not available.
Now, I'm pretty sure that 127.0.0.1 is available, and I've tried various
other addresses that were on the machine, no luck. I've run it under
the debugger to confirm that it is, in fact, attempting to bind to the
specified address. I modified the error message to include the
address like this:
berrno be;
struct sockaddr_in sa;
sa = *(struct sockaddr_in *) p->get_sockaddr();
if (tlog <= 0) {
tlog = 10; /* Complain every 10 seconds */
Emsg3(M_WARNING,0, _("Cannot bind port %s:%d: ERR=%s. Retrying ...\n"),
inet_ntoa(sa.sin_addr), ntohs(fd_ptr->port), be.strerror());
}
And got the following message repeated:
Warning: Cannot bind port 127.0.0.1:9102: ERR=Can't assign requested
address. Retrying ...
Letting it bind to INADDR_ANY (i.e. not specifying FDAddress) works
fine, but isn't acceptable for my application.
I see in the list archives that someone else ran into this on Windows,
and people seemed to assume that it was the usual Windows brokeness.
However, I can guarantee that AIX supports binding to a particular
address, my code does it all the time. What's weird, of course, is that
I use pretty much the same code that bnet_server does, so no obvious
hint there.
Anybody else run into this and, hopefully, fixed it? I can't provide
access to this machine, but I'd be happy to run whatever tests/debugging
I can do.
The system is AIX 5.1.0.0-5, gcc/g++ 3.3.2 from the IBM rpms, here's the
config.out:
Configuration on Wed Oct 19 15:48:38 CDT 2005:
Host: powerpc-ibm-aix5.1.0.0 -- aix 1
Bacula version: 1.36.3 (22 April 2005)
Source code location: .
Install binaries: /opt/bacula/sbin
Install config files: /opt/bacula/etc
Scripts directory: /opt/bacula/etc
Working directory: /opt/bacula/var/bacula/working
PID directory: /opt/bacular/var/bacula
Subsys directory: /opt/bacular/var/bacula
C Compiler: gcc 3.3.2
C++ Compiler: g++ 3.3.2
Compiler flags: -g -O2 -Wall
Linker flags:
Libraries: -lpthread
Statically Linked Tools: no
Statically Linked FD: no
Statically Linked SD: no
Statically Linked DIR: no
Statically Linked CONS: no
Database type: None
Database lib:
Job Output Email: [EMAIL PROTECTED]
Traceback Email: [EMAIL PROTECTED]
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:
SQL binaries Directory
Large file support: no
Bacula conio support: no
readline support: no
TCP Wrappers support: no
ZLIB support: yes
enable-smartalloc: yes
enable-gnome: no
enable-wx-console: no
enable-tray-monitor:
client-only: yes
ACL support: no
Thanks,
Steve
[1] It would not be a bad thing to either a) document the need for a
C++ compiler in the installation doc or b) have 'configure' fail if no
C++ compiler is available or c) name the files with a trailing '.C' or
'.cc', to provide a hint to idiots like me.
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask
about Exchange Server next.
-- (Stolen from the net)
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users