Subject: Help: Solaris7-compilation, netatalt-1.4.99 (20001107)

From: [email-masked]
Date: Mon, 20 Nov 2000 14:26:35 +0100

HELP! Is there anybody out there who has succeeded in compiling the
netatalk-1.4.99 (20001107) version on a 32-bit Solaris 7 machine?

I first got an error in 'Making all in uams' which could be fixed by using the
gcc linker ('export LD=/usr/bin/gcc'). After that the same error occurred as
with the last pre-release - seems, as if nobody has had time to fix this 'bug'?

Making all in timelord
make[3]: Entering directory `/opt/sources/netatalk/netatalk/contrib/timelord'
gcc -DHAVE_CONFIG_H -I. -I. -I../..     -I../../sys/generic -I../../sys/generic
-g -O2 -I../../include -I../../sys -c timelord.c
In file included from timelord.c:23:
../../sys/netatalk/endian.h:35: warning: redefinition of `int32_t'
/usr/include/sys/int_types.h:69: warning: `int32_t' previously declared here
timelord.c: In function `main':
timelord.c:76: storage size of `sv' isn't known
timelord.c:83: `MAXHOSTNAMELEN' undeclared (first use in this function)
timelord.c:83: (Each undeclared identifier is reported only once
timelord.c:83: for each function it appears in.)
timelord.c:125: `O_RDWR' undeclared (first use in this function)
timelord.c:126: `TIOCNOTTY' undeclared (first use in this function)
timelord.c:218: structure has no member named `tm_gmtoff'
make[3]: *** [timelord.o] Error 1
make[3]: Leaving directory `/opt/sources/netatalk/netatalk/contrib/timelord'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/sources/netatalk/netatalk/contrib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/sources/netatalk/netatalk'
make: *** [all-recursive-am] Error 2

???

WDL.

___________________________________________
Wulf-Dirk Leuschner, Dr.
Resarch Scientist Bioinformatics

EPIDAUROS Biotechnologie AG
Am Neuland 1
82347 Bernried
Germany
Tel.: ++49 - 8158 - 99 85 53 - Fax: ++49 - 8158 - 99 85 48
[email-masked]
http://www.epidauros.com

---

From: James Devenish <[email-masked]>
Date: Mon, 20 Nov 2000 23:02:54 +0800

> netatalk-1.4.99 (20001107) version on a 32-bit Solaris 7 machine?

I had compilation success with Solaris 8 (but had runtime problems).

> with the last pre-release - seems, as if nobody has had time to fix this 'bug'?

Same issue for me, but then it crops up a lot in other packages too
(when building with Solaris, that is). Something you might like to do is
install newest versions of the auto* tools and binutils, which has helped
various compilations for me. Note that some GNU utilities bundled with
Solaris seem to be faulty---when asked for their version number, they
report the latest version, but their behaviour is broken. Maybe this is
because they are installed incomplete? I don't know. Just replace them
if that is appropriate on your system.

> Making all in timelord

Ah...I skipped timelord because it wouldn't compile and I don't want it.
But here are some hints, which someone who has more knowledge might be
able to incorporate into the configure script. (I know timelord is
contrib software, but some problems affect netatalk core programmes
aswell.)

>From what I can gather, sigvec is like sigaction except the structure
elements have names like sv_... instead of sa_... have a look in
signal.h

> timelord.c:83: for each function it appears in.)

This crops up with afpd and papd (ie. this needs to be resolved). On
some systems this is 256, so I add CPPFLAGS='-DMAXHOSTNAMELEN=256' to
the environment in which configure runs (or maybe make's environment, I
can't remember). I don't know what header file this is expected to
appear in.

> timelord.c:125: `O_RDWR' undeclared (first use in this function)

#include <sys/fcntl.h>

> timelord.c:126: `TIOCNOTTY' undeclared (first use in this function)

On some systems, this is in <asm/ioctls.h>
In others, replace #include <sgtty.h> with #include <sys/termios.h>

> timelord.c:218: structure has no member named `tm_gmtoff'

The GNU headers seem to have this in time.h:
# ifdef __USE_BSD
  long int tm_gmtoff;       /* Seconds east of UTC.  */
  __const char *tm_zone;    /* Timezone abbreviation.  */
# else
  long int __tm_gmtoff;     /* Seconds east of UTC.  */
  __const char *__tm_zone;  /* Timezone abbreviation.  */
# endif

Whereas the ISO headers bundled with Solaris don't have this.

In summary: use a version of Mac OS with has "Use a Network Time
Server" in the "Date & Time" control panel (for your Macs) and some
variant of an NTP client&/daemon on your UNIX machines :)

-- 
James

---

From: Tim Carlson <[email-masked]>
Date: Mon, 20 Nov 2000 09:47:01 -0700 (MST)

> netatalk-1.4.99 (20001107) version on a 32-bit Solaris 7 machine?

I think there is a problem in the config files for this version and I
haven't seen it fixed in a recent CVS

make[3]: Entering directory `/tmp/netatalk/libatalk'
/bin/sh ../libtool --mode=link asp/libasp.la atp/libatp.la nbp/libnbp.la
adouble/libadouble.la dsi/libdsi.la util/libutil.la compat/libcompat.la
netddp/libnetddp.la asp/libasp.la -o libatalk.a
libtool: link: warning: `-l' and `-L' are ignored for archives
libtool: link: warning: `-R' is ignored for archives
rm -fr /libatalk.ax
mkdir /libatalk.ax
mkdir: cannot make directory `/libatalk.ax': Permission denied

Missing a relative path someplace. I don't think you would want to put
things in /  :)

Tim