用arm-musl交叉编译,ERROR> proc_open:proc_open中的隐藏符号`__init_array_end'被引用>由DSO

时间:2013-03-11 09:10:51

标签: c++ c cross-compiling

我正在尝试将lighttpd编译为静态处理器臂,以便可以在Android设备上运行。我正在使用交叉编译器 arm-musl-linuxeabi 编译lighttpd,我在https://bitbucket.org/GregorR/musl-cross/downloads下载它,当我运行make时出现如下错误:

  

/家庭/ ramly /工作/臂-Linux的musleabi / bin中/../ LIB / GCC /臂-Linux的musleabi / 4.7.2 /../../../../臂Linux的-musleabi /斌/劳工处:   proc_open:引用proc_open中的隐藏符号`__init_array_end'   由DSO   /home/ramly/working/arm-linux-musleabi/bin/../lib/gcc/arm-linux-musleabi/4.7.2/../../../../arm-linux-musleabi/斌/劳工处:   最终链接失败:错误值

我的配置:

  

$ CFLAGS =' - 静态'CC = arm-musl-linuxeabi-gcc AR = arm-musl-linuxeabi-ar   RANLIB = arm-musl-linuxeabi-ranlib STRIP = arm-musl-linuxeabi-strip   CXX = arm-musl-linuxeabi-g ++ ./configure --host = arm-musl-linuxeabi   --target = arm-musl-linuxeabi --prefix = / home / ramly / binary / lighttpd --with-sysroot = / home / ramly / working / arm-linux-musleabi / arm-linux-musleabi   --without-mysql --without-pcre --without-zlib --without-bzip2 --without-openssl --disable-ipv6 --enable-static --disable-shared

如果我运行configure我成功没问题,没有得到错误,但配置后我运行make。

如何解决?我的机器是Ubuntu 12.04 Desktop。

感谢。

1 个答案:

答案 0 :(得分:0)

这是你正在使用的musl版本中的一个错误。它由commit d432b2c057fc64256645422382c2f7e32c45b3cc修正;随后的0.9.10版本和更新的版本修复了错误。