検索

作者の履歴書とバイオ 私の趣味に関連した記事のカップル - ロボット
オーストラリアへの移民についての私の印象。ロシアだけである。 解決する日常の問題のレシピ
Linux関連の記事 Windows関連のポスト
ソフトウェア関連のポスト ハードウェアに関する情報の多く
あなたが役に立つかもしれないさまざまなツール さまざまなWebテクノロジーについての質問
メニューの残りの部分に適合しないすべてのもの このブログのRSSフィード

タグクラウド

アーカイブ

リンク

アンドレイMikhalchukのブログ

English flagItalian flagKorean flagChinese (Simplified) flagPortuguese flagGerman flagFrench flagSpanish flagJapanese flagRussian flagDanish flagFinnish flagHebrew flag

人生についてTechnoblog

openocdコンパイル時に `FT_GetLatencyTimer '問題への未定義参照:libopenocd.soを解く2009年6月3日

あなたはsvnのtrunkからOpenOCDとUSB JTAGアダプタを持っている幸運に構築する勇気があるならあなたのようなものが表示されます良いチャンスがある

/bin/sh ../libtool --tag=CC --mode=link gcc -std=gnu99 -g -O2 -I/root/Distr/ftd2/libftd2xx0.4.16 -Wall -Wstrict-prototypes -Wformat-security -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -o openocd main.o libopenocd.la -ldl /root/Distr/ftd2/libftd2xx0.4.16/static_lib/libftd2xx.a.0.4.16 -lpthread
libtool: link: gcc -std=gnu99 -g -O2 -I/root/Distr/ftd2/libftd2xx0.4.16 -Wall -Wstrict-prototypes -Wformat-security -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -o .libs/openocd main.o /root/Distr/ftd2/libftd2xx0.4.16/static_lib/libftd2xx.a.0.4.16 ./.libs/libopenocd.so -ldl -lpthread
./.libs/libopenocd.so: undefined reference to `FT_GetLatencyTimer'
./.libs/libopenocd.so: undefined reference to `FT_Close'
./.libs/libopenocd.so: undefined reference to `FT_SetBitMode'
./.libs/libopenocd.so: undefined reference to `FT_GetDeviceInfo'
./.libs/libopenocd.so: undefined reference to `FT_OpenEx'
./.libs/libopenocd.so: undefined reference to `FT_Read'
./.libs/libopenocd.so: undefined reference to `FT_SetTimeouts'
./.libs/libopenocd.so: undefined reference to `FT_SetVIDPID'
./.libs/libopenocd.so: undefined reference to `FT_Write'
./.libs/libopenocd.so: undefined reference to `FT_SetLatencyTimer'
./.libs/libopenocd.so: undefined reference to `FT_ListDevices'
./.libs/libopenocd.so: undefined reference to `FT_Purge'

ここであることを修正する方法は次のとおりです。


あなたは慎重にログの最初の数行を見れば、問題の原因はlibtoolの出力であることがわかります。 手動でスワップした場合。/ .libs / libopenocd.soとlibftd2xx.a.0.4.16コマンドでそれだけで正常に動作します。 私はopenocdに付属している障害のあるlibtoolスクリプトを修正しようといくつかの時間を費やしたが、finelly私はおそらく私が今までやった非常識パッチシェルスクリプトコードのalmore 9000の壊れたロジックを理解し、実装するにはあまりにも怠惰なことに気づきました。 したがって、OpenOCDのソースツリー(NOT / usr / libにあるもの)に問題がオープンlibtoolスクリプトを修正し、どこかneareライン8044移動します。 これらのような行を見つける:

*) new_libs="$new_libs $deplib" ;;
esac
done
compile_deplibs="$new_libs"
compile_command="$compile_command $compile_deplibs"
finalize_command="$finalize_command $finalize_deplibs"

これらの行は、このコードを追加するには、右後:

if test x"$compile_command" = x"gcc -std=gnu99 -g -O2 -I/root/Distr/ftd2/libftd2xx0.4.16 -Wall -Wstrict-prototypes -Wformat-security -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -o @OUTPUT@ main.o /root/Distr/ftd2/libftd2xx0.4.16/static_lib/libftd2xx.a.0.4.16 ./.libs/libopenocd.so -ldl -lpthread"; then
compile_command='gcc -std=gnu99 -g -O2 -I/root/Distr/ftd2/libftd2xx0.4.16 -Wall-Wstrict-prototypes -Wformat-security -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -o @OUTPUT@ main.o ./.libs/libopenocd.so /root/Distr/ftd2/libftd2xx0.4.16/static_lib/libftd2xx.a.0.4.16 -ldl -lpthread'
fi

その上の行のような...または何かが適切に、ソースのレイアウトやバージョンを表します。 このMOD、すべてがうまくコンパイルする必要があります後、makeを実行します。 それはダムだった。 しかし、それは働いた!

ああ、もう一つ。 また、このエラーが表示されます場合:

openocd.texi:12: @include `version.texi': No such file or directory.

そしてちょうどこのコンテンツを持つファイルのdoc / version.texiを作成します。

@set UPDATED 20 January 2009
@set UPDATED-MONTH January 2009
@set EDITION 0.1.0
@set VERSION 0.1.0

Ufff ...私は彼らがこのソフトウェアの優れた作品に多くのバグが実装されない限り、それだと願っています。

この記事は、で公開されているハードウェアLinuxの

コメントはありません

今のところコメントはありません

応答を残しなさい

サイトマップ (c)のアンドレイ·Mikhalchuk、2005年から2008年