1. 程式人生 > >MT7688交叉編譯連結libpthread.a出錯問題

MT7688交叉編譯連結libpthread.a出錯問題

我的交叉編譯工具是mipsel-openwrt-linux-gcc,晶片是MT7688,今天在編譯的時候,連結libpthread,接過出現錯誤:

/home/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mipsel-openwrt-linux-uclibc/4.8.3/../../../../mipsel-openwrt-linux-uclibc/lib/libpthread.a(pthread_once.os): In function `clear_once_control':
/home/yiding/openwrt/openwrt_widora/build_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/uClibc-0.9.33.2/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c:33: undefined reference to `_Unwind_Resume'
/home/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mipsel-openwrt-linux-uclibc/4.8.3/../../../../mipsel-openwrt-linux-uclibc/lib/libpthread.a(pthread_once.os):(.data.DW.ref.__gcc_personality_v0[DW.ref.__gcc_personality_v0]+0x0): undefined reference to `__gcc_personality_v0'
collect2: error: ld returned 1 exit status

make: *** [all] 錯誤 1

開始的時候回百度,有人提示加入-Wl,-Bdynamic即可,我修改Makefile後,果然能正常編譯,但執行的時候卻提示錯誤了:

# ./Kylin 

-ash: ./Kylin: not found

這時再回過去找原因,把-Wl,-Bdynamic換成-lgcc_eh,直接編譯報錯。

最終找到一個說法,說是交叉編譯器BUG,不能靜態連結,把-static去掉,我嘗試了下,確實可以編譯成功,也能使用,靜態連結這個問題先放著,有知道的高手可以評論一下,非常感謝。

相關推薦

MT7688交叉編譯連結libpthread.a出錯問題

我的交叉編譯工具是mipsel-openwrt-linux-gcc,晶片是MT7688,今天在編譯的時候,連結libpthread,接過出現錯誤:/home/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/b

交叉編譯總結 libosscore.a libcurl.a libmysqlclient.a

把工程檔案交叉編譯到arm上執行,著實花費了一番功夫。 首先遇到的錯誤是 X uses VFP register arguments, B does not 百度了一下,發現是硬浮點和軟浮點的問題,原先是思路是改變X的編碼方式,遷就於Y,後來怎麼弄都不行,改變思路,用arm

交叉編譯與靜態連結問題

問題一:交叉編譯生成可執行檔案,無法在目標板上執行 一、問題描述 arm-linux-gcc  -o  name.c   編譯程式正常,但可執行檔案無法在開發板上執行。提示找不到該檔案 二、問題排除

在Linux用libcurl.a連結的時候出錯

轉自: http://www.cnblogs.com/bugutian/p/4868167.html 其實出錯是因為curl連結的時候需要別的庫。我用如下方法解決 2、./configure --disable-ldap --disable-ldaps    

android交叉編譯工具連結下載

在Google公佈用於Android的官方Toolchain之前,多數的Android愛好者使用的Toolchain是在http://www.codesourcery.com/gnu_toolchains/arm/download.html 下載的一個通用的Toolcha

交叉編譯出錯

[[email protected] linux-2.6.29]# makescripts/kconfig/conf -s arch/arm/KconfigCHK include/linux/version.hmake[1]: “include/asm-arm/m

Ubuntu160403安裝交叉編譯工具鏈後,出錯: ./arm-none-linux-gnueabi-gcc -v bash: ./arm-none-linux-gn

cd /etc/apt1在修改前先對 sources.list檔案進行備份sudo cp sources.list sources.list.bak1修改sources.list檔案sudo vi sources.list1刪除掉sources.list的其他內容,選擇任意源貼上複製進去,這裡以阿里云為例ub

X264的ARMV7-a交叉編譯及優化執行

一:準備工作 1、作業系統是Ubuntu 12.04。 2、需要安裝Google的NDK工具,因為在編譯時使用了NDK提供的編譯器。我的NDK的安裝目錄放在/home/shallon/android-ndk-r8d。另外,需要安裝android的SDK,提供ADB等除

GCC 編譯動態庫 so檔案時,靜態連結libmysqlclient.a 與動態連結引數一起使用問題。

直接放結論, 下面是編譯一個使用了mysql C API 的 mysql.so 檔案(我們的業務中,它是zbx加裁的modules so檔案) gcc -fPIC -shared -o mysql.so mysql.c \ -I/usr/include

使用scratchbox2建立交叉編譯環境

ips debian amp net 。。 dir tails details art 使用scratchbox2建立交叉編譯環境,使交叉編譯不再煩人。。。。。os:ubuntu 12.04.4 x641. 安裝相關工具sudo apt-get install deboot

防遺忘筆記,Fedora交叉編譯window下的virt-iewer的漢化

正常 後來 效果 cal 方法 dir 文件中 通過 應用 1. 漢化代碼裏的資源 virtviewer使用的是gettex的方案是標準的linux裏國際化的方案。按道理僅僅須要改動virtualviewer/po/zh_CN.po的文件。編譯。 然後確認在代碼裏設置好

交叉編譯知識點總結

搜索 參考 install pri 庫文件 sta rar nsis blog 參考鏈接: http://www.cppblog.com/runsisi/archive/2012/10/08/193027.html gcc 搜索路徑: 1、 gcc -print-

Cygwin交叉編譯openssl 1.1.0e版本

openssl cygwin 交叉編譯 ntp 引:平臺基於Atmel AT91RM9200-DK,工具鏈是第三方提供,在工作中有需要用到TS(time server),而TS基於NTP(Network Time Protocal)協議,NTP官方有給出的NTP協議包,其他的廠商實現都是基於這

Ubuntu下配置交叉編譯環境

conf core chains 編譯 配置 -c 進行 spa 編譯環境 [email protected]/* */:~$ sudo apt-get update # 如果不安裝 gawk subversion wine1.6-dev 編譯會報錯 [ema

Linux下獲取arm的交叉編譯工具鏈

win 5.1 app應用 地址 打開 release nbsp 最新 component 轉載請註明文章:Linux下獲取arm的交叉編譯工具鏈 出處:多客博圖 這裏介紹,Linux下獲取arm的交叉編譯工具鏈,比如arm-linux-gnueabihf-gcc、a

gdb+gdbserver交叉編譯

http ins search 法則 接下來 prefix clas 環境 信息 轉載請註明原文出處,http://www.cnblogs.com/flyingcloude/p/6992405.html 一、gdb、gdbserver總體介紹 遠程調試環境由宿主機GDB

geos庫交叉編譯生成ARM平臺庫

linux linu b2c com ron exec 平臺 data get 版本號信息: GEOS:geos-3.4.2.tar.bz2(http://trac.osgeo.org/geos/) CPU:ARM 編譯器:arm-linux 4.2.2

交叉編譯 tesseract

.org reference 設置 fork ref readme 語言 leptonica 鏈接 官方參考資料說明:   tesseract 依賴庫: (https://github.com/tesseract-ocr/tesseract/wiki/Compiling

linux 安裝交叉編譯工具

目錄 ges 終端 如果 -name images 使用 linux tab鍵 以arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2為例 1、獲取要安裝的交叉編譯工具。(一般芯片廠商提供,也可自行下載) 2、使用tar命令:tar jxvf ar

【Cocos2d-x 3.0】遊戲開發之android交叉編譯

plain edit 100% b2c 令行 sdk 自己的路 smi bin 作者:Senlern 轉載請註明,原文鏈接:http://blog.csdn.net/zhang429350061/article/details/37959489 在上