我是新来的,我有点搞砸了:
我试图为MIPS编译netcat源代码,以便将其部署到路由器中,我要做的是:
下载mips的工具链:mips linux gcc
下载netcat源并将其展开到一个文件夹

cd path/to/netcatsource

Execute:
CC=path/to/compiler/mips-linux-gcc ./configure --host=mips-linux

make

make命令工作正常,在编译的netcat文件上尝试file命令将显示:
file netcat
OUTPUT: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), not stripped

对我来说一切似乎都很好,但是如果我在我的ubuntu框上执行./netcat,它就会工作,一旦我将它上传到路由器,它就会显示以下错误:
# ./netcat
Segmentation fault

这是来自我的路由器的/proc/cpuinfo:
# cat /proc/cpuinfo
system type             : 963281T_TEF
processor               : 0
cpu model               : Broadcom4350 V7.5
BogoMIPS                : 319.48
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : no
hardware watchpoint     : no
ASEs implemented        :
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

unaligned exceptions            : 1395

有人能帮我吗?
当做

最佳答案

(我无法添加评论,因为我没有足够的点数)
尝试静态编译源代码
问题可能是因为路由器上没有必要的库,或者二进制文件指向ld-linux.so,而路由器使用ld-uclibc.so。所以尝试静态构建。。。
更新
我建议使用buildroot工具链,顺便说一下,它包括netcat和许多其他工具,如busybox

关于c - 在Ubuntu中为MIPS编译Netcat的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15412351/

10-11 22:05