어우 묘하게 많은 패키지를 요구하네
| $ sudo apt-get install libpolkit-gobject-1-dev libsystemd-dev doxygen $ meson setup builddir
 $ cd builddir/
 $ meson compile
 $ meson install
 | 
[링크 : https://github.com/LudovicRousseau/PCSC]
[링크 : https://blog.apdu.fr/posts/2024/05/pcsc-lite-now-uses-meson-build-tool/]
    [링크 : https://pcsclite.apdu.fr/]
 
[링크 : https://github.com/FedeDP/Clightd/issues/41] polkit-gobject-1 에러
 
 
meson install 안하면 아래와 같이 so 파일 없다고 에러난다.
| $ ./pcsc_demo PC/SC sample code
 V 1.4 2003-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
 
 THIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL FOR END USERS!
 Do NOT use it unless you really know what you do.
 
 loading "libpcsclite_real.so.1" failed: libpcsclite_real.so.1: cannot open shared object file: No such file or directory
 SCardEstablishContext: Cannot Connect to Resource Manager 80100001
 | 
 
근데 설치하고 나서도 먼가 수행되진 않는다.
 
 
+
아무생각 없이 meson install 했다가 한시간 날림..
pcsc_scan 하면 서비스가 정지되었다는데
| $ pcsc_scan SCardEstablishContext: Service was stopped.
 | 
 
서비스는 돈다. 그런데.. 버전이 맞지 않다고
| $ sudo service pcscd status ● pcscd.service - PC/SC Smart Card Daemon
 Loaded: loaded (/lib/systemd/system/pcscd.service; indirect; vendor preset: enabled)
 Active: active (running) since Tue 2025-02-25 16:36:23 KST; 37s ago
 TriggeredBy: ● pcscd.socket
 Docs: man:pcscd(8)
 Main PID: 865510 (pcscd)
 Tasks: 6 (limit: 18836)
 Memory: 1.1M
 CPU: 63ms
 CGroup: /system.slice/pcscd.service
 └─865510 /usr/sbin/pcscd --foreground --auto-exit
 
 2월 25 16:36:23 minimonk systemd[1]: Started PC/SC Smart Card Daemon.
 2월 25 16:36:23 minimonk pcscd[865510]: 00000000 winscard_svc.c:382:ContextThread() Communication protocol mismatch!
 2월 25 16:36:23 minimonk pcscd[865510]: 00000085 winscard_svc.c:384:ContextThread() Client protocol is 4:5
 2월 25 16:36:23 minimonk pcscd[865510]: 00000007 winscard_svc.c:386:ContextThread() Server protocol is 4:4
 | 
 
| /usr$ sudo find ./ -name libpcsclite* ./share/doc/libpcsclite1
 ./local/lib/x86_64-linux-gnu/libpcsclite.a
 ./local/lib/x86_64-linux-gnu/libpcsclite_real.so.1
 ./local/lib/x86_64-linux-gnu/pkgconfig/libpcsclite.pc
 ./local/lib/x86_64-linux-gnu/libpcsclite.so.1
 ./local/lib/x86_64-linux-gnu/libpcsclite_real.so
 ./local/lib/x86_64-linux-gnu/libpcsclite.so
 ./lib/x86_64-linux-gnu/libpcsclite.so.1
 ./lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
 | 
 
아마도 so 로더에서 /usr/lib 보다 /usr/local의 우선순위가 높다보니
| $ cat /etc/ld.so.conf.d/x86_64-linux-gnu.conf # Multiarch support /usr/local/lib/x86_64-linux-gnu
 /lib/x86_64-linux-gnu
 /usr/lib/x86_64-linux-gnu
 | 
 
apt로 설치되는 녀석은 /usr/lib에 설치되는데 반해
| /usr$ ls -al /lib/x86_64-linux-gnu/libpcsclite.so.1* lrwxrwxrwx 1 root root    20  6월 28  2023 /lib/x86_64-linux-gnu/libpcsclite.so.1 -> libpcsclite.so.1.0.0
 -rw-r--r-- 1 root root 43072  6월 28  2023 /lib/x86_64-linux-gnu/libpcsclite.so.1.0.0
 | 
 
git으로 소스 빌드해서 설치해버리면 /usr/local/lib에 설치가 되어버리면서
pcsc_scan이 참조하는 라이브러리가 달라져서 발생하는 것으로 추측된다.
| /usr/local/lib/x86_64-linux-gnu$ ls -al libpcsc* -rw-r--r-- 1 root root 185248  2월 25 15:40 libpcsclite.a
 lrwxrwxrwx 1 root root     16  2월 25 15:40 libpcsclite.so -> libpcsclite.so.1
 -rwxr-xr-x 1 root root  32896  2월 25 15:40 libpcsclite.so.1
 lrwxrwxrwx 1 root root     21  2월 25 15:40 libpcsclite_real.so -> libpcsclite_real.so.1
 -rwxr-xr-x 1 root root 113936  2월 25 15:40 libpcsclite_real.so.1
 lrwxrwxrwx 1 root root     15  2월 25 15:40 libpcscspy.so -> libpcscspy.so.0
 -rwxr-xr-x 1 root root  45792  2월 25 15:40 libpcscspy.so.0
 | 
[링크 : https://ludovicrousseau.blogspot.com/2023/04/faq-pcsc-lite-and-scardeservicestopped.html]