Installation issues with Linux version of 健保卡網路服務註冊 software (mLNHIICC) on Ubuntu Linux 19.10 and later.

大家好!

我的中文沒有很好,所以我會用英文解釋我的問題。

A colleague of mine suggested I use this platform to raise the following issue. If this is not the right place to do so, please let me know what entity to contact. Thanks!


A few days ago, I tried to use the eMask website from the Taiwanese government to order masks online.

Short story: it works on Ubuntu Linux 18.04, but not on the later versions, and I would like to report the bug but I don’t know where. Can you help me?

Long story:

I bought a USB smartcard reader in 光華, it was recognized out of the box on my Ubuntu Linux 19.10 laptop.
However, when I tried to install the application from the 健保 website, I got the following errors:

~/Downloads/mLNHIICC_Setup$ sudo ./Install
mLNHIICC: no process found
x86_64
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-image-5.0.0-32-generic linux-modules-5.0.0-32-generic linux-modules-extra-5.0.0-32-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libc-dev-bin libc6-dbg libc6-dev
Suggested packages:
  glibc-doc
The following packages will be upgraded:
  libc-dev-bin libc6 libc6-dbg libc6-dev
4 upgraded, 0 newly installed, 0 to remove and 268 not upgraded.
Need to get 11.1 MB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://tw.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libc6-dev amd64 2.30-0ubuntu2.1 [2,550 kB]
Get:2 http://tw.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libc-dev-bin amd64 2.30-0ubuntu2.1 [71.6 kB]
Get:3 http://tw.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libc6-dbg amd64 2.30-0ubuntu2.1 [5,734 kB]
Get:4 http://tw.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libc6 amd64 2.30-0ubuntu2.1 [2,726 kB]
Fetched 11.1 MB in 2s (5,620 kB/s)
Preconfiguring packages ...
(Reading database ... 221661 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.30-0ubuntu2.1_amd64.deb ...
Unpacking libc6-dev:amd64 (2.30-0ubuntu2.1) over (2.30-0ubuntu2) ...
Preparing to unpack .../libc-dev-bin_2.30-0ubuntu2.1_amd64.deb ...
Unpacking libc-dev-bin (2.30-0ubuntu2.1) over (2.30-0ubuntu2) ...
Preparing to unpack .../libc6-dbg_2.30-0ubuntu2.1_amd64.deb ...
Unpacking libc6-dbg:amd64 (2.30-0ubuntu2.1) over (2.30-0ubuntu2) ...
Preparing to unpack .../libc6_2.30-0ubuntu2.1_amd64.deb ...
Unpacking libc6:amd64 (2.30-0ubuntu2.1) over (2.30-0ubuntu2) ...
Setting up libc6:amd64 (2.30-0ubuntu2.1) ...
Setting up libc6-dbg:amd64 (2.30-0ubuntu2.1) ...
Setting up libc-dev-bin (2.30-0ubuntu2.1) ...
Setting up libc6-dev:amd64 (2.30-0ubuntu2.1) ...
Processing triggers for man-db (2.8.7-3) ...

Processing triggers for libc-bin (2.30-0ubuntu2) ...
Reading package lists... Done
Building dependency tree      
Reading state information... Done
openssl is already the newest version (1.1.1c-1ubuntu4).
openssl set to manually installed.
The following packages were automatically installed and are no longer required:
  linux-image-5.0.0-32-generic linux-modules-5.0.0-32-generic linux-modules-extra-5.0.0-32-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 268 not upgraded.
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-image-5.0.0-32-generic linux-modules-5.0.0-32-generic linux-modules-extra-5.0.0-32-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libccid
The following NEW packages will be installed:
  libccid pcscd
0 upgraded, 2 newly installed, 0 to remove and 268 not upgraded.
Need to get 130 kB of archives.
After this operation, 476 kB of additional disk space will be used.
Get:1 http://tw.archive.ubuntu.com/ubuntu eoan/universe amd64 libccid amd64 1.4.31-1 [72.1 kB]
Get:2 http://tw.archive.ubuntu.com/ubuntu eoan/universe amd64 pcscd amd64 1.8.25-2ubuntu1 [57.8 kB]
Fetched 130 kB in 0s (3,554 kB/s)
Selecting previously unselected package libccid.
(Reading database ... 221661 files and directories currently installed.)
Preparing to unpack .../libccid_1.4.31-1_amd64.deb ...
Unpacking libccid (1.4.31-1) ...
Selecting previously unselected package pcscd.
Preparing to unpack .../pcscd_1.8.25-2ubuntu1_amd64.deb ...
Unpacking pcscd (1.8.25-2ubuntu1) ...
Setting up libccid (1.4.31-1) ...
Setting up pcscd (1.8.25-2ubuntu1) ...
Created symlink /etc/systemd/system/sockets.target.wants/pcscd.socket → /lib/systemd/system/pcscd.socket.
Processing triggers for man-db (2.8.7-3) ...
Processing triggers for systemd (242-7ubuntu3) ...
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-image-5.0.0-32-generic linux-modules-5.0.0-32-generic linux-modules-extra-5.0.0-32-generic
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  libnss3-tools
0 upgraded, 1 newly installed, 0 to remove and 268 not upgraded.
Need to get 870 kB of archives.
After this operation, 4,519 kB of additional disk space will be used.
Get:1 http://tw.archive.ubuntu.com/ubuntu eoan-updates/universe amd64 libnss3-tools amd64 2:3.45-1ubuntu2.2 [870 kB]
Fetched 870 kB in 0s (9,514 kB/s)    
Selecting previously unselected package libnss3-tools.
(Reading database ... 221690 files and directories currently installed.)
Preparing to unpack .../libnss3-tools_2%3a3.45-1ubuntu2.2_amd64.deb ...
Unpacking libnss3-tools (2:3.45-1ubuntu2.2) ...
Setting up libnss3-tools (2:3.45-1ubuntu2.2) ...
Processing triggers for man-db (2.8.7-3) ...
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Package libssl1.0.0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libssl1.0.0' has no installation candidate
Reading package lists... Done
Building dependency tree      
Reading state information... Done
ca-certificates is already the newest version (20190110).
ca-certificates set to manually installed.
The following packages were automatically installed and are no longer required:
  linux-image-5.0.0-32-generic linux-modules-5.0.0-32-generic linux-modules-extra-5.0.0-32-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 268 not upgraded.
unlink: cannot unlink '/etc/rc5.d/S50NHIICC.sh': No such file or directory
/usr/local/share/NHIICC/mLNHIICC: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Indeed, Ubuntu 19.10 doesn’t ship with libssl1.0.0 anymore:

$ cd /usr/lib/x86_64-linux-gnu/
$ ll libssl*
-rw-r--r-- 1 root root 377896 Jul 24  2019 libssl3.so
-rw-r--r-- 1 root root 593856 Aug 20  2019 libssl.so.1.1

I tried to create a symlink to trick the software:

$ sudo ln -sf libssl.so.1.1 libssl.so.1.0.0

But then another library version was incorrect:

$ cd /usr/local/share/NHIICC
$ ./mLNHIICC
./mLNHIICC: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Tried to symlink this lib as well…

$ cd /usr/lib/x86_64-linux-gnu/
$ sudo ln -sf libcrypto.so.1.1 libcrypto.so.1.0.0

But then I see yet another problem:

$ cd usr/local/share/NHIICC
$ ./mLNHIICC
./mLNHIICC: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by ./mLNHIICC)
./mLNHIICC: /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by ./mLNHIICC)
./mLNHIICC: /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by ./mLNHIICC)

At that point, I gave up. Fortunately, I have another computer using Ubuntu Linux 18.04. I tried on it, and everything worked fine. I was finally able to order masks online! \o/

I would like to report this bug, but I don’t know who to contact. Any idea?

Since this software depends on a specific version of some libraries, the snap packaging format could be helpful. It ensures a given version from a library is used, and the same snap package can, in theory, on many different Linux distributions. This would also avoid asking Linux users to follow a tedious process to get things working. Disclaimer: I work for Canonical, the company behind Ubuntu Linux and the snap package format :wink: Would you be interested in using snap, please feel free to use the public Snapcraft forums and let me know.

Thank you!