ports/143925: urjtag - libftdi dependency and build broken

CeDeROM tomek.cedro at gmail.com
Sun Feb 14 03:25:34 UTC 2010


>Number:         143925
>Category:       ports
>Synopsis:       FreeBSD port of UrJTAG depends on obsolete libftdi library / build break
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 14 03:25:34 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Tomek Cedro
>Release:        FreeBSD 8.0-RELEASE-p2 i386
>Organization:
http://www.tomek.cedro.info
>Environment:
System: FreeBSD amd64. 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue
Jan 5 16:02:27 UTC 2010
root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386


>Description:
Few days ago a new port of libftdi 0.17 replaced the old 0.14. Since
then UrJTAG stopped working as it depens on specific version of the
libftdi (what is unnecessary). With the new release of libftdi which
brings new features and is backward compatibile, it is impossible to
run and build urjtag binary. UrJTAG should not depend on specific
version of the libftdi as new releases will come soon and bring
support for FT2232H (USB Hi-Speed).

>How-To-Repeat:

I have decided to update part of the port Makefile to avoid libftdi.15
dependency, but then port does not build:
.if !defined(WITHOUT_FTDI)
CONFIGURE_ARGS+=        --with-libftdi
LIB_DEPENDS+=   ftdi:${PORTSDIR}/devel/libftdi
.endif

Here are some resulting configure options:

jtag is now configured for

  Detected libusb      : no  <- *** no usb will be built although USB
was selected during make config
  Detected libftdi     : yes
  Detected libftd2xx   : no
  Detected inpout32    : no
  Build SVF player     : yes
  Build BSDL subsystem : yes
  Bus drivers          : au1500 avr32 bcm1250 bf526_ezkit bf527_ezkit
bf533_stamp bf533_ezkit bf537_stamp bf537_ezkit bf538f_ezkit
bf548_ezkit bf561_ezkit bscoach ejtag ejtag_dma fjmem ixp425 jopcyc
h7202 lh7a400 mpc5200 mpc824x ppc405ep ppc440gx_ebc8 prototype pxa2x0
pxa27x s3c4510 sa1110 sh7727 sh7750r sh7751r sharc_21065L slsup3
tx4925 zefant_xs3
  Cable drivers        : arcom byteblaster dlc5 ea253 ei012 ft2232
igloo keithkoep lattice mpcbdm triton usbblaster wiggler
  Lowlevel drivers     : direct ftdi ppi

The krash tail is:
Making all in svf
gmake[3]: Entering directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src/svf'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src/svf'
Making all in bsdl
gmake[3]: Entering directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src/bsdl'
gmake[3]: Nothing to be done for `all'.
gmake[3]: Leaving directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src/bsdl'
gmake[3]: Entering directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src'
cc  -O2 -pipe --std=c99 -fno-strict-aliasing -Wall  -L/usr/local/lib
-o jtag jtag.o -Lcmd -lcmd -Ltap -ltap -Lpart -lpart -Llib -ljtaglib
-Lflash -lflash -Ltap -ltap -Lflash -lflash -Lbus -lbus -lm
/usr/local/lib/libintl.so /usr/local/lib/libiconv.so -Wl,-rpath
-Wl,/usr/local/lib -Lsvf -lsvf -Lbsdl -lbsdl   -L/usr/local/lib -lftdi
-lusb  -lreadline
jtag.o(.text+0xa): In function `cleanup':
: undefined reference to `cfi_array'
jtag.o(.text+0x12): In function `cleanup':
: undefined reference to `cfi_array_free'
jtag.o(.text+0x1e): In function `cleanup':
: undefined reference to `cfi_array'
cmd/libcmd.a(detectflash.o)(.text+0xa0): In function `cmd_detectflash_run':
: undefined reference to `detectflash'
cmd/libcmd.a(flashmem.o)(.text+0x3e): In function `cmd_flashmem_help':
: undefined reference to `flash_drivers'
cmd/libcmd.a(flashmem.o)(.text+0x58): In function `cmd_flashmem_help':
: undefined reference to `flash_drivers'
cmd/libcmd.a(flashmem.o)(.text+0x8b): In function `cmd_flashmem_help':
: undefined reference to `flash_drivers'
cmd/libcmd.a(flashmem.o)(.text+0x13c): In function `cmd_flashmem_run':
: undefined reference to `flashmsbin'
cmd/libcmd.a(flashmem.o)(.text+0x18f): In function `cmd_flashmem_run':
: undefined reference to `flashmem'
cmd/libcmd.a(eraseflash.o)(.text+0x26): In function `cmd_eraseflash_help':
: undefined reference to `flash_drivers'
cmd/libcmd.a(eraseflash.o)(.text+0x40): In function `cmd_eraseflash_help':
: undefined reference to `flash_drivers'
cmd/libcmd.a(eraseflash.o)(.text+0x73): In function `cmd_eraseflash_help':
: undefined reference to `flash_drivers'
cmd/libcmd.a(eraseflash.o)(.text+0x143): In function `cmd_eraseflash_run':
: undefined reference to `flasherase'
gmake[3]: *** [jtag] Error 1
gmake[3]: Leaving directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/ports/devel/urjtag/work/urjtag-0.10/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/ports/devel/urjtag/work/urjtag-0.10'
gmake: *** [all] Error 2
*** Error code 1

>Fix:
-Remove dependency on specific version of a libftdi, "=" might be
replaced with ">" statement
-Add BUILD_DEPENDS for libusb in section WITH_USB
-verify build break cause (probably a bsdl parser)


-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list