我正在为Qt6 STM32MP157构建
Qt源代码下载v6.1.2平台:Ubuntu18.04.5LTS STM32 SDK版本: v2.0.0
对于主机来说,同样的构建成功了(生成qt主机工具),但是当我使用用于stm32mp157的工具链文件运行它时,syncqt.pl第55行的perl出错了:
use English qw(-no_match_vars );错误消息如下:
-- Running syncqt for module: 'QtCore'
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MEASUREMENT = "ur_PK",
LC_PAPER = "ur_PK",
LC_MONETARY = "ur_PK",
LC_NAME = "ur_PK",
LC_ADDRESS = "ur_PK",
LC_NUMERIC = "ur_PK",
LC_TELEPHONE = "ur_PK",
LC_IDENTIFICATION = "ur_PK",
LC_TIME = "ur_PK",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Can't locate English.pm in @INC (you may need to install the English module) (@INC contains: //usr/lib/perl5/site_perl/5.30.1 //usr/lib/perl5/vendor_perl/5.30.1 //usr/lib/perl5/5.30.1 /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/site_perl/5.30.1/x86_64-linux /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/site_perl/5.30.1 /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/vendor_perl/5.30.1/x86_64-linux /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/vendor_perl/5.30.1 /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/5.30.1/x86_64-linux /opt/st/stm32mp1/3.1-openstlinux-5.4-dunfell-mp1-20-06-24/sysroots/x86_64-ostl_sdk-linux/usr/lib/perl5/5.30.1 .) at /home/dyasin/repos/qt6/qtbase/libexec/syncqt.pl line 55.
BEGIN failed--compilation aborted at /home/dyasin/repos/qt6/qtbase/libexec/syncqt.pl line 55.
CMake Error at qtbase/cmake/QtModuleHelpers.cmake:206 (message):
Failed to run syncqt, return code: 2
Call Stack (most recent call first):
qtbase/src/corelib/CMakeLists.txt:29 (qt_internal_add_module)
-- Configuring incomplete, errors occurred!
See also "/home/dyasin/repos/qt6/build/CMakeFiles/CMakeOutput.log".
See also "/home/dyasin/repos/qt6/build/CMakeFiles/CMakeError.log".它无法加载English.pm
我注意到perl在为stm编译时使用了不同的版本。因此,构建系统使用SDK中的perl。而且STM没有English.pm。
我的问题是我们如何从主机系统中使用perl?
发布于 2021-07-07 07:10:27
是我的错。在我的工具链文件中,我重写了"CMAKE_PROGRAM_PATH“来查找SDK编译器和其他程序,我不得不调整它,以便它能够从主机系统中找到perl。
https://stackoverflow.com/questions/68280835
复制相似问题