[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Google
 
Web openvpn.net

[Openvpn-users] SOLUTION tun/tap driver for 64 bit solaris


  • Subject: [Openvpn-users] SOLUTION tun/tap driver for 64 bit solaris
  • From: Ken Booth <sf.net@xxxxxxxxxxxxx>
  • Date: Wed, 07 Mar 2007 09:56:50 +0000

> > I was building OpenVPN on 64-bit Solaris
> > on Sparc and bumped into an error about symbol TUNNEWPPA from if_tun.h.
> > I tried to build the tun/tap driver
> > but got an error
> >
> > No 64-bit version of (tun) found; 32-bit version of this driver exists.
> > 32-bit driver (tun) not loadable on 64-bit kernel.
> > System configuration files modified but tun driver not loaded or attached.
> >
> > What can I do to resolve this problem
> > so that I can proceed with building OpenVPN?
> > Thanks in advance for replies.
> > Dean
>
> Dean-
> 
> Did you edit solaris/Makefile.in to include -m64 on the CFLAGS options?
> After you've done that you need to manually copy the tun files to
> /usr/kernel/drv/sparcv9.  This is described in the solaris9 section of the
> Install guide.
>
> Regards-
> Lisa

Hi Lisa,

I tried this, and ran into a few problems, but resolved them, all as follows ...

After the error:
/usr/sbin/add_drv tun
No 64-bit version of (tun) found; 32-bit version of this driver exists.
32-bit driver (tun) not loadable on 64-bit kernel.
System configuration files modified but tun driver not loaded or attached.

I tried adding -m64 to the CFLAGS line in solaris/Makefile.in but I didn't have any effect.
So I then realised I need to re-run the ./configure script.

I then I got the next error:
make distclean
...
./configure
...
make
cd solaris; make all
make[1]: Entering directory `/net/joey/export/home/linux/ken/Documents/downloads/Solaris/tun-1.1-64/solaris'
ld -r -o tun tun.o
ld: Relocatable linking with relocations from format elf64-sparc (tun.o) to format elf32-sparc (tun) is not supported
make[1]: *** [module] Error 1
make[1]: Leaving directory `/net/joey/export/home/linux/ken/Documents/downloads/Solaris/tun-1.1-64/solaris'
make: *** [module] Error 2

I eventually had to fix this error by running the ld with the -melf64_sparc option manually.
However, the "make install" tries to link again, so I had to run the whole thing by hand.

make distclean
./configure
make
cd solaris
gcc -DTUN_VER=\"1.1\ 03/07/2007\"  -O2 -Wall -D_KERNEL -I. -m64 -c tun.c
ld -melf64_sparc -r -o tun tun.o
./../install-sh -c -m 644 -o root -g root if_tun.h /usr/include/net
./../install-sh -c -m 644 -o root -g root tun /usr/kernel/drv/sparcv9
./../install-sh -c -m 644 -o root -g root tun.conf /usr/kernel/drv/sparcv9
/usr/sbin/rem_drv tun >/dev/null 2>&1
/usr/sbin/add_drv tun

And hey presto it WORKED :)

______________________
OpenVPN mailing lists
https://lists.sourceforge.net/lists/listinfo/openvpn-users