Subject: [netatalk-admins] make of netatalk failed

From: KHOO Guan Chen <[email-masked]>
Date: Wed, 4 Mar 1998 19:59:15 +0800 (SGT)

Hi,

I have RH 4.2 with kernel 2.0.32

Recently, when I tried to compile netatalk-1.4b2.0a18.2, make failed with
the error:
unix.c:63: sys/quota.h : No such file or directory.

I have commented out DESDIR=/usr/local in the Makefile before issuing
make. I have also edited sys/linux/Makefile, changing the line
#-DNEED_QUOTACTL_WRAPPER  to "DNEED_QUOTACTL_WRAPPER=", but I still get
the same error.

Where have I gone wrong? The only quota.h file I can see is in
/usr/src/linux/include/linux/quota.h

Thanks

Richard KHOO Guan Chen
e-mail: [email-masked]
snail-mail: 38-A, Lorong 23, Geylang, Singapore 388372

---

From: [email-masked]
Date: Wed, 4 Mar 1998 14:04:28 +0200 (SAT)

it must be

-DNEED etc

____________________________________________________________
John Ostrowick
[email-masked], +27 11 716-3783
Computer Science Department, University of the Witwatersrand   
Web site, ftp site and listserv all available at: 
http://macaroni.cs.wits.ac.za/

---

From: Peter Tebault <[email-masked]>
Date: Wed, 04 Mar 1998 13:06:13 -0800

The error is in the file /etc/afpd/unix.c, on line 63.

Change:
#include <sys/quota.h>

to:
#include <linux/quota.h>

Just a typo on someone's part, forgetting where quota.h is and that we're
still in an ifdef for linux.

-Pete-

---

From: a sun <[email-masked]>
Date: Wed, 4 Mar 1998 15:05:33 -0800 (PST)

Change:
   #include <sys/quota.h>

   to:
   #include <linux/quota.h>

actually, it isn't a typo. i'm getting slightly ticked that people
don't seem to read the README files and assume it's a bug when they
have problems. if you look carefully, you actually need
-DNEED_QUOTACTL_WRAPPER in the CFLAGS for older linux distributions. 

-a

---

From: KHOO Guan Chen <[email-masked]>
Date: Thu, 5 Mar 1998 20:17:28 +0800 (SGT)

> -DNEED_QUOTACTL_WRAPPER in the CFLAGS for older linux distributions. 

Ahem. Actually I did check the READMEs that is why I mentioned I changed
the line about DNEED_QUOTACTL_WRAPPER.

Ok. I have now tried changing the line #-DNEED_QUOTACTL_WRAPPER to

a) -DNEED_QUOTACTL_WRAPPER=
B) -NEED_QUOTACTL_WRAPPER= (line 54 in unix.c?)
C) NEED_QUOTACTL_WRAPPER=

and I still get the error about needing sys/quota.h. I must be doing
something stupidly wrong (I know nuts about programming), but I cannot see
what. I guess the last thing to try is to take out the ifdef/else, but I
am worried I may screw up something else.

Further help appreciated.

Thanks 

Richard KHOO Guan Chen

---

From: Peter Tebault <[email-masked]>
Date: Thu, 05 Mar 1998 16:09:48 -0800

a-

Excuse me, you are correct (of course).  I did not check properly in the
README.LINUX file.  It compiled fine after I added that line to the DEFS= line.

-Pete-

---

From: [email-masked] (Stefan Barth)
Date: Fri, 6 Mar 1998 12:55:48 +0100

Hi!

First of all, a big THANK YOU to the people who write and continuously
improve great software such as netatalk!

The following is for the benefit of folks like me, who need to be told
step-by-step what to do. 

> /usr/src/linux/include/linux/quota.h

I´ve had the same problem and followed this thread with great interest.
I´m not a programmer and find even the READMEs quite difficult at times.
Today the patched netatalk (netatalk-1.4b2+asun2.0a18.2.tar) finally
compiled and is running on my machine - the dancing icons are gone, too!
So here´s exactly what I did:

Makefile in the root directory of netatalk:

---snip---

# Location of the DES library and include files. Comment this out if you
# don't want Randnum Exchange and 2-Way Randnum Exchange as allowable
UAMs 
# for afpd. We expect libdes.a in $DESDIR/lib and des.h in
$DESDIR/include.
# DESDIR=/usr/local

# Location of the tcp wrapper library and include files. Comment this
out
# if you don't want tcp wrapper support. having tcp wrapper support is
# highly recommended.
TCPWRAPDIR=/usr

# Location of PAM support library and include files. Comment this out
# if you don't want to enable PAM support
# PAMDIR=/usr

---snip---

(At first errors came from a missing des.h file and missing
pam-something-or-other files)

Makefile in sys/linux:

# Linux specific defines, passed to subdirectories.
#-DNEED_QUOTACTL_WRAPPER 
DEFS=           -DNEED_QUOTACTL_WRAPPER 
OPTOPTS=        -O5 -fomit-frame-pointer -fsigned-char -Wunused
-Wuninitialized
#OPTOPTS=       -g -fsigned-char
CC=     gcc 
INSTALL=        install
# if you aren't using pam and are using glibc, you'll need to add
-lcrypt
AFPLIBS=        
ADDLIBS=

---snip---

(If using glibc, I imagine you´d need to put AFPLIBS=    -lcrypt)

Makefile in etc/afpd:

---snip---

CFLAGS= ${DEFS} ${AFSDEFS} ${KRBDEFS} ${DESDEFS} ${OPTOPTS} ${INCPATH} \
        ${PAMDEFS} -DAPPLCNAME -DCRLF -DSHADOWPW # -DDOWNCASE

---snip---

(This enables shadow password support, which I need here. Without, I
could only log into the linux server as guest)

Hope this helps!

Stefan Barth