-
Notifications
You must be signed in to change notification settings - Fork 73
Closed
Description
用户参照
进行安装时会在sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
这一步报错:
rock@rock-3c:~$ sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
msodbcsql18
0 upgraded, 1 newly installed, 0 to remove and 73 not upgraded.
Need to get 0 B/689 kB of archives.
After this operation, 0 B of additional disk space will be used.
Preconfiguring packages ...
(Reading database ... 94060 files and directories currently installed.)
Preparing to unpack .../msodbcsql18_18.3.3.1-1_arm64.deb ...
Unpacking msodbcsql18 (18.3.3.1-1) ...
dpkg: error processing archive /var/cache/apt/archives/msodbcsql18_18.3.3.1-1_arm64.deb (--unpack):
unable to install new version of '/usr/lib64/libmsodbcsql-18.so': No such fileor directory
Errors were encountered while processing:
/var/cache/apt/archives/msodbcsql18_18.3.3.1-1_arm64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
原因是Microsoft这个包会想要在/usr/lib
以及/usr/lib64
下安装两个软链接:
这一步违反了Debian Policy 9.1.1.4 Packages for 64-bit architectures must not install files in /usr/lib64 or in a subdirectory of it.
:https://www.debian.org/doc/debian-policy/ch-opersys.html , 但绝大多数情况不会导致安装错误
然而Rockchip Chromium有硬编码的/usr/lib64
路径引用,所以其配置脚本会添加一个从/usr/lib64
到/usr/lib
的软链接:https://gitlab.com/rockchip_linux_sdk_6.1/linux/debian/-/blob/master/overlay/etc/init.d/rockchip.sh#L187
这导致了msodbcsql18会将两个文件安装到同一个位置,这是不被dpkg所允许的,所以导致了报错。
解决方案是删除/usr/lib64
这个软链接。这会导致Rockchip Chromium工作不正常。
Metadata
Metadata
Assignees
Labels
No labels