我想安装GLIBC和GLIBCXX,因为它们被称为“附加要求”来安装 Visual Studio Code。
如标题所述,我使用的是 Lubuntu 20.04
当搜索它时,我没有找到任何清楚的东西。一般来说,当我搜索如何安装某些东西时,答案是sudo apt-get install package-name
,但在这种情况下不是。我读过它可能是一个非常明智的安装,如果没有正确安装会造成很多麻烦。
那么,安装这两个包的正确方法是什么?
非常感谢您提前。
我想安装GLIBC和GLIBCXX,因为它们被称为“附加要求”来安装 Visual Studio Code。
如标题所述,我使用的是 Lubuntu 20.04
当搜索它时,我没有找到任何清楚的东西。一般来说,当我搜索如何安装某些东西时,答案是sudo apt-get install package-name
,但在这种情况下不是。我读过它可能是一个非常明智的安装,如果没有正确安装会造成很多麻烦。
那么,安装这两个包的正确方法是什么?
非常感谢您提前。
我正在尝试使用插件 linuxthreads ( https://ftp.gnu.org/gnu/glibc/编译 glibc 2.3 ( https://ftp.gnu.org/gnu/glibc/glibc-2.3.tar.gz ) glibc-linuxthreads-2.3.tar.gz)在 ubuntu 18.04 下。自述文件的要求是:
我应该安装较旧的发行版还是可以在较新的发行版上执行此任务。非常感谢任何建议或指示。
我可以使用支持 linuxthreads 的最新版本,即 glibc 2.5。我选择了 2.3,因为我已经阅读了 README。
到目前为止,我设法安装了 gcc 3.3。但我坚持尝试安装 gnu make 3.x(3.82 或 3.79)。
CC=gcc-3.3 ./configure --enable-add-ons=linuxthreads --prefix=<mypath>/glibc
loading cache ./config.cache
checking host system type... x86_64-unknown-linux-gnu
checking sysdep dirs... sysdeps/x86_64/elf linuxthreads/sysdeps/unix/sysv/linux/x86_64 linuxthreads/sysdeps/unix/sysv/linux linuxthreads/sysdeps/pthread sysdeps/pthread linuxthreads/sysdeps/unix/sysv linuxthreads/sysdeps/unix linuxthreads/sysdeps/x86_64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/x86_64 sysdeps/unix sysdeps/posix sysdeps/x86_64/fpu sysdeps/x86_64 sysdeps/wordsize-64 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for pwd... /bin/pwd
checking build system type... x86_64-unknown-linux-gnu
checking for gcc... gcc-3.3
checking version of gcc-3.3... 3.3.6, ok
checking for gnumake... no
checking for gmake... no
checking for make... no
configure: error:
*** These critical programs are missing or too old: make
*** Check the INSTALL file for required versions.
make 必须低于版本 4。
我有一个旧的 Ubuntu 16.04 (LTS) 安装,今天注意到,ping 和 curl 被告知(由 libc,我假设),任何未知主机的 IP 与本地主机的 IP 相同(例如“nslookup $(</etc/hostname)")。
“nslookup”和“dig”正确报告“NXDOMAIN”。
中/etc/nsswitch.conf
,我有
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
/etc/hosts
看起来像这样:
127.0.0.1 localhost.localdomain localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
/etc/hostname
:host1.mydomain.net
(与实际值不同)
/etc/resolv.conf
看起来像:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 213.133.98.98
nameserver 213.133.99.99
nameserver 213.133.100.100
curl https://undefinedhost
今天打印的时候我完全糊涂了
curl: (51) SSL: certificate subject name (host1.mydomain.net) does not match target host name 'undefinedhost'
只有当我看到ping undefinedhost
我开始理解的输出时,似乎发生了什么:
$ ping unknownhost
PING host1.mydomain.net (138.201.175.226) 56(84) bytes of data.
64 bytes from host1.mydomain.net (138.201.175.226): icmp_seq=1 ttl=63 time=0.237 ms
最后,dig
也按预期运行:
$ dig unresolvedhost @213.133.98.98
; <<>> DiG 9.10.3-P4-Ubuntu <<>> unresolvedhost @213.133.98.98
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 28972
任何人都可以阐明这可能出错的地方吗?
我需要为我的 R 安装 glmnet 包,但它说它不支持我安装的版本(3.2.3)。
我试图安装 R 3.6。我面临的问题是要安装 R 3.6,我需要libc6 > 2.29,但我的 libc6 是 2.23。我在网上搜索了不建议更改您的libc6版本,因为大多数应用程序都依赖它。
有什么解决方法吗?例如,安装旧版本的 glmnet?
我使用的是 Ubuntu 18.04,我尝试将 libc6 从版本 2.27 升级到 2.29,但我最终破坏了包系统。我无法修复,因为当我尝试使用修复命令时,它总是显示系统中的大量软件包将被删除。
Synaptic 显示这些软件包已损坏:
我怎么破的?我从https://packages.ubuntu.com/下载了以下软件包
我试图通过 dpkg 一个一个地安装它们,但由于依赖错误而没有工作,最后我使用了这个命令:
sudo dpkg -i libc-bin_2.29-0ubuntu2_amd64.deb libc6_2.29-0ubuntu2_amd64.deb libc6-amd64_2.29-0ubuntu2_i386.deb
之后,我在提示中说“是”,提示需要重新启动一些程序,如 postgres。
然后我看到了损坏的包错误。
sudo apt update
没有错误。当我尝试修复时,它显示几乎所有需要删除的东西:
sudo apt install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
alex freeglut3 freeglut3-dev happy hscolour libbsd-dev libdrm-dev libffi-dev
libgl1-mesa-dev libgles1 libglu1-mesa-dev libglvnd-core-dev libglvnd-dev
libgmp-dev libgmpxx4ldbl libopengl0 libtinfo-dev libx11-xcb-dev
libx11-xcb1:i386 libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev
libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev
libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxext-dev libxfixes-dev
libxi-dev libxmu-dev libxmu-headers libxshmfence-dev libxxf86vm-dev
linux-headers-4.18.0-17 linux-headers-4.18.0-17-generic
linux-image-4.18.0-17-generic linux-libc-dev linux-modules-4.18.0-17-generic
linux-modules-extra-4.18.0-17-generic mesa-common-dev x11proto-damage-dev
x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
glibc-doc-reference
The following packages will be REMOVED:
build-essential cabal-install g++ g++-7 ghc haskell-platform libbsd0:i386
libc-dev-bin libc6:i386 libc6-amd64:i386 libc6-dbg libc6-dev
libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386
libffi6:i386 libgcc1:i386 libghc-async-dev libghc-attoparsec-dev
libghc-call-stack-dev libghc-case-insensitive-dev libghc-fgl-dev
libghc-fixed-dev libghc-gluraw-dev libghc-glut-dev libghc-half-dev
libghc-hashable-dev libghc-haskell-src-dev libghc-html-dev libghc-http-dev
libghc-hunit-dev libghc-integer-logarithms-dev libghc-mtl-dev
libghc-network-dev libghc-network-uri-dev libghc-objectname-dev
libghc-opengl-dev libghc-openglraw-dev libghc-parallel-dev
libghc-parsec3-dev libghc-primitive-dev libghc-quickcheck2-dev
libghc-random-dev libghc-regex-base-dev libghc-regex-compat-dev
libghc-regex-posix-dev libghc-scientific-dev libghc-split-dev
libghc-statevar-dev libghc-stm-dev libghc-syb-dev libghc-text-dev
libghc-tf-random-dev libghc-unordered-containers-dev libghc-vector-dev
libghc-zlib-dev libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
libglapi-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386
libllvm7:i386 libncurses5-dev libnvidia-compute-418:i386
libnvidia-decode-418:i386 libnvidia-encode-418:i386 libnvidia-fbc1-418:i386
libnvidia-gl-418:i386 libnvidia-ifr1-418:i386 libpciaccess0:i386
libsensors4:i386 libstdc++-7-dev libstdc++6:i386 libtinfo5:i386
libx11-6:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386
libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386
libxshmfence1:i386 libxxf86vm1:i386 zlib1g:i386 zlib1g-dev
The following NEW packages will be installed:
glibc-doc-reference
0 upgraded, 1 newly installed, 97 to remove and 0 not upgraded.
6 not fully installed or removed.
Need to get 5.483 kB of archives.
After this operation, 1.303 MB disk space will be freed.
Do you want to continue? [Y/n]
我正在使用 Ubuntu 18.04.2 LTS,最近,每次我尝试sudo apt-get upgrade
以下操作时都会发生:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up glibc (2.27-1) ...
chown: invalid user: ‘builder:builder’
chown: invalid user: ‘builder:builder’
dpkg: error processing package glibc (--configure):
installed glibc package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
glibc
E: Sub-process /usr/bin/dpkg returned an error code (1)
即使我尝试sudo apt autoremove
出现同样的问题。
我试图用谷歌搜索这个问题,但我无法解决它。
有谁知道如何解决这个问题?
先感谢您。
== 编辑 ==
当我跑步时,dpkg -l libc6
我得到:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==================================-======================-======================-=========================================================================
ii libc6:amd64 2.27-3ubuntu1 amd64 GNU C Library: Shared libraries
ii libc6:i386 2.27-3ubuntu1 i386 GNU C Library: Shared libraries
当我这样做时,apt policy libc6
我得到:
libc6:
Installed: 2.27-3ubuntu1
Candidate: 2.27-3ubuntu1
Version table:
*** 2.27-3ubuntu1 500
500 http://ubuntu.mirrors.ovh.net/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
== 编辑 2 ==
的输出apt-cache policy glibc
是:
glibc:
Installed: 2.27-1
Candidate: 2.27-1
Version table:
*** 2.27-1 100
100 /var/lib/dpkg/status
使用 .xpdf 编译时出现以下错误make
。我试过使用命令:LIBS=-l make
但它不起作用。我知道问题是c编译器无法识别源代码中的数学代码,因为数学库对它不可用,但我不知道如何修复它。
[ 71%] Linking CXX executable pdftohtml
/usr/bin/ld: CMakeFiles/xpdf_objs.dir/Gfx.cc.o: undefined reference to symbol 'acos@@GLIBC_2.2.5'
//usr/lib64/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [xpdf/CMakeFiles/pdftohtml.dir/build.make:219: xpdf/pdftohtml] Error 1
make[1]: *** [CMakeFiles/Makefile2:428: xpdf/CMakeFiles/pdftohtml.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
我已将Makefile和CmakeLists.txt放在 pastebin 上以获取更多信息。
我需要在不打字的情况下以某种方式成为 root 的原因sudo
是因为
error while loading shared libraries: libc.so.6:
cannot open shared object file: No such file or directory
我曾经sudo
有sudo mv /lib64/libc.so.6 /lib64/libc.so.6.bak
因为我遵循了一些说明,所以我可以更新符号链接libc-12.4.so
而不是当前libc-12.2.so
的 by
LD_PRELOAD=./libc-2.14.so ln -s ./libc-2.14.so ./libc.so.6
但这不起作用使用sudo
. 现在我害怕注销或重新启动系统而死亡。因为我需要获得root权限才能解决这个问题。
我没有急救盘。更糟糕的是,我必须将硬盘驱动器安装到另一台机器上并修复它。
请帮忙。
$ sudo bash -c "LD_PRELOAD=./libc-2.14.so ln -s ./libc-2.14.so ./libc.so.6"
sudo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
$ LD_PRELOAD=./libc-2.14.so sudo LD_PRELOAD=./libc-2.14.so ln -s ./libc-2.14.so ./libc.so.6
sudo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
$ LD_PRELOAD=./libc-2.12.so sudo LD_PRELOAD=./libc-2.12.so ln -s ./libc-2.12.so ./libc.so.6
sudo: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
$ LD_PRELOAD=./libc-2.12.so ln -s ./libc-2.12.so ./libc.so.6
ln: creating symbolic link `./libc.so.6': Permission denied
我有一个使用 Ubuntu 12.04LTS (armel) 的 ARM 芯片 CM-FX6,使用供应商 Compulab 提供的 linux 映像。它正在使用 eglibc。
最近我必须安装一些用于以太网视频流的 sdk,制造商明确表示不支持 eglibc。他们说我应该使用使用 glibc 的发行版。
所以我的问题是,Ubuntu 14.04 使用 eglibc 还是 glibc?为了让我的 ubuntu 系统与 sdk 一起工作,我在这里有什么选择?
谢谢。