Library inclusion help request

New to platformio, I have moved a large file from Arduino environment to platform

I get a fatal error UtilityFunctions.h No such file or directory.

I have been struggling with this for a a few hours over a couple of days.
the .h file is in the middle of ten .h files and declared as <UtiltyFunctions.h>
this is an esp8266 project. it compiles and works fine in the Arduino Environment.
I have
I have moved h and cpp file into a src folder in the UtilityFunctions lib file
I have copied this lib file into the lib directory in my project.
it’s also in the arduino/sketchbook/libraries folder

inside the library.properties folder I have added the includes=UtilityFunctions

in platform.ini I added lib_extra_dirs= L;/fullpath/rduino/sketchbook/libraries
it find the lib_deps= https// github URL’s and all that appears to work
I also included full path to the sketchbook lib folder as a lib_dep
but the compiler keeps complaining, (I even checked the spelling of the header LOL)
I have looked at a number of topics on the forum and have tried to implement most of the users suggested solutions
but have yet to get past this. any additional suggestions or comments are appreciated.
Cheers

Try to read the readme.txt in the lib folder.
I have a oneWire.h, and have to install it in lib/oneWire.

Hi Frida, That’s the problem I am facing, I have read the Lib docs, and also been through a number of the discussion items related to the library her in the forum
presently in My project folder /lib directory the Utility functions library is installed, I upgraded to the 1.5X format by adding the src folder inside the library folder( read that in this forum) I have also included the line includes=UtilityFunctions.h inside of library.properties.
I have executed the Menu Platformio rebuild c++ files projects etc. I’ve updated the libraries, tried all the library related keyword and library folder locations inside platform_env in Platformio.ini.
Nothing seems to work, very frustrating. last attempt will be to move the 2 library componets in the source directory of my project folder, (Should not have to do this).
I have succesfully update the json files, included newest pubsub lib etc.etc,
Why can’t this simple 2 item folder be seen ?
This is very frustrating.

I have moved the library ‘components .h and .cpp files into my project src folder.
changes the #include from <> to ""
I am now getting through the compiler and have a list of compiler errors related to the usual c ‘type’ checking stuff (yuch)
it appears the librarian is just not recognizing some of the library folders for some reason. which is my initial issue.
Now the compiler errors:
is yellow a warning or an error,
this yellow verbiage comes during Linking.pioenvs\esp12e\firmware.elf
this is saying contents of my Utilty.Functions.o ( so it compiled? all yellow text
.pioenvs\esp12e\src\lib\UtilityFunctions\src\UtilityFunctions.o: In function powr(float, int)': UtilityFunctions.cpp:(.text._Z4powrfi+0x14): multiple definition ofpowr(float, int)’
.pioenvs\esp12e\src\lib\UtilityFunctions\UtilityFunctions.o:UtilityFunctions.cpp:(.text._Z4powrfi+0x14): first defined here
.pioenvs\esp12e\src\lib\UtilityFunctions\src\UtilityFunctions.o: In function reverse(char*, int)': UtilityFunctions.cpp:(.text._Z7reversePci+0x0): multiple definition ofreverse(char*, int)’
.pioenvs\esp12e\src\lib\UtilityFunctions\UtilityFunctions.o:UtilityFunctions.cpp:(.text._Z7reversePci+0x0): first defined here
.pioenvs\esp12e\src\lib\UtilityFunctions\src\UtilityFunctions.o: In function intToStr(int, char*, int)': UtilityFunctions.cpp:(.text._Z8intToStriPci+0xc): multiple definition ofintToStr(int, char*, int)’
.pioenvs\esp12e\src\lib\UtilityFunctions\UtilityFunctions.o:UtilityFunctions.cpp:(.text._Z8intToStriPci+0xc): first defined here
.pioenvs\esp12e\src\lib\UtilityFunctions\src\UtilityFunctions.o: In function ftoa(float, char*, int)': UtilityFunctions.cpp:(.text._Z4ftoafPci+0x24): multiple definition offtoa(float, char*, int)’
.pioenvs\esp12e\src\lib\UtilityFunctions\UtilityFunctions.o:UtilityFunctions.cpp:(.text._Z4ftoafPci+0x24): first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pioenvs\esp12e\firmware.elf] Error 1
any thoughts?
This is a 1800 + line Arduino conversion that does compile, upload and work on my target ESP8266. I need to break this program into smaller code files and make some libraries, the whole reason for being here in the first place.

I am having a very similar issue with including files in the lib directory - they are not found. If I use the full path in the #include statement, it seems to work. Any ideas on how to resolve this?

I have tried looking at this but I was unable to make any progress.
https://github.com/platformio/platformio-core/issues/195
https://github.com/platformio/platformio-core/issues/432

Please provide a verbose build output pio run -v

Running on OS X 10.12.1. processCommand.h and .cpp are in the lib directory. Works fine if I move them to the src directory.

[Wed Dec 14 10:22:41 2016] Processing teensy36 (platform: teensy, board: teensy36, framework: arduino)

Skip library with broken manifest: /Users/joeli/.platformio/packages/framework-arduinoteensy/libraries/PS2Keyboard
Collected 85 compatible libraries
Looking for dependencies...
Project does not have dependencies
arm-none-eabi-g++ -o .pioenvs/teensy36/src/main.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sections -fdata-sections -mt
humb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATFORMIO=30201 -D__MK66FX1M0
__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 -Isrc src/main.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/AudioStream.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sections
 -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATFORMIO

=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /Users/joe
li/.platformio/packages/framework-arduinoteensy/cores/teensy3/AudioStream.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/DMAChannel.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sections
-fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATFORMIO=
30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /Users/joel
i/.platformio/packages/framework-arduinoteensy/cores/teensy3/DMAChannel.cpp
src/main.cpp:2:28: fatal error: processCommand.h: No such file or directory
#include <processCommand.h>
^
compilation terminated.
*** [.pioenvs/teensy36/src/main.o] Error 1
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/HardwareSerial1.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sect
ions -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATFO
RMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /Users

It should like as lib/myLib/processCommand.h.

So, I was considering moving to PlatformIO IDE for the many features and advantages it has over the standard Arduino IDE. But, reading this one post is enough to turn me off. I have no interest in manually editing .ini files or using a CLI. This isn’t the 1970’s. Hopefully, the transition process from Arduino will be improved, after that there will be a mass migration to an IDE with these kind of features.

This topic is about custom library and custom library storages. You don’t need to edit multiple INI files. PlatformIO Project has SINGLE platformio.ini file (config) where you can customize your project.

We are agree that we need GUI for all features in PIO Core and we work in this direction. Nevertheless, it is not a difficult to specify dependencies for a project.

Thanks!

Ivan, it worked. I must have missed that somewhere. Sorry, I am new to PlatformIO and trying to learn as much as I can.

If I want to expand upon my custom libraries and organize them. How do I go about doing that? I created a “Test” directory in “myLib” and place my .h and .cpp files in there and it wasn’t able to find it. Is there something I need to do in the .ini file to configure it?

You should include it as #include <test/my.h>. myLib is a root. Also, you can add extra CPPPATH for your library and use without “test” prefix. However, that is not for beginners. You need library.json manifest in this case.

Is there a way to list out all the directories for the compiler to search without adding the path directly to the #include statement? Is that the library.json you were referring to?

Using myLib as root.

/ADC/Local
/ADC/Impl
/ADC/DriverIF
/PDUDisplay
/PDUDisplay/inc

You have different libraries and I can’t imagine why do you want to place them into the one directory and call it as “one library”. This approach brings you a lot of issues as you can see. Of course, with PIO you do what do you want even that workflow that you have described above.

To simplify project and make it easy for debugging I highly recommend to keep separate libraries in own folder. In this case, PIO will build them separately with incremental feature. If you need “deep” include from a library that is normal practice to write it as #include <DriverIF/extra.h>, if we talk about ADC library from your example above.

Nevertheless, if you want to create own library and make ALL folders/subfolders to be visible for C Preprocessor, you need Redirecting...

HI Ivan, was on the road yesterday, I have been reading the correspondence related to my original post.I altered the #include files so that all <> style includes are at the top and all local"" includes are at the bottom of the list in an effort to clean up the header.
I created a copy of my original project and started fresh this morning with the pio run - v
didn’t get too far.
PS L:\SOURCE_FILES\TESTSTUFF\web_server_mqtt_email.VER1.5> pio run -v
[12/15/16 11:11:11] Processing esp12e (platform: espressif8266, board: esp12e, framework: arduino)

Collected 24 compatible libraries
Looking for dependencies…

Library Dependency Graph
|-- v1.0 (C:\Users\Carl Home.platformio\packages\framework-arduinoespressif8266\libraries\Wire)
|-- v1.0 (C:\Users\Carl Home.platformio\packages\framework-arduinoespressif8266\libraries\esp8266)
|-- v1.0 (C:\Users\Carl Home.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi)
xtensa-lx106-elf-g++ -o .pioenvs\esp12e\src\web_server_mqtt_email_VER1.5.o -c -fno-rtti -fno-exceptions -std=c++11 -Os -mlongcalls -mtext-section-literals -falign-functions=4 -ffunction-sections -fdata-sections -DARDUINO=20300 -DLWIP_OPEN_SRC -DF_CPU=80000000L -D__ets__ -DICACHE_FLASH -DPLATFORMIO=30201 -DESP8266 -DARDU
INO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12 -U__STRICT_ANSI__ “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\lwip\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif82
66\cores\esp8266” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\variants\nodemcu” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\libraries\Wire” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\libraries\esp8266\src” “-IC:\users\Carl Home.p
latformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src” -Isrc src\web_server_mqtt_email_VER1.5.cpp
xtensa-lx106-elf-g++ -o .pioenvs\esp12e\FrameworkArduino\HardwareSerial.o -c -fno-rtti -fno-exceptions -std=c++11 -Os -mlongcalls -mtext-section-literals -falign-functions=4 -ffunction-sections -fdata-sections -DARDUINO=20300 -DLWIP_OPEN_SRC -DF_CPU=80000000L -D__ets__ -DICACHE_FLASH -DPLATFORMIO=30201 -DESP8266 -DARDUI
NO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12 -U__STRICT_ANSI__ “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\lwip\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif826
6\cores\esp8266” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\variants\nodemcu” "C:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\cores\esp8266\HardwareSerial.cpp"
xtensa-lx106-elf-g++ -o .pioenvs\esp12e\FrameworkArduino\IPAddress.o -c -fno-rtti -fno-exceptions -std=c++11 -Os -mlongcalls -mtext-section-literals -falign-functions=4 -ffunction-sections -fdata-sections -DARDUINO=20300 -DLWIP_OPEN_SRC -DF_CPU=80000000L -D__ets__ -DICACHE_FLASH -DPLATFORMIO=30201 -DESP8266 -DARDUINO_AR
CH_ESP8266 -DARDUINO_ESP8266_ESP12 -U__STRICT_ANSI__ “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\lwip\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\cor
es\esp8266” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\variants\nodemcu” "C:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\cores\esp8266\IPAddress.cpp"
xtensa-lx106-elf-g++ -o .pioenvs\esp12e\FrameworkArduino\MD5Builder.o -c -fno-rtti -fno-exceptions -std=c++11 -Os -mlongcalls -mtext-section-literals -falign-functions=4 -ffunction-sections -fdata-sections -DARDUINO=20300 -DLWIP_OPEN_SRC -DF_CPU=80000000L -D__ets__ -DICACHE_FLASH -DPLATFORMIO=30201 -DESP8266 -DARDUINO_A
RCH_ESP8266 -DARDUINO_ESP8266_ESP12 -U__STRICT_ANSI__ “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\tools\sdk\lwip\include” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\co
res\esp8266” “-IC:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\variants\nodemcu” "C:\users\Carl Home.platformio\packages\framework-arduinoespressif8266\cores\esp8266\MD5Builder.cpp"
src\web_server_mqtt_email_VER1.5.cpp:14:26: fatal error: PubSubClient.h: No such file or directory
#include <PubSubClient.h>
^
compilation terminated.
*** [.pioenvs\esp12e\src\web_server_mqtt_email_VER1.5.o] Error 1

the pubsub library is located in the arduino/sketchbook/libraries folder

Ivan , SUCCESSFUL COMPILE,LINK and LOAD.
This is what I found regarding the Library includes issue. I am not 100% convinced I fully understand the librarian, but here goes.
There were 4 #include header files out of 20 that pio took exception to:

LiquidCrystal_I2C-master
webserver
UtilityFunctions
PubSubClient

(ALL libraries are located in arduino/sketchbook/libraries folder)

in an attempt to help the Librarian to find the header files inside their associated library folders I added the 4 lines below to platform.ini identified by (me) after each edit compile cycle. ( I also performed an Atom-> menu-> platformio->rebuild before clciking the compile and save buttons.

platformio.ini looks like this:

[env:esp12e]
platform = espressif8266
board = esp12e
framework = arduino
(me)library = l:/User/Carl Home/My Documents/arduino/sketchbook/libraries
(me)lib_deps = PubSubClient
(me) L:/User/Carl Home/My Documents/arduino/sketchbook/libraries/ LiquidCrystal_I2C-master
(me) L: /User/Carl Home/My Documents/arduino/sketchbook/libraries/webserver

Questions:
(1) is the library = l:/User/Carl Home/My Documents/arduino/sketchbook/libraries a GLOBAL command to the librarian?
the librarian found PubSubClient but not LiquidCrystal_I2C-master and webserver
so I added the full path to LiquidCrystal_I2C-master and webserver
(2) Does each dependent library require it’s own lib_deps = ?

I also copied LiquidCrystal_I2C-master, webserver and UtilityFunctions into the project lib folder

PubSubClient was identified by the librarian.when I entered lib_dep = above.

I had a couple of other issues with the “webserver” library as it contained 3 header files only
I added a src folder and moved the headers into the src file.this is really just 3 header files there is no source code in it
The compiler still listed a " mem_manger.h no such file or directory" error even though this file is included in the “webserver” file in the project lib folder.

I did get a green success indication from pio so I clicked the upload arrow . A successful upload and hardware run.

I believe this is just part of the learning curve , No Pain No Gain :wink:

Could you advise on Questions 1 and 2

Doing the lib_deps did the trick for me. Thanks for the help guys.

[env:teensy36]
platform = teensy
board = teensy36
framework = arduino
lib_deps =
lib/FreeRTOS
lib/FreeRTOS/source
lib/FreeRTOS/source/include
lib/FreeRTOS/source/portable
lib/FreeRTOS/source/portable/GCC
lib/FreeRTOS/source/portable/GCC/ARM_CM4_MPU
lib/FreeRTOS/source/portable/MemMang

I don’t like this solution. PIO will install all these “paths” as separate libs each time. Could you provide pio run -v build output?

Lol, ok. I can appreciate that. I have two Teensy36 projects. The first project had no issues finding the libs. The output is below.

Sixteen-Candles:Teensy36 joeli$ pio run -v
[Thu Dec 15 20:11:26 2016] Processing teensy36 (platform: teensy, board: teensy36, framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Skip library with broken manifest: /Users/joeli/.platformio/packages/framework-arduinoteensy/libraries/PS2Keyboard
Collected 87 compatible libraries
Looking for dependencies...
Library Dependency Graph

|-- <HeartBeat> (/Users/joeli/Documents/Source/Teensy36/lib/HeartBeat)
|-- <Control> (/Users/joeli/Documents/Source/Teensy36/lib/Control)
arm-none-eabi-g++ -o .pioenvs/teensy36/firmware.elf -Os -Wl,--gc-sections,--relax -mthumb -mcpu=cortex-m4 -Wl,--defsym=__rtc_localtime=1481854287 -fsingle-precisi
on-constant --specs=nano.specs -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,-T"mk66fx1m0.ld" .pioenvs/teensy36/src/main.o -L/Users/joeli/.platformio/packages/framework-
arduinoteensy/cores/teensy3 -L.pioenvs/teensy36 -Wl,--start-group .pioenvs/teensy36/libFrameworkArduino.a -lm -lc -lgcc -larm_cortexM4l_math .pioenvs/teensy36/lib
/libHeartBeat.a .pioenvs/teensy36/lib/libControl.a -Wl,--end-group
arm-none-eabi-size -B -d .pioenvs/teensy36/firmware.elf
arm-none-eabi-objcopy -O ihex -R .eeprom .pioenvs/teensy36/firmware.elf .pioenvs/teensy36/firmware.hex
text       data     bss     dec     hex filename
18572       276    3244   22092    564c .pioenvs/teensy36/firmware.elf

Here is the second project having issues finding libs without the lib_deps. But it seems to know where they are now.

Sixteen-Candles:Teensy36_FreeRTOS joeli$ pio run -v
[Thu Dec 15 20:16:36 2016] Processing teensy36 (platform: teensy, board: teensy36, framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Skip library with broken manifest: /Users/joeli/.platformio/packages/framework-arduinoteensy/libraries/PS2Keyboard
Collected 105 compatible libraries
Looking for dependencies...
Warning! Circular dependencies detected between `/Users/joeli/Documents/Source/Teensy36_FreeRTOS/.piolibdeps/ARM_CM4_MPU` and `/Users/joeli/Documents/Source/Teens
y36_FreeRTOS/.piolibdeps/Library_3f76f`
Library Dependency Graph
|-- <Library_3f76f> (/Users/joeli/Documents/Source/Teensy36_FreeRTOS/.piolibdeps/Library_3f76f)
|   |-- <ARM_CM4_MPU> (/Users/joeli/Documents/Source/Teensy36_FreeRTOS/.piolibdeps/ARM_CM4_MPU)
arm-none-eabi-g++ -o .pioenvs/teensy36/src/main.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sections -fdata-sections
-mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATFORMIO=30201 -D__MK6
6FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 -I.piolibdeps/Library

_3f76f -I.piolibdeps/ARM_CM4_MPU -Isrc src/main.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/AudioStream.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-secti
ons -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLAT
FORMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /
Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3/AudioStream.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/DMAChannel.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sectio
ns -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATF
ORMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /U
sers/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3/DMAChannel.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/HardwareSerial1.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-s
ections -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -D
PLATFORMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teens
y3 /Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3/HardwareSerial1.cpp
In file included from .piolibdeps/Library_3f76f/FreeRTOS.h:98:0,
from src/main.cpp:2:
src/FreeRTOSConfig.h:64:23: error: "(" may not appear in macro parameter list
#define configASSERT( ( x ) ) if( ( x ) == 0 ) vAssertCalled( __FILE__, __LINE__ )
^
.piolibdeps/ARM_CM4_MPU/portmacro.h: In function 'void vPortRaiseBASEPRI()':
src/FreeRTOSConfig.h:60:50: error: 'dependent' was not declared in this scope
#define configMAX_SYSCALL_INTERRUPT_PRIORITY    [dependent on processor and application]
^
.piolibdeps/ARM_CM4_MPU/portmacro.h:291:32: note: in expansion of macro 'configMAX_SYSCALL_INTERRUPT_PRIORITY'
:"=r" (ulNewBASEPRI) : "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY )
^

Followed by more errors related to what I was working on vs. lib dependencies…

Yes, I see that in the output. If lib_deps is there, it installs the libs at every build.

Output after I cleaned up .piolibdeps.

Sixteen-Candles:Teensy36_FreeRTOS joeli$ pio run -v
[Thu Dec 15 20:53:51 2016] Processing teensy36 (platform: teensy, board: teensy36, framework: arduino)

------------------------------------------------------------------------------------------------------------------------------------------------------------------
Skip library with broken manifest: /Users/joeli/.platformio/packages/framework-arduinoteensy/libraries/PS2Keyboard
Collected 86 compatible libraries
Looking for dependencies...
Project does not have dependencies
arm-none-eabi-g++ -o .pioenvs/teensy36/src/main.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sections -fdata-sections
-mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATFORMIO=30201 -D__MK6
6FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 -Isrc src/main.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/AudioStream.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-secti
ons -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLAT
FORMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /
Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3/AudioStream.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/DMAChannel.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-sectio
ns -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -DPLATF
ORMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3 /U
sers/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3/DMAChannel.cpp
arm-none-eabi-g++ -o .pioenvs/teensy36/FrameworkArduino/HardwareSerial1.o -c -fno-exceptions -std=gnu++0x -felide-constructors -fno-rtti -g -Os -Wall -ffunction-s
ections -fdata-sections -mthumb -mcpu=cortex-m4 -nostdlib -fsingle-precision-constant -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DF_CPU=180000000L -DLAYOUT_US_ENGLISH -D
PLATFORMIO=30201 -D__MK66FX1M0__ -DTEENSY36 -DUSB_SERIAL -DARDUINO=10610 -DTEENSYDUINO=131 -I/Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teens
y3 /Users/joeli/.platformio/packages/framework-arduinoteensy/cores/teensy3/HardwareSerial1.cpp
src/main.cpp:2:22: fatal error: FreeRTOS.h: No such file or directory
#include <FreeRTOS.h>
^
compilation terminated.
*** [.pioenvs/teensy36/src/main.o] Error 1