System 0.7 + local compiler not building user application

With the release of system firmware 0.7 for production, I am attempting to migrate our firmware from targeting 0.6.2 to 0.7.0, and am having issues.

We use the local compiler + Eclipse setup as described by @rickkas7 in the FAQ: https://docs.particle.io/faq/particle-tools/local-build/photon/#building

The issue I’m seeing is that after updating my system firmware repo to 0.7, it doesn’t appear to compile most of my user application source. The built binary is ~4.6K in size, compared to ~91K with 0.6.2.

Our project directory structure is similar to the layout described in the FAQ -

- app
    - src
        - main.cpp
        - other files...
    - build.mk
- system

We use the APPDIR env variable to point to the /app directory. The system folder is a git clone of the particle system firmware, checked out to a specific release branch. We are using arm compiler 5.3.1.

The only thing I’m doing to switch between 0.6.2 and 0.7.0 is going into my system firmware folder and doing a git checkout release/v0.7.0. If I do that, it stops traversing my user application source and I get the small binary. If I go back and do a git checkout release/0.6.2 I get the normal fully-working binary again.

I looked through the 0.7.0 changelogs and didn’t see anything that talked about changes to the compilation process - do I need to change anything for 0.7.0, perhaps my build.mk?

I ran builds in both 0.6.2 and 0.7.0 with make -d enabled and when it goes to build the user-part it looks like both builds traverse my app’s build.mk - but in 0.7.0 it basically just stops there, while in 0.6.2 after parsing the build.mk it traverses to my entire app tree.

Thanks in advance for any help!
Andrew

We’re still stuck on this issue, any ideas out there? Has anyone successfully migrated a 0.6.2 project to 0.7.0 with the offline compiler?

Just for curiosity, have you tried your project using the Desktop IDE ?

I just tested with the files I used to write the example in the link above (originally tested with 0.6.1) and they appear to work properly with 0.7.0.

Are you actually using the features of the build.mk, such as adding in additional include directories? If not, it’s not necessary to have a custom builld.mk.

Make sure you delete the target directory in APPDIR when changing system firmware versions. Also do a make clean PLATFORM=xxx for the platform you are targeting.

Other than that, you should look carefully at the output from the build and make sure it’s compiling all of your files. You can also look the .map file in your target directory in APPDIR and make sure that all of your symbols are in it. If not, there could be a problem with how APPSOURCES is being generated in your build.mk.

I’m hitting this issue.
Our custom makefile sets up CPPSRC and CSRC with our source files, but not APPSOURCES.
When adding our custom source to both APPSOURCES and CPPSRC we get “multiple definition issues”.

What should I add to APPSOURCES and what should go in CPPSRC?
This is also an issue building 1.0.1 for us. None of our code is linked properly.
Note: Seems to not be a problem for 0.5.3 or 0.6.4.