# PCSCD compilation/installation question

**URL:** https://support.nitrokey.com/t/pcscd-compilation-installation-question/7600
**Category:** FIDO2 / Nitrokey 3
**Created:** [May 15, 2026, 7:34am UTC](https://support.nitrokey.com/t/pcscd-compilation-installation-question/7600 "2026-05-15T07:34:06Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![T.L.7Gadi](https://support.nitrokey.com/user_avatar/support.nitrokey.com/t.l.7gadi/32/1436_2.png) [@T.L.7Gadi](https://support.nitrokey.com/u/T.L.7Gadi)
#### Post date: [May 15, 2026, 7:34am UTC](https://support.nitrokey.com/t/pcscd-compilation-installation-question/7600/1 "2026-05-15T07:34:06Z")

</div>

Hello!

I have a question about the compilation and installation of the [PCSCD](https://pcsclite.apdu.fr/).

My Host system ([Mageia](https://www.mageia.org/en/)) ships with the 1.9.9-1.1 version and the latest version is 2.4.1. I downloaded the latest version and try to install it.

So I followed the instructions and everything was fine, except that the installation path was

`/usr/sbin/pcscd`

which differs from the path my system stored the old version.

Is this a problem? The following status information may indicate that exactly the new version is used for pcscd isn’t it?

`[root@localhost ~]# systemctl status pcscd `  
**`●`** `pcscd.service - PC/SC Smart Card Daemon`  
` Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset:` **`disabled`** `) `  
` Active:`**`active (running)`**`since Fri 2026-05-15 02:30:44 EDT; 57min ago`  
`TriggeredBy: ` **`●`** `pcscd.socket`  
` Docs: man:pcscd(8)`  
` Main PID: 862895 (pcscd)`  
` Tasks: 7 (limit: 38334)`  
` Memory: 1.4M`  
` CPU: 18ms`  
` CGroup: /system.slice/pcscd.service`  
` └─862895 /usr/sbin/pcscd --foreground --auto-exit`

`Mai 15 02:30:44 localhost systemd[1]: Started pcscd.service. `  
`Mai 15 02:30:44 localhost pcscd[862895]: 00000000 winscard_svc.c:382:ContextThread() Communication protocol mismatch! `  
`Mai 15 02:30:44 localhost pcscd[862895]: 00000075 winscard_svc.c:384:ContextThread() Client protocol is 4:5 `  
`Mai 15 02:30:44 localhost pcscd[862895]: 00000003 winscard_svc.c:386:ContextThread() Server protocol is 4:4`

Is there a way to figure out which version pcscd use?

What may the line

`Mai 15 02:30:44 localhost pcscd[862895]: 00000000 winscard_svc.c:382:ContextThread() Communication protocol mismatch!`

tell us?

I then I stumbled about this code (a file called `c.sh`)

```auto
#!/bin/sh

set -x
set -e

BUILD_DIR=builddir
TMP_DIR=/tmp/pcsc

rm -rf "$BUILD_DIR"

meson setup "$BUILD_DIR" \
	--prefix /usr \
	-Dsystemdunit=system \
	"$@"

cd "$BUILD_DIR"
meson compile

rm -rf "$TMP_DIR"
DESTDIR="$TMP_DIR" meson install
find "$TMP_DIR"

```

which is part of the pcscd archive.

I just run this code and again everything works.

Can someone please explain what

```auto
meson setup "$BUILD_DIR" \
	--prefix /usr \
	-Dsystemdunit=system \
	"$@"

```

Does?

Many regards!😃

T.L.
