Unable to launch vpnc OpenSuSe 13.1/13.2

Hi All,

I’m unable to use vpnc on my opensuse machine. When trying to execute, I get the following error “vpnc: symbol lookup error: /usr/lib/libgnutls.so.28: undefined symbol: nettle_secp_224r1”

I first tried to update my release from 13.1 to 13.2 with no luck. I tried to downgrade/upgrade my vpnc/libgnutls/libnettle rpms with no luck either. I’m back up to the latest version of all packages with same problem. Any ideas where I can look for troubleshooting? Thanks in advance.


homeserv:/home/scriptuser # vpnc testvpn
vpnc: symbol lookup error: /usr/lib/libgnutls.so.28: undefined symbol: nettle_secp_224r1
homeserv:/home/scriptuser # vpnc --debug                
vpnc: symbol lookup error: /usr/lib/libgnutls.so.28: undefined symbol: nettle_secp_224r1
homeserv:/home/scriptuser # ls -la /usr/lib/libgnutls*  
lrwxrwxrwx 1 root root      27 Nov 15 12:07 /usr/lib/libgnutls-openssl.so.27 -> libgnutls-openssl.so.27.0.2
-rwxr-xr-x 1 root root   38520 Oct  6 11:07 /usr/lib/libgnutls-openssl.so.27.0.2
lrwxrwxrwx 1 root root      20 Nov 15 14:04 /usr/lib/libgnutls.so -> libgnutls.so.28.30.9
lrwxrwxrwx 1 root root      20 Nov 15 14:04 /usr/lib/libgnutls.so.28 -> libgnutls.so.28.30.9
-rwxr-xr-x 1 root root 1140264 Oct  6 11:07 /usr/lib/libgnutls.so.28.30.9
lrwxrwxrwx 1 root root      23 Nov 15 14:04 /usr/lib/libgnutls-xssl.so -> libgnutls-xssl.so.0.0.0
lrwxrwxrwx 1 root root      23 Nov 15 14:04 /usr/lib/libgnutls-xssl.so.0 -> libgnutls-xssl.so.0.0.0
-rwxr-xr-x 1 root root   30284 Oct  6 11:07 /usr/lib/libgnutls-xssl.so.0.0.0
lrwxrwxrwx 1 root root      21 Nov 15 12:07 /usr/lib/libgnutlsxx.so.28 -> libgnutlsxx.so.28.1.0
-rwxr-xr-x 1 root root   63612 Oct  6 11:07 /usr/lib/libgnutlsxx.so.28.1.0
homeserv:/home/scriptuser # ls -la /usr/lib/libnettle*
lrwxrwxrwx 1 root root     16 Nov 15 14:04 /usr/lib/libnettle.so -> libnettle.so.4.7
lrwxrwxrwx 1 root root     16 Nov 15 14:04 /usr/lib/libnettle.so.4 -> libnettle.so.4.7
-rw-r--r-- 1 root root 210696 Sep 25 03:28 /usr/lib/libnettle.so.4.7
homeserv:/home/scriptuser # rpm -qa |grep nettle
libnettle4-2.7.1-6.1.2.i586
libnettle-devel-2.7.1-6.1.2.i586
homeserv:/home/scriptuser # rpm -qa |grep libgnutls
libgnutlsxx28-3.2.18-1.1.i586
libgnutls28-3.2.18-1.1.i586
libgnutls-openssl27-3.2.18-1.1.i586
libgnutls-devel-3.2.18-1.1.i586
homeserv:/home/scriptuser # cat /etc/os-release 
NAME=openSUSE
VERSION="13.2 (Harlequin)"
VERSION_ID="13.2"
PRETTY_NAME="openSUSE 13.2 (Harlequin) (i586)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:13.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://opensuse.org/"
ID_LIKE="suse"
homeserv:/home/scriptuser # uname -a
Linux homeserv 3.16.6-2-desktop #1 SMP PREEMPT Mon Oct 20 13:47:22 UTC 2014 (feb42ea) i686 i686 i386 GNU/Linux

You seem to have an incompatible mix of packages installed.
Btw, I can start it just fine on my 13.2 system.

Can you please post your repo list?

zypper lr -d

I first tried to update my release from 13.1 to 13.2 with no luck. I tried to downgrade/upgrade my vpnc/libgnutls/libnettle rpms with no luck either. I’m back up to the latest version of all packages with same problem.

And which versions would those “latest versions” be?


homeserv:/home/scriptuser # zypper lr -d
# | Alias               | Name                         | Enabled | Refresh | Priority | Type   | URI                                                          | Service
--+---------------------+------------------------------+---------+---------+----------+--------+--------------------------------------------------------------+--------
1 | repo-13.2-non-oss   | openSUSE-13.2 Non-OSS        | Yes     | No      |   99     | yast2  | http://download.opensuse.org/distribution/13.2/repo/non-oss/ |        
2 | repo-13.2-oss       | openSUSE-13.2 OSS            | Yes     | No      |   99     | yast2  | http://download.opensuse.org/distribution/13.2/repo/oss/     |        
3 | repo-13.2-update    | openSUSE-13.2 Updates        | Yes     | No      |   99     | rpm-md | http://download.opensuse.org/update/13.2/                    |        
4 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/13.2-non-oss/            |        

As far as the latest versions, it’s what zypper updated me back to from the repo. I had them listed in my original output.

Please enable Auto-Refresh for the update repo. Otherwise zypper/Yast will not see new packages in there, which could lead to a problem like this.

I would suggest to run this:

sudo zypper ref
sudo zypper dup

This should bring your system into a consistent state.

If it still doesn’t work afterwards, you probably have some old or self-compiled version in /usr/local or your /home that gets preferred, so post the output of:

which vpnc

As far as the latest versions, it’s what zypper updated me back to from the repo. I had them listed in my original output.

Yes, you had the versions for libnettle and libgnutls listed, but not for vpnc itself…

Hi wolf, I did what you suggested and it did update/replace some packages but unfortunately problem still exists with vpnc. I’ve never used vpnc before prior to this, and I searched the drives for another possible installation/compiled version with no surprising results.


homeserv:/home/scriptuser # which vpnc
/usr/sbin/vpnc
homeserv:/home/scriptuser # rpm -qa |grep vpnc
vpnc-0.5.3r517-9.2.1.i586
homeserv:/home/scriptuser # find / -name vpnc
/usr/sbin/vpnc
/usr/share/bash-completion/completions/vpnc
/usr/share/doc/packages/vpnc
/usr/share/gnome-vpn-properties/vpnc
/etc/vpnc
/run/vpnc


Strange. As said it works fine here.

What’s the output of:

ldd /usr/sbin/vpnc


hey wolf, yea I have a virtual machine I’m running opensuse on where I test my scripts and such first. Once I got it working there, when I went to port it over to my server machine is when I noticed the problem with vpnc. I’d never used it prior to today so never noticed it was broken. The server machine has gone through many upgrades with no issues since 12.x days. If I can’t figure this out, I may have to do a fresh install, but boy setting it back up to where it is today is not something I’d look forward to.

here is that output


homeserv:/home/scriptuser # ldd /usr/sbin/vpnc
        linux-gate.so.1 (0xb77c6000)
        libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0xb76e5000)
        libgnutls.so.28 => /usr/lib/libgnutls.so.28 (0xb75cd000)
        libc.so.6 => /lib/libc.so.6 (0xb7421000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb740e000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7408000)
        libz.so.1 => /lib/libz.so.1 (0xb73f1000)
        libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0xb73b6000)
        libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0xb73a2000)
        libnettle.so.4 => /usr/local/lib/libnettle.so.4 (0xb7379000)
        libhogweed.so.2 => /usr/local/lib/libhogweed.so.2 (0xb7364000)
        libgmp.so.10 => /usr/lib/libgmp.so.10 (0xb72dd000)
        /lib/ld-linux.so.2 (0xb77c9000)
        libffi.so.4 => /usr/lib/libffi.so.4 (0xb72d6000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb72ba000)

Here’s the problem:

So you have an incompatible libnettle.so.4 (and libhogweed.so.2) in /usr/local which is used instead of the standard one.
Remove that and vpnc should work.

**** just noticed those paths, yes it did fix it. Thanks so much Wolf!