Copyright © https://mongoose-os.com

Mongoose OS Forum

frame

Error: 'Makefile.build: No such file or directory' while doing local build on win7

This is what I am getting:

> Executing task: C:\_Progs\MgOS\mos.exe build --local <

Docker Toolbox detected
Docker Toolbox detected
The flag --repo is not given, going to use mongoose-os repository
Repository "D:\\Embedded\\_Development\\_IoT\\_Projects\\MgOS\\ESP8266\\demo-c\\deps\\mongoose-os" is dirty, leaving it intact

Sources: [D:\Embedded\_Development\_IoT\_Projects\MgOS\ESP8266\demo-c\src\main.c]
Include dirs: []
Binary libs: []
Building...
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c" to "/app"
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os" to "/mongoose-os"
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os" to "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os"
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build" to "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build"
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/src" to "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/src"
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/fs" to "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/fs"
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen" to "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen"
Docker arguments: run --name mos_build_2018-07-12T03-58-56-00_175021989 --rm -i -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen:/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c:/app -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os:/mongoose-os -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os:/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build:/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/src:/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/src -v /d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/fs:/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/fs docker.io/mgos/esp8266-build:2.2.1-1.5.0-r3 /bin/bash -c nice make '-j'
'8' '-C' '/app' '-f' '/mongoose-os/fw/platforms/esp8266/Makefile.build' 'all' 'APP=demo-c' 'APP_BIN_LIBS=' 'APP_CFLAGS=' 'APP_CONF_SCHEMA=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen/mos_conf_schema.yml' 'APP_CXXFLAGS=' 'APP_FS_FILES=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/fs/index.html' 'APP_INCLUDES=' 'APP_SOURCES=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/src/main.c' 'APP_VERSION=1.0' 'BUILD_DIR=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/objs' 'FFI_SYMBOLS=' 'FS_STAGING_DIR=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/fs' 'FW_DIR=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/fw' 'GEN_DIR=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen' 'MANIFEST_FINAL=/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/build/gen/mos_final.yml' 'MGOS_PATH=/mongoose-os' 'PLATFORM=esp8266'
make: /mongoose-os/fw/platforms/esp8266/Makefile.build: No such file or directory
make: *** No rule to make target '/mongoose-os/fw/platforms/esp8266/Makefile.build'.  Stop.
make: Entering directory '/app'
make: Leaving directory '/app'
Error: exit status 2

I believe that the problem is in the following line:
mount from "/d/Embedded/_Development/_IoT/_Projects/MgOS/ESP8266/demo-c/deps/mongoose-os" to "/mongoose-os"
Notice that all the target paths start with /d/ except this mount line.

Is this a problem with mos.exe?

Comments

  • Sambo007Sambo007 USA
    edited 7:13AM

    I finally got it solved!

    Now I have MgOS\ESP8266\demo-c compiling in VS Code under Win7!

    I did so many related low level things, during the past week, in order to get the local compilation working in Docker's virtual container; so I couldn't point my finger at the exact cause of the initial failure. Today I ran 'mos: Build (local)' to update 'MgOS\ESP8266\demo-c\build\gen\mos_final.yml' and it took a while (several mins) to come back. At first I thought VS Code hang up, and suddenly I saw this message in the terminal window: 'Firmware saved to build\fw.zip'. I ran 'Mongoose OS: Flash' and sure enough the LED started blinking :smiley:.

    Now I can move forward with evaluating the advertized nice features of MOS: OTA, Push-Notification, and .... Wish me luck!

    Cheers for real now...

  • The next better thing to do is to compile MOS projects local in VS Code without Docker, just as @scotthernandez tried to do a year ago: https://forum.mongoose-os.com/discussion/1214/build-locally-without-docker. I am not sure if he succeeded. It would be nice to know.

    PlatformIO-VS Code already supports Espressif ESP8266 Non-OS SDK, ESP8266 RTOS SDK, and ESP-IDF frameworks and the required Win based development tools (compilers and the rest). So I believe we need to figure out a way to merge or add MOS on top of the aforementioned frameworks.

    Cesanta, Mongoose-OS developer, is appreciated for providing the VS Code add-on/extension to be able to work on MOS projects with all the nice feature of VS Code offers: IntelliSense, quickly browse through the file dependencies, etc. Visual Studio Code - Code Editing. Redefined.

    I wish and hope Cesanta's guys continue their effort to add Mongoose-OS to PlatformIO. This will certainly help the less savvy developers get on board much quicker. I felt real pain during the last 7~8 days; but it was well worth it - I needed to refreshen my Unix/Linus old college days :blush:.

Sign In or Register to comment.