Espruino build package error

Posted on
  • Hi,
    I want to add a module to the Espruino system and load it on a Puck.js device. The module is written in C and has to be compiled and linked with Espruino.
    For now, i just try to build Espruino, which i downloaded from GitHub, on a Linux machine (OpenSUSE 12.2). I run:

    make clean;DFU_UPDATE_BUILD=1 BOARD=PUCKJS RELEASE=1 make
    

    Compilation and link seams to be Ok in spite of minor warnings. The .lst .hex and .elf files are properly generated.
    I get an error in the package generation:

    ...
    GEN espruino_1v91.599_puckjs.lst
    GEN espruino_1v91.599_puckjs.hex
    Not merging softdevice or bootloader with application
    # nrfutil  pkg generate --help
    nrfutil pkg generate espruino_1v91.599_puckjs.zip --application espruino_1v91.599_puckjs.hex --application-version 0xff --hw-version 52 --sd-req 0x8C --key-file targets/nrf5x_dfu/dfu_private_key.pem
    Traceback (most recent call last):
      File "/usr/local/bin/nrfutil", line 5, in <module>
        from pkg_resources import load_entry_point
      File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2735, in <module>
        working_set.require(__requires__)
      File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 690, in require
        needed = self.resolve(parse_requirements(requirements))
      File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 588, in resolve
        raise DistributionNotFound(req)
    pkg_resources.DistributionNotFound: protobuf
    make: *** [espruino_1v91.599_puckjs.hex] Erreur 1
    make: *** Attente des tâches non terminées....
    

    Do you have an idea on this problem ? Is there any software component missing ?
    Thank you for your help.

  • It could be you're using too old a version of Python? I'm appear to be on Python 2.7.12 as the default that runs nrfutil.

    Not sure though - you could ask on the Nordic forums, nrfutil is their tool.

    Generally I build on debian-based systems, so something about the Python package in OpenSUSE could be causing you issues?

  • Is the build not finding protobuf (Google Protocol Buffers)?

    pkg_resources.DistributionNotFound: protobuf
    
  • How did you install nrfutil? Did you use the provision script?

    If you didn't use pip to install it (like the provision script does) then you may not have installed the dependencies it needs.

  • Thank you for your help. I think you're right, the problem is probably due to an installation or provision issue. This may be related to my version of Linux, witch is a bit old and not very stable. I will revue the installation process and check all the dependencies as soon as possible. I'll keep you informed.
    Again thanks a lot for your commitment and the quickness of your answers.

  • After correcting some installation issues, i can now correctly generate the .zip file and download to the PUCKJS device.
    Thank you for your advices.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Espruino build package error

Posted by Avatar for user75013 @user75013

Actions