Skip to content

How to build 6plusv2-integration branch? #22

@silbe

Description

@silbe

I'd like to give adding InkPlate 10 v2 (MCP23017 replaced by PCAL6416) support a try now that support for 6PLUS v2 (also using PCAL6416) has been added. As a first step I'm trying to build the 6PLUS v2 release from source (without changes for 10 v2 support).

What are the steps (including initial setup) to build EPub-InkPlate?

Based on some poking around my guess is something like the following, but something still isn't right (see below for details):

git clone -b 6plusv2-integration https://github.com/turgu1/EPub-InkPlate.git
git clone -b 6plusv2-integration https://github.com/turgu1/ESP-IDF-InkPlate.git
git clone -b v5.3.1 --recurse-submodules https://github.com/espressif/esp-idf.git esp/esp-idf

( cd esp/esp-idf && ./install.sh esp32 )

sed -i -e "s#/home/turgu1/Dev/#${HOME}/#" EPub-InkPlate/CMakeLists.txt

( . ~/esp/esp-idf/export.sh && cd EPub-InkPlate && ./bld_release.sh "$(git describe --tags |cut -c 2- )" 6plusv2 0 )

The builds fails with the following error:

/home/sascha/EPub-InkPlate/src/models/epub.cpp: In member function 'int16_t EPub::get_item_count()':
/home/sascha/EPub-InkPlate/src/models/epub.cpp:1060:32: error: no matching function for call to 'distance(pugi::xml_named_node_iterator, pugi::xml_named_node_iterator)'
 1060 |   int16_t count = std::distance(it.begin(), it.end());
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/string:47,
                 from /home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/locale_classes.h:40,
                 from /home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/ios_base.h:41,
                 from /home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/ios:44,
                 from /home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/ostream:40,
                 from /home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/iostream:41,
                 from /home/sascha/EPub-InkPlate/components/global/src/global.hpp:9,
                 from /home/sascha/EPub-InkPlate/src/models/epub.hpp:6,
                 from /home/sascha/EPub-InkPlate/src/models/epub.cpp:6:
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h:148:5: note: candidate: 'template<class _InputIterator> constexpr typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::distance(_InputIterator, _InputIterator)'
  148 |     distance(_InputIterator __first, _InputIterator __last)
      |     ^~~~~~~~
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h:148:5: note:   template argument deduction/substitution failed:
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h: In substitution of 'template<class _InputIterator> constexpr typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::distance(_InputIterator, _InputIterator) [with _InputIterator = pugi::xml_named_node_iterator]':
/home/sascha/EPub-InkPlate/src/models/epub.cpp:1060:32:   required from here
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h:148:5: error: no type named 'difference_type' in 'struct std::iterator_traits<pugi::xml_named_node_iterator>'
/home/sascha/EPub-InkPlate/src/models/epub.cpp:1064:26: error: no matching function for call to 'distance(pugi::xml_named_node_iterator, pugi::xml_named_node_iterator)'
 1064 |     count = std::distance(it.begin(), it.end());
      |             ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h:148:5: note: candidate: 'template<class _InputIterator> constexpr typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::distance(_InputIterator, _InputIterator)'
  148 |     distance(_InputIterator __first, _InputIterator __last)
      |     ^~~~~~~~
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h:148:5: note:   template argument deduction/substitution failed:
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h: In substitution of 'template<class _InputIterator> constexpr typename std::iterator_traits< <template-parameter-1-1> >::difference_type std::distance(_InputIterator, _InputIterator) [with _InputIterator = pugi::xml_named_node_iterator]':
/home/sascha/EPub-InkPlate/src/models/epub.cpp:1064:26:   required from here
/home/sascha/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20240530/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/bits/stl_iterator_base_funcs.h:148:5: error: no type named 'difference_type' in 'struct std::iterator_traits<pugi::xml_named_node_iterator>'

Do I need a different version of esp-idf?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions