modm: Problems using lbuild with windows
Hi all,
I’m trying to use modm under windows 10 with anaconda3 64bit. I’ve followed the steps in the installation page and found a few mistakes.
-
“conda install” command from anaconda can’t install github recipes like “pip install” can
-
pyelftools is not available from conda-forge thus I had to install it using pip
In order to solve this issues I used the following commands to procede with the installation:
conda create --name modm python=3 pip #this is needed because otherwise anaconda will use the global pip and not the one from the env
activate modm
conda install -c conda-forge git
pip install jinja2 scons future pyelftools git+https://github.com/modm-io/library-builder
After doing this I had to configure a .bat file to run the lbuild file inside Scripts, something simple like this:
@echo off
set scriptname=%~dp0%~n0
python "%scriptname%" %*
After doing this I cloned recursively the repository and I could call lbuild inside an example directory, but I got this error:
c:\modm\examples\stm32f4_discovery\blink (develop) (modm3) λ lbuild -v build [INFO] lbuild.module: Found module ‘cmsis’ [INFO] lbuild.module: Found module ‘core’ [INFO] lbuild.module: Found module ‘dsp’ [INFO] lbuild.module: Found module ‘fatfs’ [INFO] lbuild.module: Found module ‘freertos’ [INFO] lbuild.module: Found module ‘device’ [INFO] lbuild.module: Found module ‘ros’ [INFO] lbuild.module: Found module ‘device’ [INFO] lbuild.module: Found module ‘tlsf’ [INFO] lbuild.module: Found module ‘architecture’ [INFO] lbuild.module: Found module ‘accessor’ [INFO] lbuild.module: Found module ‘adc’ [INFO] lbuild.module: Found module ‘assert’ [INFO] lbuild.module: Found module ‘atomic’ [INFO] lbuild.module: Found module ‘block.device’ [INFO] lbuild.module: Found module ‘can’ [INFO] lbuild.module: Found module ‘clock’ [INFO] lbuild.module: Found module ‘delay’ [INFO] lbuild.module: Found module ‘gpio’ [INFO] lbuild.module: Found module ‘gpio.expander’ [INFO] lbuild.module: Found module ‘heap’ [INFO] lbuild.module: Found module ‘i2c’ [INFO] lbuild.module: Found module ‘i2c.device’ [INFO] lbuild.module: Found module ‘interrupt’ [INFO] lbuild.module: Found module ‘memory’ [INFO] lbuild.module: Found module ‘1-wire’ [INFO] lbuild.module: Found module ‘register’ [INFO] lbuild.module: Found module ‘spi’ [INFO] lbuild.module: Found module ‘spi.device’ [INFO] lbuild.module: Found module ‘uart’ [INFO] lbuild.module: Found module ‘unaligned’ [INFO] lbuild.module: Found module ‘board’ [INFO] lbuild.module: Found module ‘al-avreb-can’ [INFO] lbuild.module: Found module ‘arduino-uno’ [INFO] lbuild.module: Found module ‘black-pill’ [INFO] lbuild.module: Found module ‘blue-pill’ [INFO] lbuild.module: Found module ‘disco-f051r8’ [INFO] lbuild.module: Found module ‘disco-f072rb’ [INFO] lbuild.module: Found module ‘disco-f100rb’ [INFO] lbuild.module: Found module ‘disco-f303vc’ [INFO] lbuild.module: Found module ‘disco-f407vg’ [INFO] lbuild.module: Found module ‘disco-f429zi’ [INFO] lbuild.module: Found module ‘disco-f469ni’ [INFO] lbuild.module: Found module ‘disco-f746ng’ [INFO] lbuild.module: Found module ‘disco-f769ni’ [INFO] lbuild.module: Found module ‘disco-l476vg’ [INFO] lbuild.module: Found module ‘nucleo-f031k6’ [INFO] lbuild.module: Found module ‘nucleo-f042k6’ [INFO] lbuild.module: Found module ‘nucleo-f103rb’ [INFO] lbuild.module: Found module ‘nucleo-f303k8’ [INFO] lbuild.module: Found module ‘nucleo-f401re’ [INFO] lbuild.module: Found module ‘nucleo-f411re’ [INFO] lbuild.module: Found module ‘nucleo-f429zi’ [INFO] lbuild.module: Found module ‘nucleo-l432kc’ [INFO] lbuild.module: Found module ‘nucleo-l476rg’ [INFO] lbuild.module: Found module ‘olimexino-stm32’ [INFO] lbuild.module: Found module ‘stm32f030_demo’ [INFO] lbuild.module: Found module ‘communication’ [INFO] lbuild.module: Found module ‘ros’ [INFO] lbuild.module: Found module ‘sab’ [INFO] lbuild.module: Found module ‘sab2’ [INFO] lbuild.module: Found module ‘xpcc’ [INFO] lbuild.module: Found module ‘container’ [INFO] lbuild.module: Found module ‘debug’ [INFO] lbuild.module: Found module ‘driver’ [INFO] lbuild.module: Found module ‘ad7280a’ [INFO] lbuild.module: Found module ‘ad7928’ [INFO] lbuild.module: Found module ‘adc_sampler’ [INFO] lbuild.module: Found module ‘memory_bus’ [INFO] lbuild.module: Found module ‘lawicel’ [INFO] lbuild.module: Found module ‘mcp2515’ [INFO] lbuild.module: Found module ‘tcs3414’ [INFO] lbuild.module: Found module ‘tcs3472’ [INFO] lbuild.module: Found module ‘ea_dog’ [INFO] lbuild.module: Found module ‘hd44780’ [INFO] lbuild.module: Found module ‘max7219’ [INFO] lbuild.module: Found module ‘nokia5110’ [INFO] lbuild.module: Found module ‘parallel_tft_display’ [INFO] lbuild.module: Found module ‘sdl_display’ [INFO] lbuild.module: Found module ‘siemens_s65’ [INFO] lbuild.module: Found module ‘siemens_s75’ [INFO] lbuild.module: Found module ‘ssd1306’ [INFO] lbuild.module: Found module ‘mcp23x17’ [INFO] lbuild.module: Found module ‘pca8574’ [INFO] lbuild.module: Found module ‘pca9535’ [INFO] lbuild.module: Found module ‘hmc58x’ [INFO] lbuild.module: Found module ‘hmc6343’ [INFO] lbuild.module: Found module ‘itg3200’ [INFO] lbuild.module: Found module ‘l3gd20’ [INFO] lbuild.module: Found module ‘lis302dl’ [INFO] lbuild.module: Found module ‘lis3dsh’ [INFO] lbuild.module: Found module ‘lis3.transport’ [INFO] lbuild.module: Found module ‘lsm303a’ [INFO] lbuild.module: Found module ‘adns9800’ [INFO] lbuild.module: Found module ‘drv832x_spi’ [INFO] lbuild.module: Found module ‘vl53l0’ [INFO] lbuild.module: Found module ‘vl6180’ [INFO] lbuild.module: Found module ‘amsys5915’ [INFO] lbuild.module: Found module ‘bme280’ [INFO] lbuild.module: Found module ‘bmp085’ [INFO] lbuild.module: Found module ‘hclax’ [INFO] lbuild.module: Found module ‘max6966’ [INFO] lbuild.module: Found module ‘pca9685’ [INFO] lbuild.module: Found module ‘nrf24’ [INFO] lbuild.module: Found module ‘ds1302’ [INFO] lbuild.module: Found module ‘block.device’ [INFO] lbuild.module: Found module ‘file’ [INFO] lbuild.module: Found module ‘heap’ [INFO] lbuild.module: Found module ‘mirror’ [INFO] lbuild.module: Found module ‘spi.flash’ [INFO] lbuild.module: Found module ‘fat’ [INFO] lbuild.module: Found module ‘i2c.eeprom’ [INFO] lbuild.module: Found module ‘ds1631’ [INFO] lbuild.module: Found module ‘ds18b20’ [INFO] lbuild.module: Found module ‘lm75’ [INFO] lbuild.module: Found module ‘ltc2984’ [INFO] lbuild.module: Found module ‘tmp102’ [INFO] lbuild.module: Found module ‘tmp175’ [INFO] lbuild.module: Found module ‘ads7843’ [INFO] lbuild.module: Found module ‘ft6x06’ [INFO] lbuild.module: Found module ‘ft245’ [INFO] lbuild.module: Found module ‘io’ [INFO] lbuild.module: Found module ‘math’ [INFO] lbuild.module: Found module ‘matrix’ [INFO] lbuild.module: Found module ‘filter’ [INFO] lbuild.module: Found module ‘geometry’ [INFO] lbuild.module: Found module ‘interpolation’ [INFO] lbuild.module: Found module ‘saturated’ [INFO] lbuild.module: Found module ‘utils’ [INFO] lbuild.module: Found module ‘platform’ [INFO] lbuild.module: Found module ‘adc’ [INFO] lbuild.module: Found module ‘adc’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘3’ [INFO] lbuild.module: Found module ‘adc’ [INFO] lbuild.module: Found module ‘canusb’ [INFO] lbuild.module: Found module ‘can.common’ [INFO] lbuild.module: Found module ‘can’ [INFO] lbuild.module: Found module ‘socketcan’ [INFO] lbuild.module: Found module ‘can’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘clock’ [INFO] lbuild.module: Found module ‘clock.cortex’ [INFO] lbuild.module: Found module ‘clock’ [INFO] lbuild.module: Found module ‘clock’ [INFO] lbuild.module: Found module ‘comp’ [INFO] lbuild.module: Found module ‘core’ [INFO] lbuild.module: Found module ‘core’ [INFO] lbuild.module: Found module ‘core’ [INFO] lbuild.module: Found module ‘dma’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘fault.cortex’ [INFO] lbuild.module: Found module ‘fsmc’ [INFO] lbuild.module: Found module ‘gpio’ [INFO] lbuild.module: Found module ‘gpio.common’ [INFO] lbuild.module: Found module ‘gpio’ [INFO] lbuild.module: Found module ‘gpio’ [INFO] lbuild.module: Found module ‘gpio’ [INFO] lbuild.module: Found module ‘i2c’ [INFO] lbuild.module: Found module ‘i2c.bitbang’ [INFO] lbuild.module: Found module ‘i2c’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘3’ [INFO] lbuild.module: Found module ‘i2c’ [INFO] lbuild.module: Found module ‘i2c’ [INFO] lbuild.module: Found module ‘id’ [INFO] lbuild.module: Found module ‘1-wire.bitbang’ [INFO] lbuild.module: Found module ‘random’ [INFO] lbuild.module: Found module ‘spi’ [INFO] lbuild.module: Found module ‘spi_uart’ [INFO] lbuild.module: Found module ‘spi.bitbang’ [INFO] lbuild.module: Found module ‘spi’ [INFO] lbuild.module: Found module ‘spi’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘3’ [INFO] lbuild.module: Found module ‘uart.spi’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘3’ [INFO] lbuild.module: Found module ‘6’ [INFO] lbuild.module: Found module ‘spi’ [INFO] lbuild.module: Found module ‘timer’ [INFO] lbuild.module: Found module ‘timer’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘8’ [INFO] lbuild.module: Found module ‘6’ [INFO] lbuild.module: Found module ‘7’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘3’ [INFO] lbuild.module: Found module ‘4’ [INFO] lbuild.module: Found module ‘5’ [INFO] lbuild.module: Found module ‘9’ [INFO] lbuild.module: Found module ‘10’ [INFO] lbuild.module: Found module ‘11’ [INFO] lbuild.module: Found module ‘12’ [INFO] lbuild.module: Found module ‘13’ [INFO] lbuild.module: Found module ‘14’ [INFO] lbuild.module: Found module ‘timer’ [INFO] lbuild.module: Found module ‘uart’ [INFO] lbuild.module: Found module ‘uart’ [INFO] lbuild.module: Found module ‘uart’ [INFO] lbuild.module: Found module ‘uart’ [INFO] lbuild.module: Found module ‘4’ [INFO] lbuild.module: Found module ‘5’ [INFO] lbuild.module: Found module ‘1’ [INFO] lbuild.module: Found module ‘2’ [INFO] lbuild.module: Found module ‘3’ [INFO] lbuild.module: Found module ‘6’ [INFO] lbuild.module: Found module ‘uart’ [INFO] lbuild.module: Found module ‘processing’ [INFO] lbuild.module: Found module ‘protothread’ [INFO] lbuild.module: Found module ‘resumable’ [INFO] lbuild.module: Found module ‘rtos’ [INFO] lbuild.module: Found module ‘scheduler’ [INFO] lbuild.module: Found module ‘timer’ [INFO] lbuild.module: Found module ‘button’ [INFO] lbuild.module: Found module ‘color’ [INFO] lbuild.module: Found module ‘ui’ [INFO] lbuild.module: Found module ‘animation’ [INFO] lbuild.module: Found module ‘display’ [INFO] lbuild.module: Found module ‘gui’ [INFO] lbuild.module: Found module ‘led’ [INFO] lbuild.module: Found module ‘menu’ [INFO] lbuild.module: Found module ‘time’ [INFO] lbuild.module: Found module ‘utils’ [INFO] lbuild.module: Found module ‘stdc++’ [INFO] lbuild.module: Found module ‘unittest’ [INFO] lbuild.module: Found module ‘test’ [INFO] lbuild.module: Found module ‘architecture’ [INFO] lbuild.module: Found module ‘communication’ [INFO] lbuild.module: Found module ‘container’ [INFO] lbuild.module: Found module ‘driver’ [INFO] lbuild.module: Found module ‘io’ [INFO] lbuild.module: Found module ‘math’ [INFO] lbuild.module: Found module ‘platform’ [INFO] lbuild.module: Found module ‘gpio’ [INFO] lbuild.module: Found module ‘spi’ [INFO] lbuild.module: Found module ‘processing’ [INFO] lbuild.module: Found module ‘ui’ [INFO] lbuild.module: Found module ‘stdc++’ [INFO] lbuild.module: Found module ‘build’ [INFO] lbuild.module: Found module ‘cmake’ [INFO] lbuild.module: Found module ‘scons’ [INFO] lbuild.module: Found module ‘docs’ [INFO] lbuild.module: Found module ‘generator’
[INFO] lbuild.parser: Selected modules: modm:board:disco-f407vg, modm:build:scons [INFO] lbuild.module: Prepare for build modm:platform:gpio [INFO] lbuild.module: Prepare for build modm:cmsis:device [INFO] lbuild.module: Build modm:platform:spi:1
ERROR: Failed to retrieve Template: src\modm\platform\spi\stm32\spi_hal.hpp.in
The file spi_hal.hpp.in is in my directory structure and I can’t understand what’s the problem, I tryed running again the lbuild build command and it got stuck at this point this time:
ERROR: Failed to retrieve Template: src\modm\platform\i2c\stm32\i2c_master.cpp.in
This is my python environment and python version:
c:\modm\examples\stm32f4_discovery\blink (develop) (modm3) λ pip list Package Version
certifi 2018.8.13 future 0.16.0 gitdb2 2.0.4 GitPython 2.1.11 Jinja2 2.10 lbuild 0.1 lxml 4.2.4 MarkupSafe 1.0 pip 18.0 pyelftools 0.24 scons 3.0.1 setuptools 40.0.0 smmap2 2.0.4 wheel 0.31.1 wincertstore 0.2
c:\modm\examples\stm32f4_discovery\blink (develop) (modm3) λ python Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 11:48:23) [MSC v.1900 64 bit (AMD64)] on win32 Type “help”, “copyright”, “credits” or “license” for more information.
I hope this will help getting a better windows support.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 15 (11 by maintainers)
Yes, with that PR there is no need to the .bat.
Hi again,
I did some debugging and found that Jinja2 doesn’t like the \ path separator. I’ll try to craft a fix and push it in a PR.