Hi There,
I have an existing amanda 2.4.2p1 installation running on SuSE Linux, with Linux clients. I have a need to add some solaris systems to the backups, and so I have built 2.4.2p1 using gcc 2.95.3.
./configure --with-user=amanda --with-group=sys --without-server
The build works fine, and the binaries seem fine. However, when I run amcheck on the backup server, it attempts to contact the solaris client. inetd does its stuff, and then amanda crashes at the client end. This appears in my /var/adm/messages :
Apr 15 12:47:07 nms2 inetd[190]: [ID 858011 daemon.warning] /usr/local/libexec/amandad: Segmentation Fault - core dumped
Sticking the core through gdb and doing a backtrace doesn't help much, the executable appears to lack symbol names. The /tmp/amanda/debug lists:
amandad: debug 1 pid 17357 ruid 106 euid 106 start time Thu Apr 15 12:47:13 2004
..and that's it.
If I run amandad away from any connections :
nms2:#/usr/local/libexec/amandad ljlk
(I hit a few keys to give it some sort of input, and it quits)
Then the debug output is :
amandad: debug 1 pid 21920 ruid 106 euid 106 start time Thu Apr 15 13:05:59 2004/usr/local/libexec/amandad: version 2.4.2p1
/usr/local/libexec/amandad: build: VERSION="Amanda-2.4.2p1"
/usr/local/libexec/amandad: BUILT_DATE="Wed Apr 14 16:27:35 BST 2004"
/usr/local/libexec/amandad: BUILT_MACH="SunOS nms2 5.8 Generic_108528-27 sun4u sparc SUNW,Sun-Fire-280R"
/usr/local/libexec/amandad: CC="gcc"
/usr/local/libexec/amandad: paths: bindir="/usr/local/bin" sbindir="/usr/local/sbin"
/usr/local/libexec/amandad: libexecdir="/usr/local/libexec" mandir="/usr/local/man"
/usr/local/libexec/amandad: AMANDA_TMPDIR="/tmp/amanda" AMANDA_DBGDIR="/tmp/amanda"
/usr/local/libexec/amandad: CONFIG_DIR="/usr/local/etc/amanda" DEV_PREFIX="/dev/dsk/"
/usr/local/libexec/amandad: RDEV_PREFIX="/dev/rdsk/" DUMP="/usr/sbin/ufsdump"
/usr/local/libexec/amandad: RESTORE="/usr/sbin/ufsrestore"
/usr/local/libexec/amandad: SAMBA_CLIENT="/opt/sfw/bin/smbclient"
/usr/local/libexec/amandad: GNUTAR="/opt/sfw/bin/gtar" COMPRESS_PATH="/usr/bin/gzip"
/usr/local/libexec/amandad: UNCOMPRESS_PATH="/usr/bin/gzip" MAILER="/usr/bin/mailx"
/usr/local/libexec/amandad: listed_incr_dir="/usr/local/var/amanda/gnutar-lists"
/usr/local/libexec/amandad: defs: DEFAULT_SERVER="nms2" DEFAULT_CONFIG="DailySet1"
/usr/local/libexec/amandad: DEFAULT_TAPE_SERVER="nms2"
/usr/local/libexec/amandad: DEFAULT_TAPE_DEVICE="/dev/rmt/0bn" HAVE_MMAP HAVE_SYSVSHM
/usr/local/libexec/amandad: LOCKING=POSIX_FCNTL SETPGRP_VOID DEBUG_CODE BSD_SECURITY
/usr/local/libexec/amandad: USE_AMANDAHOSTS CLIENT_LOGIN="amanda" FORCE_USERID HAVE_GZIP
/usr/local/libexec/amandad: COMPRESS_SUFFIX=".gz" COMPRESS_FAST_OPT="--fast"
/usr/local/libexec/amandad: COMPRESS_BEST_OPT="--best" UNCOMPRESS_OPT="-dc"
amandad: error receiving message: Socket operation on non-socket
error receiving message: Socket operation on non-socket
amandad: pid 21920 finish time Thu Apr 15 13:06:02 2004
Which looks fine to me, given there wasn't a socket.
Now, I'm confused. The same client configuration is working fine on several differing Linux system. Is there some caevat I'm missing about building on solaris?
How can I simply enable debug symbols on the output code, and possibly increase the debug tracing?
I'm using 2.4.2p1 as the server install is old, and I'm not in a position to rebuild it. This is a stopgap.
-- Tony Howat UNIX Network Administrator The London Institute
