问题标签 [eglibc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 在 Linux 中使用 GNU Libc 编译并在 eglibc 上运行的危险?
我有一个几乎只依赖于 libc 的可执行文件。ldd 的输出是:
我已经在旧的 CentOS 6 上编译了这个。运行/lib64/libc.so.6
说:
在任何其他风格的 linux 上运行这个可执行文件有多安全?具体来说,在 Ubuntu 和 Debian 机器上运行是否安全eglibc
?我编译的可执行文件似乎在 12.04 LTS 上运行良好,但我可以相信它没有细微的错误并且也可以在这些发行版的其他版本上运行吗?
linux - 在 debian 中安装 nw.js 会返回错误“未找到版本 `GLIBC_2.14'”
我正在尝试node-webkit
在 debian中安装64 bit
。我尝试了github中的步骤
及其返回错误,
我无法安装glibc
。我怎样才能摆脱这个?
cygwin - 无法在 cygwin 下为树莓派跨工具链构建 eglibc
我正在使用Mikhail Kupchik 的教程为 Windows 构建树莓派交叉工具链。为了避免与使用最近的软件包相关的问题,我使用了Cygwin Time Machine。我得到的包裹都列在这里。
根据手册,我在 VirtualBox 中安装了 Windows XP 并下载了所有需要的档案。我将准备构建的步骤合并到一个 shell 脚本中:
然后我一下子执行构建:for i in ``seq 1 4``; do ./build_gcc_cross_$i.sh; done
. 脚本包含构建集,它们也来自教程。列表:1(原创)2(原创)3(原创)4(原创)
前三个构建集运行良好。但是第四个失败了。在控制台上,我看到大量“找不到文件”错误。我很高兴提供完整的stout+stderr和config.log。
我将不胜感激有关我的问题的任何帮助。
c - 在 Ubuntu 上编译 eglibc-2.19 时出现“错误:'sem_t' 的类型冲突”
我试图在我通过下载的 Ubuntu 14.04 LTS 上构建 eglibc-2.19
我按照安装说明进行操作,但遇到 nptl 时出现此错误
这是 libpthread 和 nptl 之间的某种冲突吗?如何解决这个问题?提前致谢。
linux - eglibc:以毫秒为单位获得正常运行时间
我想写一个与内核日志格式相同的日志输出:
时间戳应该与内核时间具有相同的时间参考。这意味着,当日志消息在内核中发出的同时发出时,时间戳应该具有相同的值。
有一个未定义的clock_gettime
时钟起点——因此每个程序的时间戳都有不同的值——即使它们是同时创建的:
使用时,gettimeofday
您会得到自 Unix 时代以来的时间......根据定义不匹配。
该函数localtime()
返回正常运行时间 - 但粒度以秒为单位 - 但我需要更多......
更新:似乎应该clock_gettime(CLOCK_REALTIME, &ts)
做我想做的事……但eglibc似乎又回来CLOCK_MONOTONIC
了。
cross-compiling - 启用编译器优化时找不到 glibc
我正在为 beaglebone black 设备交叉编译一个共享库 ( miniweb )。当我在没有优化的情况下编译时,我没有问题。但是,如果我使用任何优化(即)进行编译,-O3
我会在尝试运行我的程序时得到以下信息:
我的第一个问题,为什么启用优化会突然导致我的程序依赖于这个库?禁用优化时内容是否静态包含在库中?
如何确定我的交叉编译器使用的 c 库版本?我ldd --version
在两个系统上都运行了以下命令:
桌面:
比格骨:
显然我拥有的库已经过时了,但是你可以看到我的系统报告使用eglibc
而不是glibc
?
我的交叉编译库如何依赖glibc
?也许ldd
在我的桌面上运行并不能准确反映我的交叉编译器使用的库?
如何找到我的交叉编译器使用的 c 库?
g++ - eglibc 中的 __lxstat64 在哪里?
当我尝试在 Ubuntu Trusty 上构建 Plasma5 时,我遇到了一个与 eglibc 2.19 相关的问题。
/usr/lib/x86_64-linux-gnu/libc_nonshared.a(lstat64.oS): In function ``lstat64':
(.text+0xc): undefined reference to ``__lxstat64'
我不知道如何解决这个问题。谢谢。
编辑
将 -v 附加到 g++ 和 ld,得到:
COLLECT_GCC=/etc/alternatives/g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.3.0-3ubuntu1~14.04' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=gcc4-compatible --disable-libstdcxx-dual-abi --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.3.0 20151204 (Ubuntu 5.3.0-3ubuntu1~14.04)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-fPIC' '-pipe' '-D' 'QT_STRICT_ITERATORS' '-D' 'QURL_NO_CAST_FROM_STRING' '-D' 'QT_NO_HTTP' '-D' 'QT_NO_FTP' '-Wformat=1' '-Werror=format-security' '-Werror=return-type' '-Wno-variadic-macros' '-Wlogical-op' '-Wmissing-include-dirs' '-std=c++11' '-std=c++11' '-fno-exceptions' '-Wall' '-Wextra' '-Wcast-align' '-Wchar-subscripts' '-Wformat-security' '-Wno-long-long' '-Wpointer-arith' '-Wundef' '-Wnon-virtual-dtor' '-Woverloaded-virtual' '-Werror=return-type' '-Wpedantic' '-g' '-shared' '-o' 'baloosearch.so' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/5/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8S8VVK.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -shared -z relro -o baloosearch.so /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -v --no-undefined --fatal-warnings --enable-new-dtags -soname baloosearch.so CMakeFiles/kio_baloosearch.dir/kio_search.cpp.o CMakeFiles/kio_baloosearch.dir/kio_baloosearch_automoc.cpp.o /opt/kde/install/lib/x86_64-linux-gnu/libKF5KIOCore.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5I18n.so.5.20.0 ../../lib/libKF5Baloo.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5Service.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5FileMetaData.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5I18n.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5ConfigCore.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5.20.0 /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5.5.1 -rpath /opt/kde/install/lib/x86_64-linux-gnu:/opt/kde/build/baloo/src/lib:/opt/Qt5.5.1/5.5/gcc_64/lib:/opt/kde/build/baloo/src/engine: -rpath-link /opt/Qt5.5.1/5.5/gcc_64/lib:/opt/kde/install/lib/x86_64-linux-gnu:/opt/kde/build/baloo/src/engine -lstdc++ -lm -lgcc_s -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o
collect2 version 5.3.0 20151204
/usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/5/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper -plugin-opt=-fresolution=/tmp/cc8S8VVK.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -shared -z relro -o baloosearch.so /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -v --no-undefined --fatal-warnings --enable-new-dtags -soname baloosearch.so CMakeFiles/kio_baloosearch.dir/kio_search.cpp.o CMakeFiles/kio_baloosearch.dir/kio_baloosearch_automoc.cpp.o /opt/kde/install/lib/x86_64-linux-gnu/libKF5KIOCore.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5I18n.so.5.20.0 ../../lib/libKF5Baloo.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5Service.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5FileMetaData.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5I18n.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5ConfigCore.so.5.20.0 /opt/kde/install/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5.20.0 /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5.5.1 -rpath /opt/kde/install/lib/x86_64-linux-gnu:/opt/kde/build/baloo/src/lib:/opt/Qt5.5.1/5.5/gcc_64/lib:/opt/kde/build/baloo/src/engine: -rpath-link /opt/Qt5.5.1/5.5/gcc_64/lib:/opt/kde/install/lib/x86_64-linux-gnu:/opt/kde/build/baloo/src/engine -lstdc++ -lm -lgcc_s -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o
GNU ld (GNU Binutils for Ubuntu) 2.24
/usr/lib/x86_64-linux-gnu/libc_nonshared.a(lstat64.oS): In function `lstat64':
(.text+0xc): undefined reference to `__lxstat64'
collect2: error: ld returned 1 exit status
c - strncmp的执行
为了磨练我的 C 技能,我下载了 eglibc 源代码并遇到了 strncpy。我不明白他为什么区分 n<=4 的情况并进行 4 次测试。
可能和我不知道的内存布局有关,请赐教。
gcc - 使用 glibc 编译并运行使用 eglibc 编译的内核
我正在使用运行嵌入式 linux 内核的 ARM 嵌入式系统 (ARM9)。内核是用 GCC 4.5.x 和 eglibc 编译的。运行使用 GCC 4.8.x 或更高版本使用 glibc 编译代码的二进制文件是否有任何危害。
我已经读到,出于稳定性原因,您不应该混合和匹配 libc。但据我了解,它们都与 ABI 兼容,所以它们不应该有任何问题。
我正在使用的一些代码需要 STD11 才能正确编译,因此我不能使用 GCC4.5。