我正在尝试在 centOS 6 上安装 gcc 4.9.0。期间./configure
出现错误:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat- linux/4.4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status
configure: error: I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.
Run Code Online (Sandbox Code Playgroud)
我搜索了一个答案,发现这个错误应该通过安装glibc-devel.i686
包来解决。
但是,即使我使用yum …
打印的字段是getent ahosts DOMAIN
什么?
的输出getent hosts
是 IP 和主机名的简单组合。该getent ahosts
有一个额外的第三场就是在我所有的测试中,无论是STREAM
,DGRAM
还是RAW
。
输出 getent hosts example.net
2001:500:88:200::10 example.net
Run Code Online (Sandbox Code Playgroud)
并为 getent ahosts example.net
2001:500:88:200::10 STREAM example.net
2001:500:88:200::10 DGRAM
2001:500:88:200::10 RAW
192.0.43.10 STREAM
192.0.43.10 DGRAM
192.0.43.10 RAW
Run Code Online (Sandbox Code Playgroud) 我的 NAS 固件版本比较老glibc
,也就是 2.5。为了应对一些链接预编译的二进制*至glibc
2.15,我想将它升级。通过在chroot
环境中进行的一些简单测试,我了解到简单地添加更新libc-2.15.so
并更新符号链接libc.so.6
将产生一个无法使用的系统;可能是由于依次libc-2.15.so
链接ld-linux.so.3
,这当然也需要 2.15 版本而不是 2.5 版本。但在我陷入太多的试错之前,
手动升级 glibc 的正确步骤是什么?
*尽管被“静态”链接,它们仍然动态链接到 glibc...
在尝试回答这个关于 SQL 排序的问题时,我注意到一个sort
我没想到的顺序:
$ export LC_ALL=en_US.UTF-8
$ echo "T-700A Grouped" > sort.txt
$ echo "T-700 AGrouped" >> sort.txt
$ echo "T-700A Halved" >> sort.txt
$ echo "T-700 Whole" >> sort.txt
$ cat sort.txt | sort
T-700 AGrouped
T-700A Grouped
T-700A Halved
T-700 Whole
$
Run Code Online (Sandbox Code Playgroud)
为什么700 A
排序在上面700A
,而700A
在上面700 W
?我希望之前有一个空格A
,独立于它后面的字符。
如果您使用 C 语言环境,它可以正常工作:
$ export LC_ALL=C
$ echo "T-700A Grouped" > sort.txt
$ echo "T-700 AGrouped" >> sort.txt
$ …
Run Code Online (Sandbox Code Playgroud) 我遇到了一个文件,syscall-template.S
更具体地说,它的位置是
.../sysdeps/unix/syscall-template.S
linux-image
和glibc
。不久前发布了新的 Guix 版本。我有一个想法,如果我可以将 glibc、gcc 和 guix 引导到 HURD 和 Mach,我就可以拥有一个非 Linux GNU 系统。但我还需要一些软件,如 bash、emacs、binutils、coreutils、init 系统。是否有任何依赖于 linux 的系统调用?我能像在 LFS 中那样做吗?
所以我正在尝试创建一个包含 gcc 的 Docker 镜像。
我RUN yum -y install gcc
在我的 Dockerfile 中运行命令。
它会下载包,直到它最终无法安装依赖项。
Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u
Run Code Online (Sandbox Code Playgroud)
这是下面的输出:
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
gcc x86_64 4.8.5-11.el7 base 16 M
Installing for dependencies:
cpp x86_64 4.8.5-11.el7 base 5.9 M
glibc-devel x86_64 2.17-157.el7_3.1 updates 1.1 M
glibc-headers x86_64 2.17-157.el7_3.1 updates 668 k
kernel-headers x86_64 3.10.0-514.6.2.el7 updates 4.8 M
libgomp x86_64 4.8.5-11.el7 base 152 k
libmpc x86_64 1.0.1-3.el7 base 51 …
Run Code Online (Sandbox Code Playgroud) 当用户抱怨 e2fsck(8) 编译错误导致数据丢失时,glibc 2.1.3 添加了链接时警告
“该
llseek
函数可能很危险;请改用 `lseek64。”如果需要无警告编译,这使得该函数无法使用。
从 glibc 2.28 开始,该函数符号不再对新链接的应用程序可用。
这背后有什么故事?
似乎MATLAB在 Linux 上被彻底搞砸了,因为它“动态加载一些带有静态 TLS 的库”,这对我来说除了一堆错误之外没有任何意义。
建议的解决方法是glibc
使用更大的DTV_SURPLUS
. 这给我留下了两个问题:
glibc
在 Arch Linux 上重建以增加DTV_SURPLUS
? 我查看了abs树中的PKGBUILD并没有看到DTV_SURPLUS
任何地方,所以我不知道在哪里进行更改。DTV_SURPLUS
?据推测,将其设置为
2^64
既矫枉过正又是个坏主意。MATLAB 的问题可以通过 R2014a 中的以下 MWE 看到:
>> ones(10)*ones(10);
>> doc('help');
Exception in thread "XPCOMMessageLoop" java.lang.UnsatisfiedLinkError: /opt/matlab/sys/jxbrowser/glnxa64/xulrunner/xulrunner-linux-64/libxul.so: dlopen: cannot load any more object with static TLS
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.teamdev.jxbrowser.gecko.xpcom.impl.linux.LinuxMozillaToolkit.c(Unknown Source)
at com.teamdev.jxbrowser.gecko.xpcom.impl.linux.LinuxMozillaToolkit.a(Unknown Source) …
Run Code Online (Sandbox Code Playgroud) 我正在尝试安装新软件包 ( glibc-static
),但出现以下错误
---> Package nss-softokn-freebl.i686 0:3.14.3-18.el6_6 will be installed
--> Finished Dependency Resolution
Error: Package: glibc-2.12-1.149.el6.i686 (CentOS-OS)
Requires: glibc-common = 2.12-1.149.el6
Installed: glibc-common-2.12-1.149.el6_6.5.x86_64 (@updates)
glibc-common = 2.12-1.149.el6_6.5
Available: glibc-common-2.12-1.149.el6.x86_64 (CentOS-OS)
glibc-common = 2.12-1.149.el6
Error: Package: glibc-devel-2.12-1.149.el6.i686 (CentOS-OS)
Requires: glibc-headers = 2.12-1.149.el6
Installed: glibc-headers-2.12-1.149.el6_6.5.x86_64 (@updates)
glibc-headers = 2.12-1.149.el6_6.5
Available: glibc-headers-2.12-1.149.el6.x86_64 (CentOS-OS)
glibc-headers = 2.12-1.149.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Run Code Online (Sandbox Code Playgroud)
注意glibc-common-2.12-1.149.el6_6.5.x86_64
和glibc-common-2.12-1.149.el6.x86_64
不匹配。但glibc-common-2.12-1.149.el6_6.5.x86_64
被列为可用。我认为 …
glibc ×10
centos ×3
gcc ×2
arch-linux ×1
c ×1
docker ×1
hurd ×1
kernel ×1
linux ×1
locale ×1
networking ×1
sort ×1
system-calls ×1
upgrade ×1
yum ×1