Hi Freddie,

after being slapped in the face by the error, try manually entering the 
following:

cd src
x86_64-w64-mingw32-gcc -std=gnu99 -g -O2 -D__USE_MINGW_ANSI_STDIO 
-I/home/freddie/Pobrane/ftd2xx -Wall -Wstrict-prototypes -Wformat-security 
-Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align 
-Wredundant-decls -Werror -o openocd.exe ./.libs/libopenocd.a main.o  
-L/home/freddie/Pobrane/ftd2xx/amd64 -lws2_32 -lusb -lftd2xx

This little trick moves the ./.libs/libopenocd.a from the rear of the command 
to just after -o <bla> . Do you get any errors then? It works on my x64 Ubuntu 
box, though I link against a shared openocd lib, and I'm guessing it'll work on 
mingboxen too. A quick guess is that configure.in needs to be fixed.

Cheers,

Johnny


Freddie Chopin wrote:
> I'm able to cross-compile 32-bit version using ftd2xx and libftdi as 
> well as 64-bit version using libftdi, but when trying to build a 64-bit 
> ftd2xx version in the final linking stage I get:
> 
>> libtool: link: x86_64-w64-mingw32-gcc -std=gnu99 -g -O2 
>> -D__USE_MINGW_ANSI_STDIO -I/home/freddie/Pobrane/ftd2xx -Wall 
>> -Wstrict-prototypes -Wformat-security -Wextra -Wno-unused-parameter 
>> -Wbad-function-cast -Wcast-align -Wredundant-decls -Werror -o openocd.exe 
>> main.o  -L/home/freddie/Pobrane/ftd2xx/amd64 ./.libs/libopenocd.a -lws2_32 
>> -lusb -lftd2xx
>> ./.libs/libopenocd.a(ft2232.o): In function `ft2232_quit':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:2787:
>>  undefined reference to `__imp__FT_Close'
>> ./.libs/libopenocd.a(ft2232.o): In function `signalyzer_h_ctrl_write':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:3102:
>>  undefined reference to `__imp__FT_WriteEE'
>> ./.libs/libopenocd.a(ft2232.o): In function `ft2232_write':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:342:
>>  undefined reference to `__imp__FT_Write'
>> ./.libs/libopenocd.a(ft2232.o): In function `signalyzer_h_init':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:3249:
>>  undefined reference to `__imp__FT_ReadEE'
>> ./.libs/libopenocd.a(ft2232.o): In function `ft2232_init_ftd2xx':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1851:
>>  undefined reference to `__imp__FT_OpenEx'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1883:
>>  undefined reference to `__imp__FT_ListDevices'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1915:
>>  undefined reference to `__imp__FT_SetLatencyTimer'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1921:
>>  undefined reference to `__imp__FT_GetLatencyTimer'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1931:
>>  undefined reference to `__imp__FT_SetTimeouts'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1937:
>>  undefined reference to `__imp__FT_SetBitMode'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1943:
>>  undefined reference to `__imp__FT_GetDeviceInfo'
>> ./.libs/libopenocd.a(ft2232.o): In function `ft2232_purge_ftd2xx':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:1968:
>>  undefined reference to `__imp__FT_Purge'
>> ./.libs/libopenocd.a(ft2232.o): In function `ft2232_read':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/ft2232.c:377:
>>  undefined reference to `__imp__FT_Read'
>> ./.libs/libopenocd.a(presto.o): In function `presto_close':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:406:
>>  undefined reference to `__imp__FT_Purge'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:410:
>>  undefined reference to `__imp__FT_Write'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:414:
>>  undefined reference to `__imp__FT_SetLatencyTimer'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:417:
>>  undefined reference to `__imp__FT_Close'
>> ./.libs/libopenocd.a(presto.o): In function `presto_write':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:97:
>>  undefined reference to `__imp__FT_Write'
>> ./.libs/libopenocd.a(presto.o): In function `presto_read':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:127:
>>  undefined reference to `__imp__FT_Read'
>> ./.libs/libopenocd.a(presto.o): In function `presto_open_ftd2xx':
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:189:
>>  undefined reference to `__imp__FT_ListDevices'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:196:
>>  undefined reference to `__imp__FT_Open'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:206:
>>  undefined reference to `__imp__FT_GetDeviceInfo'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:217:
>>  undefined reference to `__imp__FT_Close'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:224:
>>  undefined reference to `__imp__FT_SetLatencyTimer'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:228:
>>  undefined reference to `__imp__FT_SetTimeouts'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:231:
>>  undefined reference to `__imp__FT_Purge'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:235:
>>  undefined reference to `__imp__FT_Write'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:241:
>>  undefined reference to `__imp__FT_Read'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:250:
>>  undefined reference to `__imp__FT_SetBitMode'
>> /home/freddie/Pobrane/openocd-0.4.0-rc1/build/src/jtag/drivers/../../../../src/jtag/drivers/presto.c:252:
>>  undefined reference to `__imp__FT_SetBaudRate'
>> collect2: ld returned 1 exit status
> 
> The 64-bit toolchain is compiled exactly as it's 32-bit version, the 
> 64-bit version of OpenOCD is configured exactly as the 32-bit version 
> (only --host=... is different (; ). Any hints?
> 
> 4\/3!!
> _______________________________________________
> Openocd-development mailing list
> Openocd-development@lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/openocd-development
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to