On Sun, 16 Feb 2003, James Yonan wrote:

> Beta is available on CVS as well as here:
> 
> http://openvpn.sourceforge.net/beta/openvpn-1.3.2.9.tar.gz

I tried the current CVS as of some minutes ago on Linux, Solaris and
FreeBSD.  This first mail is about Linux, Solaris status is in a
separate mail.

This mail has four sections.

1. Here are important complaints of my compiler (SuSE 8.1, gcc 3.2, with
lzo):

packet_id.c: In function `packet_id_add':
packet_id.c:67: warning: comparison between signed and unsigned
socket.c: In function `getaddr':
socket.c:69: warning: comparison between signed and unsigned
tun.c:254: warning: `open_tun_generic' defined but not used

2. SuSE 7.3, gcc 2.95, without lzo installed is a no-go despite
--disable-lzo:

source='/home/ma/tmp/openvpn/lzo.c' object='lzo.o' libtool=no \
depfile='.deps/lzo.Po' tmpdepfile='.deps/lzo.TPo' \
depmode=gcc /bin/sh /home/ma/tmp/openvpn/depcomp \
gcc -DHAVE_CONFIG_H -I. -I/home/ma/tmp/openvpn -I.     -g -O2 -c `test -f 
'/home/ma/tmp/openvpn/lzo.c' || echo 
'/home/ma/tmp/openvpn/'`/home/ma/tmp/openvpn/lzo.c
In file included from /home/ma/tmp/openvpn/lzo.c:32:
/home/ma/tmp/openvpn/lzo.h:28: lzo1x.h: No such file or directory
make[1]: *** [lzo.o] Error 1

I tracked this down to flaws in the Makefile.am that ships a config.h
(which breaks VPATH builds). Here's a patch to rectify this and to
enable you to "make dist" to get the tarball with all subdirectories
included:


Index: openvpn.spec
===================================================================
RCS file: /cvsroot/openvpn/openvpn/openvpn.spec,v
retrieving revision 1.59
diff -u -r1.59 openvpn.spec
--- openvpn.spec        16 Feb 2003 19:01:49 -0000      1.59
+++ openvpn.spec        19 Feb 2003 13:34:48 -0000
@@ -22,7 +22,6 @@
 %setup -q

 %build
-./pre-touch
 %configure --enable-pthread
 %__make

Index: Makefile.am
===================================================================
RCS file: /cvsroot/openvpn/openvpn/Makefile.am,v
retrieving revision 1.3
diff -u -r1.3 Makefile.am
--- Makefile.am 25 Jun 2002 06:56:16 -0000      1.3
+++ Makefile.am 19 Feb 2003 13:24:25 -0000
@@ -24,9 +24,23 @@
 #

 sbin_PROGRAMS = openvpn
-openvpn_SOURCES = basic.h buffer.c buffer.h circ_list.h common.h config.h 
crypto.c crypto.h errlevel.h error.c error.h fdmisc.c fdmisc.h gremlin.c 
gremlin.h interval.h lzo.c lzo.h memdbg.h misc.c misc.h mtu.h openvpn.c 
openvpn.h options.c options.h packet_id.c packet_id.h reliable.c reliable.h 
session_id.c session_id.h shaper.c shaper.h socket.c socket.h ssl.c ssl.h 
syshead.h thread.c thread.h tun.c tun.h
+nodist_openvpn_SOURCES = config.h
+openvpn_SOURCES = basic.h buffer.c buffer.h circ_list.h common.h \
+                 crypto.c crypto.h errlevel.h error.c error.h \
+                 fdmisc.c fdmisc.h gremlin.c gremlin.h interval.h \
+                 lzo.c lzo.h memdbg.h misc.c misc.h mtu.h openvpn.c \
+                 openvpn.h options.c options.h packet_id.c \
+                 packet_id.h reliable.c reliable.h session_id.c \
+                 session_id.h shaper.c shaper.h socket.c socket.h \
+                 ssl.c ssl.h syshead.h thread.c thread.h tun.c tun.h

 KEY_FILES = dh1024.pem client.crt client.key server.crt server.key tmp-ca.crt 
tmp-ca.key

 man_MANS = openvpn.8
-EXTRA_DIST = $(KEY_FILES)
+EXTRA_DIST = $(KEY_FILES) $(man_MANS) \
+            COPYRIGHT.GPL PORTS openvpn.spec \
+            easy-rsa sample-config-files sample-keys \
+            sample-scripts
+
+dist-hook:
+       cd $(distdir) && for i in $(EXTRA_DIST) ; do find $$i -name CVS -type d 
-prune -exec rm -r '{}' ';' ; done

3. I also suggest this patch to enhance portability, particularly for older,
possibly non-gcc, configurations:

Index: configure.ac
===================================================================
RCS file: /cvsroot/openvpn/openvpn/configure.ac,v
retrieving revision 1.51
diff -u -r1.51 configure.ac
--- configure.ac        16 Feb 2003 19:01:49 -0000      1.51
+++ configure.ac        19 Feb 2003 12:46:32 -0000
@@ -137,8 +137,11 @@
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
+AC_C_VOLATILE
+AC_TYPE_OFF_T
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T
+AC_TYPE_UID_T
 AC_HEADER_TIME

 dnl Check for more header files.

4. don't use autogen.sh, it has been superseded by "autoreconf". Try
   autoreconf -i -v (be chary about passing -f, it will kill your COPYING and
   INSTALL files!)

   I think you then don't need pre-touch either. In fact, I usually discourage
   keeping generated files in CVS. They only bloat things and cause unnecessary
   rebuilds and commits.

   Please consider doing:
   cvs rm -f Makefile.in aclocal.m4 config.h.in configure
   cvs rm -f config.guess config.sub depcomp install-sh missing
   cvs rm -f mkinstalldirs
   cvs commit -m "Remove generated files from CVS."

-- 
Matthias Andree

Reply via email to