Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with newer libftdi #3

Open
shr-project opened this issue Feb 4, 2020 · 4 comments
Open

Compatibility with newer libftdi #3

shr-project opened this issue Feb 4, 2020 · 4 comments

Comments

@shr-project
Copy link

When trying to build with libftdi-1.4 I'm seeing some build issues like:

kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_kobuki.cpp:122:15: error: aggregate 'ftdi_eeprom eeprom' has incomplete type and cannot be defined
kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_kobuki.cpp:124:52: error: too many arguments to function 'int ftdi_read_eeprom(ftdi_context*)'
kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_kobuki.cpp:130:14: error: 'FTDI_DEFAULT_EEPROM_SIZE' was not declared in this scope
kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_kobuki.cpp:215:50: error: too many arguments to function 'int ftdi_write_eeprom(ftdi_context*)'
kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_read_eeprom.cpp:43:15: error: aggregate 'ftdi_eeprom eeprom' has incomplete type and cannot be defined
kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_read_eeprom.cpp:134:14: error: 'ftdi_read_eeprom_getsize' was not declared in this scope
kobuki-ftdi/1.0.0-1-r0/git/src/ftdi_write_eeprom.cpp:130:50: error: too many arguments to function 'int ftdi_write_eeprom(ftdi_context*)'

e.g. the 2nd parameter to ftdi_read_eeprom/ftdi_write_eeprom was removed from libftdi-1.0 almost 10 years ago in:
http://developer.intra2net.com/git/?p=libftdi;a=commit;h=a35aa9bdfbb149efe72c32727a0ebfe3585465f8

Does kobuki_ftdi need even older libftdi or am I missing something?
Is there some plan to support recent libftdi?

shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 4, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 4, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 4, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
@stonier
Copy link
Contributor

stonier commented Feb 5, 2020

Have only tried it with the current ubuntu LTS (18.04) release only which works. That package name is libftdi1-2, however the installed version is supposedly v1.4.1. I wonder if the package name reflects that it's been made compatible with v1.2. I'm not sure.

Do you actually need it for your use case though? One of the reasons we recently carved out a separate repository for the package was so that it didn't bring the libftdi and libusb baggage with it to a runtime build. i.e. I'd build and use it from a desktop workspace for debugging and recovery, not from inside a meta-ros openembedded build.

@shr-project
Copy link
Author

Do you actually need it for your use case though?

No, I don't plan to use kobuki at all myself, I'm just working on meta-ros recipes where we have the initial recipes generated by superflore for pretty much all ROS packages which are in the index (that's why it includes kobuki-ftdi recipe as well) and this was just one of the recipes I was trying to manually fix to build in OpenEmbedded environment. And was surprised that this libftdi API was changed so long time ago and kobuki-ftdi still uses it, if it builds with the libftdi version in current Ubuntu LTS, then it makes more sense and I'll check what Ubuntu does with libftdi to still provide this old API.

Thanks

@shr-project
Copy link
Author

Ubuntu has 2 version of libftdi:
https://packages.ubuntu.com/source/xenial/libftdi - 0.20-4build1
https://packages.ubuntu.com/source/xenial/libftdi1 - 1.2-5build1

libftdi is the old one based on what is currently in libftdi-0.x branch in upstream libftdi repository (last release 8 years ago) and has the old API which kobuki-ftdi is using:
http://developer.intra2net.com/git/?p=libftdi;a=tree;h=refs/heads/libftdi-0.x;hb=refs/heads/libftdi-0.x
http://developer.intra2net.com/git/?p=libftdi;a=blob;f=src/ftdi.h;h=6bb7a3ee006fdc018d44e4e1eb2155cae9e7393f;hb=refs/heads/libftdi-0.x#l446

libftdi is the newer one (1.0 released 7 years ago).

It would be nice to eventually support building with libftdi1, I don't know how long even ubuntu will keep the old libftdi (they already dropped some parts of it in 0.20-4 version http://changelogs.ubuntu.com/changelogs/pool/universe/libf/libftdi/libftdi_0.20-4build1/changelog)

But for now I'll keep the recipe in meta-ros just blacklisted with a message that if someone needs to use it, will need to provide recipe for old libftdi 0.20 or port kobuki-ftdi to libftdi1.

@stonier
Copy link
Contributor

stonier commented Feb 10, 2020

Wow, the versioning on ubuntu bionic is really confusing.

The 0.20 versions:

  • libftdi1
  • libftdi-dev <-- this is the deb that kobuki_ftdi currently depends on in package.xml

The 1.4 versions:

  • libftdi1-2
  • libftdi1-dev
  • libftdi1-dev

So 0.20 == 1 ... sometimes and 1.2 == 1.4. They need a mathematics graduate from elementary school to help them out.

You are right, it would be good to update to the newer version of the package. Right now though, this package should rarely, if ever, be needed by users, so it will be done only if needed.


If you can though, please drop it from the meta-ros list. It is intended to be a desktop package, not a runtime package and as such, does not need to be compiled for embedded systems.

shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 11, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 13, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 13, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Feb 13, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue May 16, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue May 16, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 1, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 3, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
shr-project added a commit to shr-project/meta-ros that referenced this issue Jul 3, 2020
* issue reported upstream:
  kobuki-base/kobuki_ftdi#3

* remove the dependency from kobuki-core to resolve:
  ERROR: Nothing PROVIDES 'kobuki-ftdi' (but /jenkins/mjansa/build-ros/ros1-melodic-thud/meta-ros/meta-ros1-melodic/generated-recipes/kobuki-core/kobuki-core_0.7.8.bb DEPENDS on or otherwise requires it)
  No eligible PROVIDERs exist for 'kobuki-ftdi'

Signed-off-by: Martin Jansa <martin.jansa@lge.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants