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

Header files not found if libdeps dir is within a subdirectory of lib_extra_dirs #3311

Closed
nanosonde opened this issue Dec 18, 2019 · 1 comment
Assignees
Labels
bug build system ldf Library Dependency Finder
Milestone

Comments

@nanosonde
Copy link

nanosonde commented Dec 18, 2019

Configuration

Operating system: Windows10

PlatformIO Version (platformio --version): 4.1.0

Description of problem

platformio build does not find header files of dependent libraries if

  • lib_extra_dirs is set to ../../.. for platformio project
  • libdeps_dir is NOT modified so it uses the ".pio" workspace dir within the project directory

Steps to Reproduce

  1. Clone this project: https://github.com/thelsing/knx
  2. Remove my workaround by commenting it: https://github.com/thelsing/knx/blob/master/examples/knx-usb/platformio.ini#L13
  3. From within VS Code open platformio project "examples/knx-usb" using the menu (CLI not tested)
  4. Click "verbose build", "build" or "pre-debug" to start build

Actual Results

Compiling stops due to missing header files for dependent libraries (e.g. Adafruit TinyUSB library), although all libraries were found and are in place.

Expected Results

Successful compilation.

If problems with PlatformIO Build System:

The content of platformio.ini:
https://github.com/thelsing/knx/blob/master/examples/knx-usb/platformio.ini

Source file to reproduce issue:
https://github.com/thelsing/knx/blob/master/examples/knx-usb/src/main.cpp

Additional info

User Stories:
As a user of the knx library I want to checkout the complete repository and just open an example in VS Code and use platformio to build the example. The knx library source code that shall be used during building the exmaple is supposed to be the source code checked out.

As the maintainer/author (not me!) of the knx library I do not want to change the directory structure as platformio is only one of the used build systems.

It seems that the issue is somehow related to the fact, that the directory (libdeps) is within a subdirectory of the actual project which itself is also a subdirectory of the path specified by using lib_extra_dir=../../..

Current workaround

Add libdeps_dir = /tmp/libdeps so that third-party libraries are not within lib_extra_dirs path.

@ivankravets ivankravets self-assigned this Dec 24, 2019
@ivankravets ivankravets added build system ldf Library Dependency Finder bug and removed help wanted labels Dec 24, 2019
@ivankravets ivankravets added this to the 4.1.1 milestone Dec 24, 2019
@ivankravets
Copy link
Member

Thanks for the report! Please re-test with pio upgrade --dev.

hmaarrfk pushed a commit to hmaarrfk/platformio-core that referenced this issue Dec 29, 2019
…is within a subdirectory of "lib_extra_dirs" // Resolve platformio#3311
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug build system ldf Library Dependency Finder
Projects
None yet
Development

No branches or pull requests

3 participants