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