Bug 201721

Summary: devel/openocd: Update to 0.9.0
Product: Ports & Packages Reporter: Kenji Rikitake <kenji>
Component: Individual Port(s)Assignee: Steven Kreuzer <skreuzer>
Status: Closed FIXED    
Severity: Affects Many People CC: ardovm, kenji.rikitake
Priority: --- Flags: bugzilla: maintainer-feedback? (skreuzer)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
devel/openocd diff from 0.7.0_3 to 0.8.0
none
devel/openocd diff from 0.7.0_3 to 0.9.0
none
devel/openocd diff from 0.7.0_3 to 0.9.0
none
Provide a custom script for detecting libusb instead of pkg-config none

Description Kenji Rikitake 2015-07-20 16:01:52 UTC
Created attachment 159020 [details]
devel/openocd diff from 0.7.0_3 to 0.8.0

Update devel/openocd to 0.8.0 by the following patch to the Port.
Comment 1 Kenji Rikitake 2015-07-20 22:38:02 UTC
Created attachment 159031 [details]
devel/openocd diff from 0.7.0_3 to 0.9.0
Comment 2 Kenji Rikitake 2015-07-20 23:20:00 UTC
Created attachment 159032 [details]
devel/openocd diff from 0.7.0_3 to 0.9.0

Note:

* Unable to include lib/libopenlcd.a, since it is not in the stage/ directory built by OpenOCD. It's in src/.libs, but the build uses libopenlcd.la (note .la); do we need this?
Comment 3 Steven Kreuzer freebsd_committer freebsd_triage 2015-09-04 17:31:16 UTC
The diff didn't apply cleanly because it looks like you included a .rej file in the patch (Oops.rej)

Thats not a huge deal but I am running into an issue getting this to build with poudriere because the configure scripts bombs out because it can't find LIBFTDI

I haven't had an opportunity to look closely at this but I just wanted to let you know I am not totally ignoring this PR
Comment 4 kenji.rikitake 2015-09-04 23:16:28 UTC
(In reply to Steven Kreuzer from comment #3)

Thx for status.

Here the following two libftdi packages are installed for 0.9.0:

libftdi-0.20_4                 Library (using libusb) to talk to FTDI chips
libftdi1-1.1                   Library (using libusb) to talk to FTDI chips

FYI.
Comment 5 Steven Kreuzer freebsd_committer freebsd_triage 2016-01-29 22:23:11 UTC
I just updated the port to 0.9.0 from the patch from https://reviews.freebsd.org/D3931
Comment 6 Arrigo Marchiori 2016-02-05 13:52:17 UTC
Hello,

it looks like that this new version cannot build on 9-STABLE with options that require libusb. The reason is that, on 9-STABLE, libusb does not install pkgconfig files, and therefore the configure script of OpenOCD does not detect its presence.

I am not sure what is the best way to follow... integrating the .pc files into the 9-STABLE sources or avoid using pkgconfig?

# uname -a
FreeBSD myhost 9.3-STABLE FreeBSD 9.3-STABLE #146 r294970M: Wed Feb  3 09:15:02 CET 2016     root@myhost:/usr/obj/usr/src/sys/GENERIC  i386

# cd /usr/ports/devel/openocd && make
[...]
checking for libftdi FT232H device support... yes
checking for LIBUSB1... no
configure: WARNING: libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead
checking for LIBUSB0... no
checking for HIDAPI... no
checking for HIDAPI... no
checking for HIDAPI... no
configure: error: libusb-1.x is required for the MPSSE mode of FTDI based devices
===>  Script "configure" failed unexpectedly.

The relevant lines from config.log are:

configure:15120: checking for LIBUSB1
configure:15127: $PKG_CONFIG --exists --print-errors "libusb-1.0"
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libusb-1.0', required by 'world', not found
configure:15130: $? = 1
configure:15144: $PKG_CONFIG --exists --print-errors "libusb-1.0"
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libusb-1.0', required by 'world', not found
configure:15147: $? = 1
configure:15161: result: no
Package libusb-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-1.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libusb-1.0', required by 'world', not found
configure:15179: WARNING: libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead
configure:15221: checking for LIBUSB0
configure:15228: $PKG_CONFIG --exists --print-errors "libusb"
Package libusb-0.1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-0.1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libusb-0.1', required by 'world', not found
configure:15231: $? = 1
configure:15245: $PKG_CONFIG --exists --print-errors "libusb-0.1"
Package libusb-0.1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb-0.1.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libusb-0.1', required by 'world', not found
configure:15248: $? = 1
configure:15262: result: no
Package libusb was not found in the pkg-config search path.
Perhaps you should add the directory containing `libusb.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libusb', required by 'world', not found
Comment 7 Arrigo Marchiori 2016-07-22 14:42:52 UTC
Created attachment 172837 [details]
Provide a custom script for detecting libusb instead of pkg-config

The attachment is a quick and dirty hack that allowed me to compile OpenOCD 0.9 on my 9-STABLE system.

It provides a script named libusb_finder, that mimicks (in a very simple way) the behavior of pkg-config when looking for libusb.
The configure script is also patched, to use the script instead of pkg-config.

Unfortunately, I have no way to test this patch on any other FreeBSD versions, such as 10-STABLE or -CURRENT. In theory, the script should just pass over its parameters to pkg-config on those systems.

The libusb_finder script is created by means of a patch from the files/ subdirectory of the port. The Makefile makes it executable in the post-patch target.

I hope this can be useful.
Comment 8 Steven Kreuzer freebsd_committer freebsd_triage 2016-08-03 21:18:39 UTC
(In reply to Arrigo Marchiori from comment #7)

Thanks! I did some limited testing and didn't see any issues. I just committed the update to the port
Comment 9 commit-hook freebsd_committer freebsd_triage 2016-08-03 21:18:48 UTC
A commit references this bug:

Author: skreuzer
Date: Wed Aug  3 21:17:51 UTC 2016
New revision: 419558
URL: https://svnweb.freebsd.org/changeset/ports/419558

Log:
  Update to 0.9.0

  PR:		201721
  Submitted by:	Arrigo Marchiori  <ardovm@yahoo.it>

Changes:
  head/devel/openocd/Makefile
  head/devel/openocd/files/patch-configure
  head/devel/openocd/files/patch-libusb__finder