Peter Budny
2011-06-16 13:18:25 UTC
When trying to compile UrJTAG with ftd2xx support, it fails to link the
executables. This seems to be because @FTD2XXLIB@ is being added to
liburjtag_la_LIBADD in src/Makefile.am (where it does not help define any
symbols) instead of jtag_LDADD in src/apps/jtag/Makefile.am (where the EXE
is linked).
However, I tried editing the Makefile.am's, reconfiguring and making, and
that fails because libtool turns
/bin/bash ../../../libtool --tag=CC --mode=link i586-mingw32msvc-gcc
-std=gnu99 -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
-Werror -g -O2 -I/share/d2xx -o jtag.exe jtag.o ../../../src/liburjtag.la
/share/d2xx/i386/ftd2xx.lib
into
libtool: link: i586-mingw32msvc-gcc -std=gnu99 -Wall -Wmissing-prototypes
-Wstrict-prototypes -Wpointer-arith -Werror -g -O2 -I/share/d2xx -o
.libs/jtag.exe jtag.o /share/d2xx/i386/ftd2xx.lib
../../../src/.libs/liburjtag.a
and the reordering means the lib file isn't used to deal with the unresolved
symbols in liburjtag.a.
For reference, I'm doing
./configure -host=i586-mingw32msvc -enable-lowlevel="ftd2xx"
-with-ftd2xx=/share/d2xx
And this is what happens when it fails:
Making all in src/apps/jtag
make[2]: Entering directory
`/home/unicoi/jtag/bug_report/urjtag/src/apps/jtag'
/bin/bash ../../../libtool --tag=CC --mode=link i586-mingw32msvc-gcc
-std=gnu99 -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
-Werror -g -O2 -I/share/d2xx -o jtag.exe jtag.o ../../../src/liburjtag.la
libtool: link: i586-mingw32msvc-gcc -std=gnu99 -Wall -Wmissing-prototypes
-Wstrict-prototypes -Wpointer-arith -Werror -g -O2 -I/share/d2xx -o
.libs/jtag.exe jtag.o ../../../src/.libs/liburjtag.a
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_close':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:566:
undefined reference to `***@4'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_common_open':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:393:
undefined reference to `***@12'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:401:
undefined reference to `***@8'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_flush':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:123:
undefined reference to `***@16'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:159:
undefined reference to `***@16'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_read':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:221:
undefined reference to `***@16'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_mpsse_open':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:477:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:549:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:481:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:486:
undefined reference to `***@12'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:493:
undefined reference to `***@20'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:501:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:506:
undefined reference to `***@12'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:516:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:543:
undefined reference to `***@8'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_open':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:430:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:450:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:434:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:439:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:444:
undefined reference to `***@8'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_connect':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:352:
undefined reference to `***@4'
collect2: ld returned 1 exit status
make[2]: *** [jtag.exe] Error 1
P.S. I'm really sorry for MS Outlook making a mess of my e-mail formatting;
I just got this machine and I haven't gotten around to changing the e-mail
settings yet.
executables. This seems to be because @FTD2XXLIB@ is being added to
liburjtag_la_LIBADD in src/Makefile.am (where it does not help define any
symbols) instead of jtag_LDADD in src/apps/jtag/Makefile.am (where the EXE
is linked).
However, I tried editing the Makefile.am's, reconfiguring and making, and
that fails because libtool turns
/bin/bash ../../../libtool --tag=CC --mode=link i586-mingw32msvc-gcc
-std=gnu99 -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
-Werror -g -O2 -I/share/d2xx -o jtag.exe jtag.o ../../../src/liburjtag.la
/share/d2xx/i386/ftd2xx.lib
into
libtool: link: i586-mingw32msvc-gcc -std=gnu99 -Wall -Wmissing-prototypes
-Wstrict-prototypes -Wpointer-arith -Werror -g -O2 -I/share/d2xx -o
.libs/jtag.exe jtag.o /share/d2xx/i386/ftd2xx.lib
../../../src/.libs/liburjtag.a
and the reordering means the lib file isn't used to deal with the unresolved
symbols in liburjtag.a.
For reference, I'm doing
./configure -host=i586-mingw32msvc -enable-lowlevel="ftd2xx"
-with-ftd2xx=/share/d2xx
And this is what happens when it fails:
Making all in src/apps/jtag
make[2]: Entering directory
`/home/unicoi/jtag/bug_report/urjtag/src/apps/jtag'
/bin/bash ../../../libtool --tag=CC --mode=link i586-mingw32msvc-gcc
-std=gnu99 -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
-Werror -g -O2 -I/share/d2xx -o jtag.exe jtag.o ../../../src/liburjtag.la
libtool: link: i586-mingw32msvc-gcc -std=gnu99 -Wall -Wmissing-prototypes
-Wstrict-prototypes -Wpointer-arith -Werror -g -O2 -I/share/d2xx -o
.libs/jtag.exe jtag.o ../../../src/.libs/liburjtag.a
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_close':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:566:
undefined reference to `***@4'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_common_open':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:393:
undefined reference to `***@12'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:401:
undefined reference to `***@8'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_flush':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:123:
undefined reference to `***@16'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:159:
undefined reference to `***@16'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_read':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:221:
undefined reference to `***@16'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_mpsse_open':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:477:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:549:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:481:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:486:
undefined reference to `***@12'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:493:
undefined reference to `***@20'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:501:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:506:
undefined reference to `***@12'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:516:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:543:
undefined reference to `***@8'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_open':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:430:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:450:
undefined reference to `***@4'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:434:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:439:
undefined reference to `***@8'
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:444:
undefined reference to `***@8'
../../../src/.libs/liburjtag.a(libftd2xx.o): In function
`usbconn_ftd2xx_connect':
/home/unicoi/jtag/bug_report/urjtag/src/tap/usbconn/libftd2xx.c:352:
undefined reference to `***@4'
collect2: ld returned 1 exit status
make[2]: *** [jtag.exe] Error 1
P.S. I'm really sorry for MS Outlook making a mess of my e-mail formatting;
I just got this machine and I haven't gotten around to changing the e-mail
settings yet.