Jos uskallatte rakentaa OpenOCD päässä svn trunk ja onnekas on USB JTAG-sovitin on olemassa hyvät mahdollisuudet näet jotain /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'
Tässä on, miten korjata, että:
Jos tarkkaan katsot ensimmäiset rivit loki näet, että syy ongelmaan on libtool lähtö. Jos manuaalisesti vaihtaa. / .libs / Libopenocd.so ja libftd2xx.a.0.4.16 in komento se toimii hienosti. Vietin jonkin aikaa yrittää korjata viallisen libtool käsikirjoituksen mukana openocd, mutta finelly tajusin, että en jaksa ymmärtää rikki logiikkaa almore 9000 shell script koodin käyttöön mahdollisesti dumbest laastari olin ikinä tehnyt. Joten korjata ongelman auki libtool script OpenOCD lähdekoodiin (EIVÄT yksi / usr / lib) ja mennä jonnekin neare linja 8044. Löydät linjat, kuten nämä: *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs"
Heti kun nämä rivit koodin lisäämiseen: 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
... Tai jotain edellä kuvatulla tavalla, joka riittävästi edustaa lähteet ulkoasu ja versioita. Komenna make jälkeen modin ja kaiken pitäisi laatia hienosti. Se oli tyhmä. Mutta se toimi! Ai niin, yksi asia. Jos näette myös tämän virheilmoituksen: openocd.texi:12: @include `version.texi': No such file or directory.
Sitten vain luoda tiedoston doc / version.texi tähän sisältöön: @set UPDATED 20 January 2009 @set UPDATED-MONTH January 2009 @set EDITION 0.1.0 @set VERSION 0.1.0
Ufff ... Toivon, että se paitsi jos ne toteuttaa enemmän virheitä tässä loistavasta ohjelma. Tämä viesti on julkaistu Hardware , Linux . |