You are not logged in.
I solved the problem by compiling libxml2-2.11.5-1 in my updated system (which has icu-74 instead of the older icu-73, which is what caused the original version of libxml2-2.11.5-1 to stop working) and then doing as suggested in #6.
To compile the library, first fully update your system and then you can download the PKGBUILD here: https://gitlab.archlinux.org/archlinux/ … bff63d18eb
Then copy from the pkg/libxml2/usr/lib the files libxml2.so.2 and libxml2.so.2.11.5 to opt/cisco/anyconnect/libxml/ (you'd have to create that directory first) and then add the environment variable to the files that start the daemon and the client (/etc/systemd/system/vpnagentd.service and -in my case- ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop). The commands to add are, respectively:
ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
and
Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
Thank you, Bogart, for the original solution. It worked for me! Below, I've streamlined the process, but it's essentially the same as Bogart's fix:
1. Clone and build the libxml2 package
$ git clone https://gitlab.archlinux.org/archlinux/packaging/packages/libxml2.git
$ cd libxml/
$ git checkout 2.11.5-1
$ makepkg -si
2. Create the necessary directory and copy the library files:
$ sudo mkdir /opt/cisco/annyconnect/libxml
$ sudo cp pkg/libxml2/usr/lib/libxml2.so.2 opt/cisco/annyconnect/libxml/
$ sudo cp pkg/libxml2/usr/lib/libxml2.so.2.11.5 opt/cisco/annyconnect/libxml/
2. For the VPN daemon service
$ sudo vim /etc/systemd/systyem/vpnagentd.service
# Change the ExecStart line to:
ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
3. For the GUI client
# For gnome users:
$ sudo vim /usr/share/applications/com.cisco.secureclient.gui.desktop
# For kde users:
$ sudo vim ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop
# In both cases change the ExecStart line to:
Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
4 Reload and restart the daemon
$ sudo systemctl daemon-reload
$ sudo systemctl restart vpnagentd.service
Please let me know if this works for you or if you find any issues. Corrections and suggestions are always welcome!
Offline
Thanks! It works for me.
Offline
Bogart wrote:I solved the problem by compiling libxml2-2.11.5-1 in my updated system (which has icu-74 instead of the older icu-73, which is what caused the original version of libxml2-2.11.5-1 to stop working) and then doing as suggested in #6.
To compile the library, first fully update your system and then you can download the PKGBUILD here: https://gitlab.archlinux.org/archlinux/ … bff63d18eb
Then copy from the pkg/libxml2/usr/lib the files libxml2.so.2 and libxml2.so.2.11.5 to opt/cisco/anyconnect/libxml/ (you'd have to create that directory first) and then add the environment variable to the files that start the daemon and the client (/etc/systemd/system/vpnagentd.service and -in my case- ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop). The commands to add are, respectively:
ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
and
Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
Thank you, Bogart, for the original solution. It worked for me! Below, I've streamlined the process, but it's essentially the same as Bogart's fix:
1. Clone and build the libxml2 package
$ git clone https://gitlab.archlinux.org/archlinux/packaging/packages/libxml2.git $ cd libxml/ $ git checkout 2.11.5-1 $ makepkg -si
2. Create the necessary directory and copy the library files:
$ sudo mkdir /opt/cisco/annyconnect/libxml $ sudo cp pkg/libxml2/usr/lib/libxml2.so.2 opt/cisco/annyconnect/libxml/ $ sudo cp pkg/libxml2/usr/lib/libxml2.so.2.11.5 opt/cisco/annyconnect/libxml/
2. For the VPN daemon service
$ sudo vim /etc/systemd/systyem/vpnagentd.service # Change the ExecStart line to: ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
3. For the GUI client
# For gnome users: $ sudo vim /usr/share/applications/com.cisco.secureclient.gui.desktop # For kde users: $ sudo vim ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop # In both cases change the ExecStart line to: Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
4 Reload and restart the daemon
$ sudo systemctl daemon-reload $ sudo systemctl restart vpnagentd.service
Please let me know if this works for you or if you find any issues. Corrections and suggestions are always welcome!
Cisco doesn't launch from rofi like typically, instead I can get it to launch through cmdline running vpnui, however although it no longer has the original issue it says I am missing required libraries to authenticate
(
Offline
Bogart wrote:I solved the problem by compiling libxml2-2.11.5-1 in my updated system (which has icu-74 instead of the older icu-73, which is what caused the original version of libxml2-2.11.5-1 to stop working) and then doing as suggested in #6.
To compile the library, first fully update your system and then you can download the PKGBUILD here: https://gitlab.archlinux.org/archlinux/ … bff63d18eb
Then copy from the pkg/libxml2/usr/lib the files libxml2.so.2 and libxml2.so.2.11.5 to opt/cisco/anyconnect/libxml/ (you'd have to create that directory first) and then add the environment variable to the files that start the daemon and the client (/etc/systemd/system/vpnagentd.service and -in my case- ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop). The commands to add are, respectively:
ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
and
Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
Thank you, Bogart, for the original solution. It worked for me! Below, I've streamlined the process, but it's essentially the same as Bogart's fix:
1. Clone and build the libxml2 package
$ git clone https://gitlab.archlinux.org/archlinux/packaging/packages/libxml2.git $ cd libxml/ $ git checkout 2.11.5-1 $ makepkg -si
2. Create the necessary directory and copy the library files:
$ sudo mkdir /opt/cisco/annyconnect/libxml $ sudo cp pkg/libxml2/usr/lib/libxml2.so.2 opt/cisco/annyconnect/libxml/ $ sudo cp pkg/libxml2/usr/lib/libxml2.so.2.11.5 opt/cisco/annyconnect/libxml/
2. For the VPN daemon service
$ sudo vim /etc/systemd/systyem/vpnagentd.service # Change the ExecStart line to: ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
3. For the GUI client
# For gnome users: $ sudo vim /usr/share/applications/com.cisco.secureclient.gui.desktop # For kde users: $ sudo vim ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop # In both cases change the ExecStart line to: Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
4 Reload and restart the daemon
$ sudo systemctl daemon-reload $ sudo systemctl restart vpnagentd.service
Please let me know if this works for you or if you find any issues. Corrections and suggestions are always welcome!
Thanks. It works, though there are some spelling mistakes. Here is corrected version:
1. Clone and build the libxml2 package
$ git clone https://gitlab.archlinux.org/archlinux/packaging/packages/libxml2.git
$ cd libxml/
$ git checkout 2.11.5-1
$ makepkg -si
2. Create the necessary directory and copy the library files:
$ sudo mkdir /opt/cisco/anyconnect/libxml
$ sudo cp pkg/libxml2/usr/lib/libxml2.so.2 /opt/cisco/anyconnect/libxml/
$ sudo cp pkg/libxml2/usr/lib/libxml2.so.2.11.5 /opt/cisco/anyconnect/libxml/
2. For the VPN daemon service
$ sudo vim /etc/systemd/systyem/vpnagentd.service
# Change the ExecStart line to:
ExecStart=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnagentd -execv_instance
3. For the GUI client
# For gnome users:
$ sudo vim /usr/share/applications/com.cisco.secureclient.gui.desktop
# For kde users:
$ sudo vim ~/.local/share/plasma_icons/com.cisco.anyconnect.gui.desktop
# In both cases change the ExecStart line to:
Exec=env 'LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH' /opt/cisco/anyconnect/bin/vpnui
4 Reload and restart the daemon
$ sudo systemctl daemon-reload
$ sudo systemctl restart vpnagentd.service
If you start the vpn client using CLI, then you have to provide path to new xml libraries as follows when doing so:
env LD_LIBRARY_PATH=/opt/cisco/anyconnect/libxml:$LD_LIBRARY_PATH /opt/cisco/anyconnect/bin/vpnui
Last edited by marcin123 (2024-01-08 09:51:51)
Offline
I followed the steps correctly, the only difference was I had to change the location of the since my vpnui is located in /opt/cisco/secureclient/bin/vpnui not /opt/csico/anyconnect/... but the issue I get "You are missing the required libraries for the authentication method you requested". It shows however the different groups I can select for my university, (staff, student, external). Anyone know how to fix this?
Offline
Hello, how are you?
I just commented on AUR about my tests , but I'll briefly comment here on how it worked for me.
It was not necessary to modify the service, just the Script:
1) Configuring the libraries, without "dirtying" the application:
mkdir -p ~/build/cisco-lib_other
cd ~/build/cisco-lib_other
wget -c https://archive.archlinux.org/packages/l/libxml2/libxml2-2.11.5-1-x86_64.pkg.tar.zst
wget -c https://archive.archlinux.org/packages/g/glib2/glib2-2.78.0-3-x86_64.pkg.tar.zst
wget -c https://archive.archlinux.org/packages/i/icu/icu-73.2-2-x86_64.pkg.tar.zst
tar --use-compress-program=unzstd -xvf libxml2-2.11.5-1-x86_64.pkg.tar.zst usr/lib
tar --use-compress-program=unzstd -xvf glib2-2.78.0-3-x86_64.pkg.tar.zst usr/lib
tar --use-compress-program=unzstd -xvf icu-73.2-2-x86_64.pkg.tar.zst usr/lib
sudo mkdir -p /opt/cisco/lib_other
sudo cp -av usr/lib/lib* /opt/cisco/lib_other
2) Configuring the `cisco-secureclient` script:
sudo cp -a /usr/bin/cisco-secureclient /usr/bin/cisco-secureclient_or
sudo sed -i "/export/s/lib/lib:\/opt\/cisco\/lib_other/" /usr/bin/cisco-secureclient
The script will look like this:
#!/usr/bin/bash
export LD_LIBRARY_PATH=/opt/cisco/secureclient/lib:/opt/cisco/lib_other:$LD_LIBRARY_PATH
cd /opt/cisco/secureclient/bin
./vpnui
Offline
I had this problem and solved it with the steps above, and everything was working normally until today. Now when I press connect in Cisco secure client I get a message in the bottom of the app that says Establishing VPN session... and then nothing for about a minute when it times out with the message Cisco secure client was not able to establish a connection to the specified secure gateway. Pleas try connecting again
is there a way to get logs, or more information about what happening?
And the Cisco app on my windows install is working it is on my end on the arch install
Offline