问题标签 [uclibc]
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.
c - 替代 gethostbyname 我可以在哪里选择 DNS 服务器?
我需要从我的应用程序中解析一些主机名。是否有任何替代 gethostbyname 的方法,我可以将我自己的 DNS 服务器作为参数作为解析器使用?
我已经编写了自己的函数,但我想可能有一个我不知道。
我正在使用 Linux/C 语言。我的 libc 是 uclibc。但我也对 GNU LibC 很好奇。
谢谢。
haskell - GHC 可以将二进制文件链接到 libc 实现,例如 uclibc(默认在 OpenWrt 中使用)吗?
我正在使用 Debian/MIPS+QEMU 构建PortFusion(一种 TCP 隧道解决方案)的 MIPS 端口。生成的二进制文件链接到 GNU libc。因此,它们不能仅仅被复制并在随uclibc而不是eglibc(似乎与 GNU libc 二进制兼容)一起提供的 vanilla OpenWrt 上使用。
有没有办法将 Debian/MIPS 上的 Haskell/GHC 二进制文件链接到uclibc而不是eglibc?
OpenWrt 使用uclibc是否真的是从 Debian 复制过来的 PortFusion 二进制文件无法运行的
-ash: binary not found
原因,或者此消息是否完全是由于其他原因?
有关使用 Linux 内核和 CPU 仿真的详细信息,请参阅https://github.com/corsis/PortFusion/wiki/MIPS-Builds 。haskell-platform
make
当我尝试构建使用eglibc的自定义 OpenWrt 映像时,OpenWrt 的 GIT 存储库的当前负责人失败了。
gcc - 为 MIPS-I 版本 1 设置交叉编译器
我正在寻找为 MIPS-I 版本 1 目标编译的交叉编译器,我发现了这个:
ftp://ftp.dd-wrt.com/others/sourcecode/toolchains/current-toolchains.tar.bz2
存档提取后,我将“toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1”文件夹复制到 /opt/ 并将 PATH 添加到 /root/.profile 文件,如下所示:
PATH="/opt/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin:${PATH}" 导出路径
然后我会注销并登录并认为一切都很好,但事实并非如此。
我什至不能编译简单的应用程序。以下是 dhcp-3.x 编译尝试产生的示例输出:
怎么了 ?我还需要设置什么吗?如何纠正问题?
c - uClibc vs glibc 用于实时 Linux 应用程序编程
我正在编写一个在 Linux (Kernel 3.0) 上运行的用户空间音频应用程序,它需要实时行为。我应该选择 glibc 还是 uClibC ?uClibC 和 glibc 如何在实时行为方面进行比较?
(编辑:我的是一个带有 nand flash 的嵌入式系统。它使用带有 glibc 的外部 gcc 工具链的 buildroot。如果需要,我也可以使用带有 uClibc 的 buildroot 内部工具链)
c++ - buildroot 文件系统和交叉编译:动态链接的应用程序失败但静态可以。如何链接到 uClibc
我有一个 buildroot 创建的文件系统,我正在尝试在 lighttpd 服务器上执行一些 c 代码。
我创建了一个简单的 C 模块,它只打印出几行 html。代码如下所示:
我正在使用来自 Ubuntu 存储库的编译器来编译它arm-linux-gnueabi-gcc -o test.cgi test.c
。如果我用 flag 编译-static
,它会运行得很好,我可以看到显示的 html。但是在没有静态标志的情况下编译,执行失败如下:
我想知道原因是否是 c 库错误,我应该链接到由 buildroot 编译的 uClibc。在我的 buildroot 文件夹output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/lib
中,我可以看到以下文件:
是libuClibc-0.9.33.2.so
我要找的文件吗?我怎样才能将我的应用程序与它联系起来?
在我的目标板上,我可以在/usr/lib
c - st_mtimensec 在 struct stat 中不可用
我正在尝试为主机mipsel-linux-uclibc编译Evas。我正在使用我公司的旧二进制工具链来做到这一点。它是在 2008 年左右编译的,我现在有点坚持。看起来此工具链在 stat.h 的 struct stat 中缺少以下字段:
我最接近的是:
看起来这与uclibc有关。有没有简单的方法可以解决这个问题?
shell - /bin/sh: 1: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: 权限被拒绝
在构建 klee 时,我需要先为 klee 构建 uclibc。但是当我尝试制作 uclibc 时出了点问题,错误信息是:
我已经检查了相应目录的权限:
似乎所有组中的所有用户都有权访问该目录,所以这个make错误是如何发生的很奇怪......
我已经被这个问题困了一整天,任何可以提供帮助的人将不胜感激:)
gcc - 自定义 MIPS 工具链和 abicall 的问题
我正在从事一个专注于 MIPS32 拱门(小端序)的项目。供应商给了我一个 GNU 工具链来编译我的项目,以他们的嵌入式 Linux 版本为目标,一切正常。这是一个 GCC+Linux+uClibc 工具链。
然而,最近我需要在我的 uClibc 构建中添加一些功能,所以我尝试在我自己的盒子中复制供应商的工具链。
在 crosstool-ng 的帮助下一切正常,但是当我尝试编译我的项目时,我到处都收到奇怪的链接器警告:
根据我的研究,这些都是非常严重的警告。用 readelf 分析我的目标文件会给我几乎相同的输出。这些文件中的任何地方都没有 .abicall 部分。这适用于我的项目的目标文件和我的工具链的目标文件。
这里有什么问题?我什至不知道从哪里开始调试这个。
linux - 如何禁用 SVC ARM 指令(gcc、uclibc、buildroot)?
我正在使用buildroot。编译工作正常,但目标系统上的二进制文件显示“非法指令”
我用过 strace:
execve("/opt/busybox", ["/opt/busybox"], [/* 8 vars */]) = 0 brk(0)
= 0 --- SIGILL {si_signo=SIGILL, si_code=ILL_ILLTRP, si_addr= 0xa3f20} --- +++ 被 SIGILL 杀死 +++ 非法指令
然后是国际开发协会。
原因是 SVC 指令(si_addr 在我尝试的所有二进制文件中都指向它)
我应该怎么做才能防止 GCC 使用这条指令?
x86 - 交叉编译的 Valgrind 没有检测到明显的泄漏
我将 Valgrind 交叉编译到 openwrt x86 平台。在目标上运行时,它不会检测到任何泄漏。在 Ubuntu 上,它运行良好。
我的测试程序很简单
相关编译步骤
它不是静态链接的。objdump 确认
这是目标 x86 板上的 valgrind 输出