An updated libusb stable version is available from the sourceforge mirrors. Since it is a minor update, the ebuild can be updated by changing its name. As a small note, shouldn't the html docs be disabled, via the --disable-build-docs configure option, unless the user has the docs USE flag enabled?
This works fine for me only if I disable the docs.
Documentation requires jade or openjade to be installed. Either openjade should be added to the DEPEND variable, or documentation should be disabled. Is the doc USE flag a general documentation flag, or is it only meant for gtk-docs? If it is general, it seems like it would be best to add openjade as DEPEND, conditional on the doc USE flag.
I have added libusb-0.1.7 to portage with DEBUGBUILD support and utilizing the doc use variable for installing html documentation. It is currently marked unstable. Please test and let me know how things work for you.
*** Bug 12556 has been marked as a duplicate of this bug. ***
libusb-0.1.7 has been marekd stable.
Sorry but this won't compile for me unless I type USE="-doc" emerge libusb I'm using the latest Gentoo (gcc 3.2.1-r6 and glibc 2.3.1-r3) and my openjade is version 1.3.1-r6. As for docbook-sgml-dtd, I have the FOUR of them installed (3.0, 3.1 ,4.0, 4.1), seems like every applications wants its special version ;) As far as I understand, they're all on different slots, but I'd be unable to say which is used by openjade. I always get this: jade -t sgml -d ./website.dsl\#html ./manual.sgml jade:./manual.sgml:1:55:W: cannot generate system identifier for public text "-//OASIS//DTD DocBook V3.1//EN" jade:./manual.sgml:10:0:E: reference to entity "BOOK" for which no system identifier could be generated jade:./manual.sgml:1:0: entity was defined here jade:./manual.sgml:10:0:E: DTD did not contain element declaration for document type name jade:./manual.sgml:12:9:E: there is no attribute "ID" jade:./manual.sgml:12:17:E: element "BOOK" undefined jade:./manual.sgml:13:8:E: element "TITLE" undefined jade:./manual.sgml:14:11:E: element "BOOKINFO" undefined jade:./manual.sgml:15:11:E: element "AUTHOR" undefined jade:./manual.sgml:16:16:E: element "FIRSTNAME" undefined jade:./manual.sgml:17:14:E: element "SURNAME" undefined jade:./manual.sgml:19:16:E: element "AFFILIATION" undefined jade:./manual.sgml:20:14:E: element "ADDRESS" undefined jade:./manual.sgml:20:21:E: element "EMAIL" undefined jade:./manual.sgml:23:15:E: element "REVHISTORY" undefined jade:./manual.sgml:24:15:E: element "REVISION" undefined jade:./manual.sgml:25:18:E: element "REVNUMBER" undefined jade:./manual.sgml:26:13:E: element "DATE" undefined jade:./manual.sgml:27:23:E: element "AUTHORINITIALS" undefined jade:./manual.sgml:28:18:E: element "REVREMARK" undefined jade:./manual.sgml:31:15:E: element "REVISION" undefined jade:./manual.sgml:32:18:E: element "REVNUMBER" undefined jade:./manual.sgml:33:13:E: element "DATE" undefined jade:./manual.sgml:34:23:E: element "AUTHORINITIALS" undefined jade:./manual.sgml:35:18:E: element "REVREMARK" undefined jade:./manual.sgml:38:15:E: element "REVISION" undefined jade:./manual.sgml:39:18:E: element "REVNUMBER" undefined jade:./manual.sgml:40:13:E: element "DATE" undefined jade:./manual.sgml:41:23:E: element "AUTHORINITIALS" undefined jade:./manual.sgml:42:18:E: element "REVREMARK" undefined jade:./manual.sgml:46:15:E: element "KEYWORDSET" undefined jade:./manual.sgml:47:14:E: element "KEYWORD" undefined jade:./manual.sgml:51:14:E: there is no attribute "ID" jade:./manual.sgml:51:23:E: element "PREFACE" undefined jade:./manual.sgml:52:10:E: element "TITLE" undefined jade:./manual.sgml:54:13:E: element "ABSTRACT" undefined jade:./manual.sgml:55:14:E: element "SIMPARA" undefined jade:./manual.sgml:55:105:E: element "ACRONYM" undefined jade:./manual.sgml:56:14:E: element "SIMPARA" undefined jade:./manual.sgml:56:119:E: there is no attribute "URL" jade:./manual.sgml:56:148:E: element "ULINK" undefined jade:./manual.sgml:56:235:E: element "ULINK" undefined jade:./manual.sgml:60:11:E: there is no attribute "ID" jade:./manual.sgml:60:18:E: element "PART" undefined jade:./intro.sgml:1:8:E: element "TITLE" undefined jade:./intro.sgml:2:14:E: there is no attribute "ID" jade:./intro.sgml:2:30:E: element "CHAPTER" undefined jade:./intro.sgml:3:10:E: element "TITLE" undefined jade:./intro.sgml:4:9:E: element "PARA" undefined jade:./intro.sgml:4:104:E: element "ACRONYM" undefined jade:./intro.sgml:4:310:E: element "ULINK" undefined jade:./intro.sgml:5:9:E: element "PARA" undefined jade:./intro.sgml:5:80:E: element "ACRONYM" undefined jade:./intro.sgml:5:242:E: element "ULINK" undefined jade:./intro.sgml:5:321:E: element "ULINK" undefined jade:./intro.sgml:6:9:E: element "PARA" undefined jade:./intro.sgml:6:40:E: element "ACRONYM" undefined jade:./intro.sgml:6:91:E: element "ACRONYM" undefined jade:./intro.sgml:9:29:E: element "CHAPTER" undefined jade:./intro.sgml:10:10:E: element "TITLE" undefined jade:./intro.sgml:11:17:E: element "ITEMIZEDLIST" undefined jade:./intro.sgml:12:15:E: element "LISTITEM" undefined jade:./intro.sgml:12:21:E: element "PARA" undefined jade:./intro.sgml:12:57:E: element "ULINK" undefined jade:./intro.sgml:13:15:E: element "LISTITEM" undefined jade:./intro.sgml:13:21:E: element "PARA" undefined jade:./intro.sgml:13:58:E: element "ULINK" undefined jade:./intro.sgml:13:111:E: element "ULINK" undefined jade:./intro.sgml:13:167:E: element "ULINK" undefined jade:./intro.sgml:14:15:E: element "LISTITEM" undefined jade:./intro.sgml:14:21:E: element "PARA" undefined jade:./intro.sgml:14:69:E: element "ULINK" undefined jade:./intro.sgml:14:132:E: element "ULINK" undefined jade:./manual.sgml:64:16:E: element "PART" undefined jade:./api.sgml:3:8:E: element "TITLE" undefined jade:./api.sgml:4:12:E: element "PARTINTRO" undefined jade:./api.sgml:5:9:E: element "PARA" undefined jade:./api.sgml:6:9:E: element "PARA" undefined jade:./api.sgml:9:37:E: element "CHAPTER" undefined jade:./api.sgml:10:10:E: element "TITLE" undefined jade:./api.sgml:12:9:E: element "PARA" undefined jade:./api.sgml:12:296:E: there is no attribute "LINKEND" jade:./api.sgml:12:324:E: element "XREF" undefined jade:./api.sgml:12:332:E: end tag for "XREF" omitted, but its declaration does not permit this jade:./api.sgml:12:282: start tag was here jade:./api.sgml:15:28:E: element "CHAPTER" undefined jade:./api.sgml:16:10:E: element "TITLE" undefined jade:./api.sgml:18:9:E: element "PARA" undefined jade:./api.sgml:21:25:E: element "CHAPTER" undefined jade:./api.sgml:22:10:E: element "TITLE" undefined jade:./api.sgml:24:9:E: element "PARA" undefined jade:./api.sgml:27:31:E: element "CHAPTER" undefined jade:./api.sgml:28:10:E: element "TITLE" undefined jade:./api.sgml:30:9:E: element "PARA" undefined jade:./manual.sgml:68:22:E: element "PART" undefined jade:./functions.sgml:1:8:E: element "TITLE" undefined jade:./functions.sgml:3:16:E: there is no attribute "ID" jade:./functions.sgml:3:26:E: element "REFERENCE" undefined jade:./functions.sgml:4:10:E: element "TITLE" undefined jade:./functions.sgml:5:14:E: element "PARTINTRO" undefined jade:./functions.sgml:6:11:E: element "PARA" undefined jade:./functions.sgml:9:17:E: there is no attribute "ID" jade:./functions.sgml:9:35:E: element "REFENTRY" undefined jade:./functions.sgml:10:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:11:16:E: element "REFNAME" undefined jade:./functions.sgml:12:19:E: element "REFPURPOSE" undefined jade:./functions.sgml:14:15:E: element "REFSECT1" undefined jade:./functions.sgml:15:14:E: element "TITLE" undefined jade:./functions.sgml:16:21:E: element "FUNCSYNOPSIS" undefined jade:./functions.sgml:17:24:E: element "FUNCPROTOTYPE" undefined jade:./functions.sgml:18:20:E: element "FUNCDEF" undefined jade:./functions.sgml:18:35:E: element "FUNCTION" undefined jade:./functions.sgml:19:17:E: element "VOID" undefined jade:./functions.sgml:20:25:E: end tag for "VOID" omitted, but its declaration does not permit this jade:./functions.sgml:19:12: start tag was here jade:./functions.sgml:22:13:E: element "PARA" undefined jade:./functions.sgml:22:51:E: element "FUNCTION" undefined jade:./functions.sgml:22:115:E: element "FUNCTION" undefined jade:./functions.sgml:22:145:E: element "EMPHASIS" undefined jade:./functions.sgml:26:41:E: element "REFENTRY" undefined jade:./functions.sgml:27:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:28:16:E: element "REFNAME" undefined jade:./functions.sgml:29:19:E: element "REFPURPOSE" undefined jade:./functions.sgml:31:15:E: element "REFSECT1" undefined jade:./functions.sgml:32:14:E: element "TITLE" undefined jade:./functions.sgml:33:21:E: element "FUNCSYNOPSIS" undefined jade:./functions.sgml:34:24:E: element "FUNCPROTOTYPE" undefined jade:./functions.sgml:35:20:E: element "FUNCDEF" undefined jade:./functions.sgml:35:34:E: element "FUNCTION" undefined jade:./functions.sgml:36:17:E: element "VOID" undefined jade:./functions.sgml:37:25:E: end tag for "VOID" omitted, but its declaration does not permit this jade:./functions.sgml:36:12: start tag was here jade:./functions.sgml:39:13:E: element "PARA" undefined jade:./functions.sgml:39:23:E: element "FUNCTION" undefined jade:./functions.sgml:43:42:E: element "REFENTRY" undefined jade:./functions.sgml:44:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:45:16:E: element "REFNAME" undefined jade:./functions.sgml:46:19:E: element "REFPURPOSE" undefined jade:./functions.sgml:48:15:E: element "REFSECT1" undefined jade:./functions.sgml:49:14:E: element "TITLE" undefined jade:./functions.sgml:50:21:E: element "FUNCSYNOPSIS" undefined jade:./functions.sgml:51:24:E: element "FUNCPROTOTYPE" undefined jade:./functions.sgml:52:20:E: element "FUNCDEF" undefined jade:./functions.sgml:52:34:E: element "FUNCTION" undefined jade:./functions.sgml:53:17:E: element "VOID" undefined jade:./functions.sgml:54:25:E: end tag for "VOID" omitted, but its declaration does not permit this jade:./functions.sgml:53:12: start tag was here jade:./functions.sgml:56:13:E: element "PARA" undefined jade:./functions.sgml:56:23:E: element "FUNCTION" undefined jade:./functions.sgml:56:160:E: element "XREF" undefined jade:./functions.sgml:56:263:E: end tag for "XREF" omitted, but its declaration does not permit this jade:./functions.sgml:56:122: start tag was here jade:./functions.sgml:60:40:E: element "REFENTRY" undefined jade:./functions.sgml:61:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:62:16:E: element "REFNAME" undefined jade:./functions.sgml:63:19:E: element "REFPURPOSE" undefined jade:./functions.sgml:65:15:E: element "REFSECT1" undefined jade:./functions.sgml:66:14:E: element "TITLE" undefined jade:./functions.sgml:67:21:E: element "FUNCSYNOPSIS" undefined jade:./functions.sgml:68:24:E: element "FUNCPROTOTYPE" undefined jade:./functions.sgml:69:20:E: element "FUNCDEF" undefined jade:./functions.sgml:69:46:E: element "FUNCTION" undefined jade:./functions.sgml:70:17:E: element "VOID" undefined jade:./functions.sgml:71:25:E: end tag for "VOID" omitted, but its declaration does not permit this jade:./functions.sgml:70:12: start tag was here jade:./functions.sgml:73:13:E: element "PARA" undefined jade:./functions.sgml:73:23:E: element "FUNCTION" undefined jade:./functions.sgml:73:106:E: element "VARNAME" undefined jade:./functions.sgml:78:31:E: element "REFERENCE" undefined jade:./functions.sgml:79:10:E: element "TITLE" undefined jade:./functions.sgml:80:14:E: element "PARTINTRO" undefined jade:./functions.sgml:81:11:E: element "PARA" undefined jade:./functions.sgml:84:35:E: element "REFENTRY" undefined jade:./functions.sgml:85:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:86:16:E: element "REFNAME" undefined jade:./functions.sgml:87:19:E: element "REFPURPOSE" undefined jade:./functions.sgml:89:15:E: element "REFSECT1" undefined jade:./functions.sgml:90:14:E: element "TITLE" undefined jade:./functions.sgml:91:21:E: element "FUNCSYNOPSIS" undefined jade:./functions.sgml:92:24:E: element "FUNCPROTOTYPE" undefined jade:./functions.sgml:93:20:E: element "FUNCDEF" undefined jade:./functions.sgml:93:46:E: element "FUNCTION" undefined jade:./functions.sgml:94:21:E: element "PARAMDEF" undefined jade:./functions.sgml:94:51:E: element "PARAMETER" undefined jade:./functions.sgml:97:13:E: element "PARA" undefined jade:./functions.sgml:97:23:E: element "FUNCTION" undefined jade:./functions.sgml:97:96:E: element "FUNCTION" undefined jade:./functions.sgml:101:36:E: element "REFENTRY" undefined jade:./functions.sgml:102:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:103:16:E: element "REFNAME" undefined jade:./functions.sgml:104:19:E: element "REFPURPOSE" undefined jade:./functions.sgml:106:15:E: element "REFSECT1" undefined jade:./functions.sgml:107:14:E: element "TITLE" undefined jade:./functions.sgml:108:21:E: element "FUNCSYNOPSIS" undefined jade:./functions.sgml:109:24:E: element "FUNCPROTOTYPE" undefined jade:./functions.sgml:110:20:E: element "FUNCDEF" undefined jade:./functions.sgml:110:34:E: element "FUNCTION" undefined jade:./functions.sgml:111:21:E: element "PARAMDEF" undefined jade:./functions.sgml:111:48:E: element "PARAMETER" undefined jade:./functions.sgml:114:13:E: element "PARA" undefined jade:./functions.sgml:114:23:E: element "FUNCTION" undefined jade:./functions.sgml:114:105:E: element "XREF" undefined jade:./functions.sgml:114:176:E: element "FUNCTION" undefined jade:./functions.sgml:114:214:E: end tag for "XREF" omitted, but its declaration does not permit this jade:./functions.sgml:114:73: start tag was here jade:./functions.sgml:118:47:E: element "REFENTRY" undefined jade:./functions.sgml:119:17:E: element "REFNAMEDIV" undefined jade:./functions.sgml:120:16:E: element "REFNAME" undefined jade:./functions.sgml:121:19:E: element "REFPURPOSE" undefined jade:I: maximum number of errors (200) reached; change with -E option jade:./website.dsl:2:95:W: cannot generate system identifier for public text "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" jade:./website.dsl:18:37:E: no style-specification or external-specification with ID "DOCBOOK" libusb Developers Guide Johannes Erdfelt johannes@erdfelt.com 0.3 June 28, 2002 jerdfelt More cleanups. Add the rest of the API and clean up some places. Add some examples. Hopefully, this should document the entire 0.1 API now. 0.2 June 11, 2002 jerdfelt Cleanup, update for all of the changes that have happened in the last couple of months. 0.1 August 26, 2001 jerdfelt First stab. libusb Preface This document's purpose is to explain the API for libusb and how to use it to make a USB aware application Any suggestions, corrections and comments regarding this document can be sent to the author: Johannes Erdfelt or the libusb developers mailing list. Introduction Overview This documentation will give an overview of how the v0.1 libusb API works and relates to USB. Work is rapidly progressing on a newer version of libusb, to be v1.0, which will be a redesigned API and is intended to obsolete v0.1. You may want to check the libusb website to see if it is stable and recommended. This documentation assumes that you have a good understanding of USB and how it works. If you don't have a good understanding of USB, it is recommended you obtain the USB v1.1 and/or v2.0 specs and read them. libusb is geared towards USB 1.1, however from the perspective of libusb, USB 2.0 won't be a significant change for libusb Current OS support Linux (2.2, 2.4 and on) FreeBSD, NetBSD and OpenBSD Darwin/MacOS X API This is the external API for applications to use. The API is relatively lean and designed to have close analogies to the USB specification. The v0.1 API was mostly hacked together and kludged together without much forethought and as a result, it's missing quite a few features. v1.0 is intended to rectify this. Devices and interfaces The libusb API ties an open device to a specific interface. This means that if you want to claim multiple interfaces on a device, you should open the device multiple times to receive one usb_dev_handle for each interface you want to communicate with. Don't forget to call . Timeouts Timeout's in libusb are always specified in milliseconds. Data Types libusb uses both abstracted and non abstracted structures to maintain portability. Synchronous All functions in libusb v0.1 are synchronous, meaning the functions block and wait for the operation to finish or timeout before returning execution to the calling application. Asynchronous operation will be supported in v1.0, but not v0.1. Functions Core These functions compromise the core of libusb. They are used by all applications that utilize libusb. usb_init Initialize libusb Description void usb_init Just like the name implies, usb_init sets up some internal structures. usb_init must be called before any other libusb functions. usb_find_busses Find's all USB busses on system Description int usb_find_busses usb_find_busses will find all of the busses on the system. Returns the number of changes previous to this call (total of new busses and busses removed). usb_find_devices Find all devices on all USB devices Description int usb_find_devices usb_find_devices will find all of the devices on each bus. This should be called after . Returns the number of changes previous to this call (total of new device and devices removed). usb_get_busses Return the list of USB busses found Description struct usb_bus *usb_get_busses usb_get_busses simply returns the value of the global variable usb_busses. This was implemented for those languages that support C calling convention and can use shared libraries, but don't support C global variables (like Delphi). Device operations This group of functions deal with the device. It allows you to open and close the device as well standard USB operations like setting the configuration, alternate settings, clearing halts and resetting the device. It also provides OS level operations such as claiming and releasing interfaces. usb_open Opens a USB device Description usb_dev_handle *usb_open struct *usb_device dev usb_open is to be used to open up a device for use. usb_open must be called before attempting to perform any operations to the device. usb_close Closes a USB device Description int usb_close usb_dev_handle *dev usb_close closes a device opened with . No further operations may be performed on the handle after usb_close is called. usb_set_configuration make[2]: *** [html/index.html] Error 1
added =app-text/docbook-sgml-dtd-3.1* to DEPEND
Even with the added dependency, I was getting the same doc build errors on libusb-1.7 as Laurent Sinitambirivoutin did. In the ebuild, changing the line make || die to SGML_CATALOG_FILES="/usr/share/sgml/docbook/sgml-dtd-3.1/catalog:/usr/share/sgml/docbook/dsssl-stylesheets-1.77/catalog:$SGML_CATALOG_FILES" make || die fixed the problem for me, but it's kinda ugly. Should things be turning up in /etc/sgml, and in the env.d/93sgmltools-lite file, that currently aren't?
I have experienced no problems emerging with USE="doc" with or without sgmltools-lite installed. For environment updates and such... do an etc-update env-update, source /etc/profile to update appropriate configuration files. Maybe do a USE"doc" emerge -e libusb to rebuild all dependancies?
I have built libusb on both our current stable profile and the unstable profile successfully.