Hello.
How should I build gsl or esp_gsl to get libgslcblas.a under ESP32-IDF environment?
<esp_gsl>
https://components.espressif.com/compon ... anguage=en
thanks
How should I build gsl(GNU Scientific Library) to get libgslcblas.a under ESP32-IDF environment?
-
- Posts: 9730
- Joined: Thu Nov 26, 2015 4:08 am
Re: How should I build gsl(GNU Scientific Library) to get libgslcblas.a under ESP32-IDF environment?
Did you follow the 'How to use' on the page you linked?
Re: How should I build gsl(GNU Scientific Library) to get libgslcblas.a under ESP32-IDF environment?
Yes, but I got the error message
(1) idf.py add-dependency "leeebo/esp-gsl=*"
(2) idf.py create-project-from-example "leeebo/esp-gsl=*:test_project"
(3) idf.py fullclean
(4) idf.py build
(5) cd test_project
idf.py build
ninja: error: 'gsl_build/esp32s3/lib/libgslcblas.a', needed by 'test_project.elf', missing and no known rule to make it
Please see details below.
(1)
D:\test>idf.py add-dependency "leeebo/esp-gsl=*"
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: add-dependency
Created "d:\test\main\idf_component.yml"
Successfully added dependency "leeebo/esp-gsl=*" to component "main"
(2)
D:\test>idf.py create-project-from-example "leeebo/esp-gsl=*:test_project"
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: create-project-from-example
Example "test_project" successfully downloaded to d:\test\test_project
(3)
D:\test>idf.py fullclean
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: fullclean
Executing action: remove_managed_components
Done
(4)
D:\test>idf.py build
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: all (aliases: build)
Running cmake in directory d:\test\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=1 d:\test"...
-- Found Git: C:/Users/dalli/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
........................
Project build complete. To flash, run this command:
C:\Users\dalli\.espressif\python_env\idf4.4_py3.8_env\Scripts\python.exe C:\Users\dalli\esp-idf\components\esptool_py\esptool\esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0xe000 build\ota_data_initial.bin 0x10000 build\TestLibs.bin
or run 'idf.py -p (PORT) flash'
(5)
D:\test>idf.py build
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: all (aliases: build)
Running cmake in directory d:\test\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=1 d:\test"...
-- Found Git: C:/Users/dalli/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
(6)
D:\test>cd test_project
D:\test\test_project>idf.py build
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: all (aliases: build)
Running cmake in directory d:\test\eyetracker\testlibs211\test_project\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32s3 -DCCACHE_ENABLE=1 d:\test\eyetracker\testlibs211\test_project"...
-- Found Git: C:/Users/dalli/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/dalli/.espressif/tools/xtensa-esp32s3-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe
dalli/esp-idf/components/wifi_provisioning C:/Users/dalli/esp-idf/components/wpa_supplicant C:/Users/dalli/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: D:/test/test_project/build
Running ninja in directory d:\test\test_project\build
Executing "ninja all"...
ninja: error: 'gsl_build/esp32s3/lib/libgslcblas.a', needed by 'test_project.elf', missing and no known rule to make it
ninja failed with exit code 1
(1) idf.py add-dependency "leeebo/esp-gsl=*"
(2) idf.py create-project-from-example "leeebo/esp-gsl=*:test_project"
(3) idf.py fullclean
(4) idf.py build
(5) cd test_project
idf.py build
ninja: error: 'gsl_build/esp32s3/lib/libgslcblas.a', needed by 'test_project.elf', missing and no known rule to make it
Please see details below.
(1)
D:\test>idf.py add-dependency "leeebo/esp-gsl=*"
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: add-dependency
Created "d:\test\main\idf_component.yml"
Successfully added dependency "leeebo/esp-gsl=*" to component "main"
(2)
D:\test>idf.py create-project-from-example "leeebo/esp-gsl=*:test_project"
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: create-project-from-example
Example "test_project" successfully downloaded to d:\test\test_project
(3)
D:\test>idf.py fullclean
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: fullclean
Executing action: remove_managed_components
Done
(4)
D:\test>idf.py build
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: all (aliases: build)
Running cmake in directory d:\test\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=1 d:\test"...
-- Found Git: C:/Users/dalli/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
........................
Project build complete. To flash, run this command:
C:\Users\dalli\.espressif\python_env\idf4.4_py3.8_env\Scripts\python.exe C:\Users\dalli\esp-idf\components\esptool_py\esptool\esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 build\bootloader\bootloader.bin 0x8000 build\partition_table\partition-table.bin 0xe000 build\ota_data_initial.bin 0x10000 build\TestLibs.bin
or run 'idf.py -p (PORT) flash'
(5)
D:\test>idf.py build
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: all (aliases: build)
Running cmake in directory d:\test\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32 -DCCACHE_ENABLE=1 d:\test"...
-- Found Git: C:/Users/dalli/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
(6)
D:\test>cd test_project
D:\test\test_project>idf.py build
C:\Users\dalli\esp-idf\tools\check_python_dependencies.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
Executing action: all (aliases: build)
Running cmake in directory d:\test\eyetracker\testlibs211\test_project\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DIDF_TARGET=esp32s3 -DCCACHE_ENABLE=1 d:\test\eyetracker\testlibs211\test_project"...
-- Found Git: C:/Users/dalli/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/dalli/.espressif/tools/xtensa-esp32s3-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe
dalli/esp-idf/components/wifi_provisioning C:/Users/dalli/esp-idf/components/wpa_supplicant C:/Users/dalli/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: D:/test/test_project/build
Running ninja in directory d:\test\test_project\build
Executing "ninja all"...
ninja: error: 'gsl_build/esp32s3/lib/libgslcblas.a', needed by 'test_project.elf', missing and no known rule to make it
ninja failed with exit code 1
-
- Posts: 1708
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: How should I build gsl(GNU Scientific Library) to get libgslcblas.a under ESP32-IDF environment?
Steps 4+5:
gsl_build/esp32s3/lib/libgslcblas.a', needed by 'test_project.elf', missing
Apparently, the library is built for the ESP32 (steps 4/5) while the test project builds for the ESP32S3 in step 6. Then the ESP32S3 build cannot find the corresponding library for the S3 because it was never built.
Try in step #6:
but step 6:-DIDF_TARGET=esp32
->-DIDF_TARGET=esp32s3
gsl_build/esp32s3/lib/libgslcblas.a', needed by 'test_project.elf', missing
Apparently, the library is built for the ESP32 (steps 4/5) while the test project builds for the ESP32S3 in step 6. Then the ESP32S3 build cannot find the corresponding library for the S3 because it was never built.
Try in step #6:
Code: Select all
D:\test>cd test_project
D:\test\test_project>idf.py set-target esp32
D:\test\test_project>idf.py build
Who is online
Users browsing this forum: Majestic-12 [Bot] and 105 guests