installing eid-viewer eid-middleware manually on debian

If you distribution is not supported yet then build it from the tar file. I’m sharing this article for other curious creatures who want to just go on with their lives while working on a testing distro..

To build something you need to install the build essentials ofcourse:

sudo apt-get install build-essential

now go download the tar file here
and unpack it:

tar -xf eid-mw-4.2.5-v4.2.5.tar.gz 
cd eid-mw-4.2.5-v4.2.5/

Now I’ll save you some time by listing the libraries I had to install after getting errors all the time when trying to do ./configure and hunting down the package name:

sudo apt-get install -y pkg-config libpcsclite-dev libgtk-3-dev libxml2-dev libproxy-dev libssl-dev libcurl4-openssl-dev
[might have changed now]

When you managed to run ./configure and you succesfully created the makefile do:



sudo make install

now try run the eid-viewer from the cli:


I had to copy over the following libraries it installed in /usr/local/lib.

sudo cp /usr/local/lib/libeidviewer.* /usr/lib/
sudo cp /usr/local/lib/libbeidpkcs11.* /usr/lib/


# EXTRA info on adding libraries to the /usr/local/lib path:

Set this at shell for temporary use or add to the shell initialization file for permanent effect:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib


Adjust ldconfig and rebuild cache
Open the /etc/ as sudo and add a new line with the library directory. In this case, we add /usr/local/lib.

Rerun ldconfig to rebuild the cache:

sudo ldconfig

Check if the shared library cache now includes the shared libraries from the new directory:

ldconfig -p

7 thoughts on “installing eid-viewer eid-middleware manually on debian

  1. I am also running Debian testing (i.e., currently ‘stretch’), but I have so far been using the Belgian eID software under Ubuntu. When I wanted to install the software on my Debian system, I realised that it wasn’t yet available for stretch, so out of curiosity, I attempted to install it from its ‘jessie’ area (which, pretty unsurprisingly, failed).

    When I took a closer look at the repository, I noticed that there existed a ‘sid’ area under the ‘candidate’ repository, so I decided to try that, and lo and behold… it worked!

    Thus, I am now running the eID software from the ‘candidate/sid’ area of its repository. Granted, this is a pre-release version of the software, but Debian testing is also pre-release, so I guess it’s a perfect fit.

    Now, I wasn’t really sure if what I did was anything like a ‘normal’ or ‘recommended’ solution, or if I was just ‘lucky’ that it worked, so I went looking for more information about the proper way to use the software under Debian testing… which brought me here. I’ll sure keep this post in mind, should I ever run into trouble and need another solution to get it to work.

    In any case, many thanks for the detailed information!


    1. Hi Luc
      Yes I tried that path. I just didn’t approve of the entry in the sources.list file it generates. It creates a wheezy entry when you install their packages from here So they use a wheezy repository for the install on jessie and upwards. That is amateurish. 1 they should have their package in the repositories (not requiring you to go fetch it from their website), I think they fear the hassle or extra reviewing done when a package goes through the approval process. 2 I wanted to be absolutely sure it would be working for my system on stretch by building it and yes 3 I don’t want any generic wheezy package installed. In short check your sources.list or sources.list.d files. you’ll see that sid redirects to the same wheezy repository. Unless I’m wrong and they changed something.
      Thank you for your comment, should have explained that a bit more up front


  2. Hmmm… I created my sources.list entry manually, so it just says “candidate/sid”.

    I didn’t like the idea of downloading and installing an out-of-band “eid-archive.deb” package without knowing what exactly it would do, so instead of installing it, I unpacked and studied it after downloading it.

    In the end, I decided that I didn’t need it, because it really just loaded the public keys for the repository and created the “sources.list” entry. (And, yes, you’re right: if it cannot identify the running Debian release, it will fall back to “wheezy”). Thus, I wrote a shell script that receives the public keys from a keyserver, and that sets up the “sources.list” entry for me. If the running Debian release is supported by the repository, then it will specify that release in the “sources.list” file, otherwise it will use “candidate/sid”.


  3. I have just posted the script, with some documentation at the following location: “”.

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s