由于我使用的ubuntu12.04安装了mipseldk4.1 无法编译程序,简单的helloworld也不行
错误如下
kevin@fzs:~/works/projects/MIPS53003/fpga_update$ ./build.sh
/home/kevin/Documents/mips-tools/usr/bin/../lib/gcc/mips-linux/4.0.0/../../../../mips-linux/bin/ld: warning: ld.so.1, needed by /home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6, not found (try using -rpath or -rpath-link)
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `_rtld_global@GLIBC_PRIVATE'
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `__libc_enable_secure@GLIBC_PRIVATE'
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `_rtld_global_ro@GLIBC_PRIVATE'
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `_dl_out_of_memory@GLIBC_PRIVATE'
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `__libc_stack_end@GLIBC_2.2'
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `_r_debug@GLIBC_2.0'
/home/kevin/Documents/mips-tools/usr/../mips_4KC/lib/libc.so.6: undefined reference to `_dl_argv@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
但可以编译大工程,不知道为什么,在网上找到了相同问题的人儿
http://eldk.denx.narkive.com/tbZwVKy4/ubuntu-12-04-and-eldk-4-1
基本意思就是eldk4.14.2都太老了
Unfortunatellyeldk 4.1 doesn't workwith ubuntu 12.04.
I cannotcompile even a simple"hello world". On ubuntu 11.10 the same
eldkinstallation just works fine.
决定换个新的工具链
ftp://ftp.denx.de/pub/eldk/
以eldk5.5.3为例,以下为安装步骤
$ mkdir eldk-download
$ cd eldk-download
$ mkdir -p targets/mips
$ wgetftp://ftp.denx.de/pub/eldk/5.5.3/install.sh
$ cd targets/mips
$ wget ftp://ftp.denx.de/pub/eldk/5.5.3/targets/mips/mips.conf
$ wgetftp://ftp.denx.de/pub/eldk/5.5.3/targets/mips/eldk-eglibc-i686-arm-toolchain-gmae-5.5.3.sh
如果需要搞一个根文件系统,下载core前缀的
$wgetftp://ftp.denx.de/pub/eldk/5.5.3/targets/mips/core-image-minimal-generic-mips.tar.gz
$wget ftp://ftp.denx.de/pub/eldk/5.5.3/targets/mips/core-image-sato-sdk-generic-mips.tar.gz
安装带有文件系统的(这个东西我猜是用来制作根文件系统用的)
$ ./install.sh -s gmae -r "lsb-sdk minimal sato-sdk" mips只安装交叉编译工具链
$ ./install.sh -s qte -r - mips
export PATH=$PATH:/opt/eldk-5.2/mips/sysroots/i686-eldk-linux/usr/bin/:/opt/eldk-5.2/mips/sysroots/i686-eldk-linux/usr/bin/mips32-linux/
不明白的细节可以参考http://www.denx.de/wiki/view/ELDK-5