首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Github Actions windows msys2上,configure找不到icu

在Github Actions windows msys2上,configure找不到icu
EN

Stack Overflow用户
提问于 2021-03-06 05:00:41
回答 2查看 102关注 0票数 0

windows-latest上的Github操作中,我使用以下命令调用脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C:\msys64\msys2_shell.cmd -mingw64 -defterm -here -full-path -no-start -shell bash scripts/cibw_before_all_windows.sh

我不明白所有的标志是什么意思,所以可能是其中一个标志错了。cibw_before_all_windows.sh脚本如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pacman -S --noconfirm --needed  \
           bison  \
           flex  \
           icu-devel  \
           swig

export CPPFLAGS="-I/c/msys2/usr/include ${CPPFLAGS}"
export LDFLAGS="-L/c/msys2/usr/lib ${LDFLAGS}"
export PATH="/c/msys2/usr/bin/:${PATH}"
export PKG_CONFIG_PATH="/c/msys2/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"


cd hfst_src/
autoreconf -fvi
./configure --with-unicode-handler=icu
make
make check V=1 VERBOSE=1
make install
cd ..

python setup.py build_ext

该脚本在./configure --with-unicode-handler=icu上失败,并显示以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
...
  checking for ld used by g++... C:/msys64/mingw64/x86_64-w64-mingw32/bin/ld.exe
  checking if the linker (C:/msys64/mingw64/x86_64-w64-mingw32/bin/ld.exe) is GNU ld... yes
  checking whether the g++ linker (C:/msys64/mingw64/x86_64-w64-mingw32/bin/ld.exe) supports shared libraries... yes
  checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
  checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
  checking if g++ static flag -static works... yes
  checking if g++ supports -c -o file.o... yes
  checking if g++ supports -c -o file.o... (cached) yes
  checking whether the g++ linker (C:/msys64/mingw64/x86_64-w64-mingw32/bin/ld.exe) supports shared libraries... yes
  checking dynamic linker characteristics... Win32 ld.exe
  checking how to hardcode library paths into programs... immediate
  checking for gawk... (cached) gawk
  checking how to run the C preprocessor... gcc -E
  checking for bison... bison -y
  checking for flex... flex
  checking for lex output file root... lex.yy
  checking for lex library... none needed
  checking for library containing yywrap... no
  checking whether yytext is a pointer... yes
  checking for getopts... false
  checking for a Python interpreter with version >= 3.0... python
  checking for python... /mingw64/bin/python
  checking for python version... 3.8
  checking for python platform... win32
  checking for python script directory... ${prefix}/lib/python3.8/site-packages
  checking for python extension module directory... ${exec_prefix}/lib/python3.8/site-packages
  configure: WARNING: Building hfst successfully requires flex newer than 2.5.33 on some platforms. Unless you are building with pre-flex-generated sources, building will probably fail.
  checking whether ln -s works... no, using cp -pR
  checking whether make sets $(MAKE)... (cached) yes
  checking for doxygen... no
  checking for main in -ldl... no
  checking for main in -lpthread... yes
  checking for main in -lm... yes
  checking for ncurses.h... no
  checking for curses.h... no
  checking for termcap.h... yes
  checking for tgetent in -ltermcap... yes
  checking for icu-config... /usr/bin/icu-config
  checking for pkg-config... /mingw64/bin/pkg-config
  ### icu-config: Can't find /usr/lib/msys-icuuc68.dll - ICU prefix is wrong.
  ###      Try the --prefix= option 
  ###      or --detect-prefix
  ###      (If you want to disable this check, use  the --noverify option)
  ### icu-config: Exitting.
  expr: syntax error: unexpected argument '50'
  configure: error: in `/d/a/hfst-python/hfst-python/hfst_src':
  configure: error: --with-unicode-handler=icu requested but icu>=50 not found
  See `config.log' for more details
  Error: Command C:\msys64\msys2_shell.cmd -mingw64 -defterm -here -full-path -no-start -shell bash scripts/cibw_before_all_windows.sh failed with code 1. None

从输出中看,configure似乎找不到我全新安装的flexbisonicu。如何让configure查看来自pacman的安装?有没有更好的方法来解决这个问题?

编辑

pacman安装的版本是...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bison-3.7.4-1
flex-2.6.4-1
icu-devel-68.2-1
swig-4.0.2-1

我说它看不到我的flexbison的原因是它抱怨configure: WARNING: Building hfst successfully requires flex newer than 2.5.33 on some platforms. Unless you are building with pre-flex-generated sources, building will probably fail.。由于pacman的flex版本是flex-2.6.4-1,我假设configure在系统的其他地方找到了不同的版本。这让我怀疑它也没有找到任何其他依赖项的pacman版本。

EN

回答 2

Stack Overflow用户

发布于 2021-03-06 08:46:37

pacman为这些包安装.pc文件的位置添加到环境变量PKG_CONFIG_PATH

票数 0
EN

Stack Overflow用户

发布于 2021-03-06 15:13:46

从输出中可以看出,configure无法找到全新安装的flex、bison和icu。

不,这看起来一点也不像问题。configure输出显示它看到了Flex、Bison和ICU:

正在检查野牛...bison -y正在检查flex...flex

..。

正在检查icu-config.../usr/bin/icu-config

诊断输出由来自icu-configconfigure的消息组成

ICU -config:找不到/usr/lib/msys-icuuc68.dll -ICU前缀错误。请尝试使用-- ### =选项###或-- ### -prefix ### (如果您想禁用此检查,请使用--noverify选项)退出icu-config:退出。expr:语法错误:意外参数'50‘configure: error: in /d/a/hfst-python/hfst-python/hfst\_src': configure: error: --with-unicode-handler=icu requested but icu>=50 not found Seeconfig.log’有关更多详细信息

关键问题似乎是您的ICU安装损坏了,这将是您安装它的(pacman)包的问题。icu-config程序应该属于该包,如果它找不到或无法识别其他包组件,那么它要么是完全损坏的,要么是与包的其余部分不匹配。在您的控制下更直接地针对msys2安装进行验证是值得的,但是假设您可以这样做,则应该将其作为打包错误提出。我猜这会被用于msys2项目。

configure的诊断结果看起来像是icu-config故障的后续结果,这本身可能不是问题。

如何配置才能从pacman查看安装?

它能看到它们。它们就是坏了(无论如何,icu-devel包是坏的)。

有没有更好的方法来解决这个问题?

我认为你的方法总体上是好的。我建议您在将其设置为GitHub操作之前,在本地msys2安装上进行测试。对于您目前面临的问题,一种可能的解决方法是向pacman询问每个包的特定已知良好版本,而不是让它选择最新的可用版本。因为这样做会使您的构建更具可重复性,所以您可能会认为这是对您的方法的改进。

或者,icu-config输出提供了一些其他可能性,特别是将--detect-prefix选项或--noverify选项添加到icu-config命令行。这将在configure中完成,如果它真的解决了问题,那么它可能比等待通过msys2的进程解决问题要快得多(没有针对Msys2的问题;只是这些事情需要时间)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66502556

复制
相关文章
在 Fedora CoreOS 上运行 GitHub Actions | Linux 中国 Linux中国
GitHub Actions 是一项为快速建立持续集成和交付(CI/CD)工作流程而提供的服务。这些工作流程在被称为“ 运行器(runner)”的主机上运行。GitHub 提供的 托管运行器 的操作系统的选择是有限的(Windows Server、Ubuntu、MacOS)。
用户8639654
2021/10/11
1.3K0
【翻译】.NET 💜 GitHub Actions: .NET 的 GitHub Actions 简介
原文 https://devblogs.microsoft.com/dotnet/dotnet-loves-github-actions/
晓晨
2022/05/07
8760
【翻译】.NET 💜 GitHub Actions: .NET 的 GitHub Actions 简介
GitHub Actions 指南
GitHub Actions 使你可以直接在你的 GitHub 库中创建自定义的工作流,工作流指的就是自动化的流程,比如构建、测试、打包、发布、部署等等,也就是说你可以直接进行 CI(持续集成)和 CD (持续部署)。
凌虚
2020/07/20
1K0
Github 的actions重试
github 的 actions 中运行失败,重试步骤(或整个作业) 1.Github actions 解决办法 .github / workflows / test.yml name: test on: [push] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with:
leader755
2022/03/09
7550
在线调试Github Actions
Github Action提供了便捷的流水线能力,但是对于较为复杂的场景,只能依靠不断试错来定位和解决Action报错,效率非常低下。网上也有人提供了基于tmate的远程调试方案,但该方案也存在着一些不足。本文尝试提供一些其它的解决方案。
drunkdream
2022/08/15
1.6K0
GitHub Actions使用入门
GitHub Actions 是由GitHub在2018年推出的一款持续集成的服务方案,对于GitHub上托管的开源项目来说比较友好,集成使用简单,个人感觉比 Travis-CI 玩法要更多,而且还是可以自己去编写Actions在构建的过程中使用。
恒宇少年
2020/08/10
7010
github actions 那些事儿
GitHub Actions 是一个可以让您轻松管理自动化所有软件工作流程,从 GitHub 构建、测试和部署您的代码的一套工具,它让代码审查、分支管理和问题分类以您想要的方式工作。它是现在世界上非常流行的 CI/CD 工具。
程序那些事儿
2023/03/07
4350
github actions 那些事儿
.NET Github Actions 入门
Github Actions 是 Github 提供的一种持续集成(CI)和持续部署(CD)工具,可以自动化代码开发、测试、构建和部署的过程。它可以在代码仓库中通过配置文件来定义工作流程(Workflow),包括触发事件、执行任务和处理结果等。这些工作流程可以与Github仓库的其他功能(如Issues、Pull Requests等)集成,也可以使用第三方工具进行扩展。
晓晨
2023/03/08
5180
.NET Github Actions 入门
prow-github-actions
prow-github-actions和Kubernetes Prow不是一个东西,prow-github-actions是受Kubernetes Prow启发而写的,是个Github Action。可以理解成是个适用于个人的轻量版的prow。
后端云
2022/11/25
3560
prow-github-actions
phpstudy8在windows2016上安装后在服务列表找不到服务
phpstudy最新版用了mysql8.0,安装之前先安装VC库http://www.pc6.com/softview/SoftView_104246.html
Windows技术交流
2019/12/31
2.6K0
使用Github Actions 动态更新Github主页
我在Github的用户名为zhaoolee,如果我在Github中建立一个名为zhaoolee的仓库,那zhaoolee仓库中READNE.md的内容,便会展现到github主页顶部。更有趣的是,如果给仓库编写一个脚本,就可以利用Github Actions自动更新主页的内容。
zhaoolee
2021/01/29
1.3K0
突破限制!!!尝试Github Actions
用过Gitlab的同学基本上都了解过Gitlab持续集成与持续部署,Gitlab CICD是通过自管理的一些Runner按照声明式的的配置清单实现持续集成的自动化任务,利用Github Actions可以自动化管理、构建、部署托管在Github上的代码,当然你可以用它自动化管理和部署你的博客,无需人为干预,也可以利用Actions帮你拉取一些国内拉不到的镜像等,功能有了,至于怎么使用就看个人了,前面我写了几篇关于Gitlab CICD的实践文章以及在Kubernetes上如何使用Gitlab CICD,大家有兴趣的可以前来审校:
公众号: 云原生生态圈
2020/12/29
1.3K0
突破限制!!!尝试Github Actions
github actions 注册使用流程
有一种常见的情况:你创建了一个网站并且已经准备运行了。这一切都在 GitHub 上。但是你还没 真正完成 。你需要准备部署。你需要准备一个处理程序来为你运行测试,你不用总是手动运行命令。理想情况下,每一次你推送到 master 分支,所有东西都会在某个地方为你自动运行:测试,部署……以前,只有很少的选项可以帮助解决这个问题。你可能需要把其他服务集中,设置,并和 GitHub 整合。你也可以写 post-commit hooks,这也会有帮助。
golangLeetcode
2022/08/02
4860
github actions 注册使用流程
学习记录-github-actions
感谢 其实非常感谢阮一峰老师给予的帮助 作用 我的理解actions 与grunt相似,都是对代码进行任务分解形成一个工作流,简单的说可以实现git上面的代码测试,打包,发布 jenkins区别 个人感觉jenkins功能更加强大一点,支持的场景更多,毕竟一个是基于git而jekins是整个工具链 流程演练 本地 执行 vue ui  新建一个vue项目 添加git action默认文件夹考过去就能用  github.com/fodelf/gitA…(里面是actions核心执行文件) 在package.j
吴文周
2020/10/15
3650
为什么Github上找不到Docker的源码
Docker最初是dotCloud公司Solomon Hykes在法国期间发起的一个公司内部项目。2013.3月以 Apache 2.0协议开源。
运维部落
2020/04/27
4.1K0
glib:windows下基于MSYS2环境编译glib2的过程
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/80399355
10km
2019/05/25
3.4K0
GitHub Actions,卧槽!牛批!
前段时间我更新了我的分布式爬虫管理框架—— Gerapy(话都说到这儿了打个广告,跟繁琐的命令行说拜拜!Gerapy分布式爬虫管理框架来袭!,哇,哇,就是,哇!)
崔庆才
2019/12/11
1.5K0
GitHub Actions 还能这么玩?
最近实现了一个很有意思的 Workflow,就是通过 GitHub Actions 自动将每次最新发布的文章自动同步到我的 GitHub 首页。
Peter Shen
2021/12/02
7620
GitHub Actions 还能这么玩?
GitHub Actions构建Docker镜像
本教程假定您知道docker的工作原理,并有一个使用它的项目。确保您Dockerfile 在项目的根文件夹中。这里使用的示例项目是一个非常基本的项目,只有一个Python文件。完整的代码可以从github仓库中下载。
DevOps云学堂
2020/05/22
2.5K0
GitHub Actions构建Docker镜像
Github Actions Hexo 自动部署
最近重装了电脑,近几年内每次重装也好,装备新电脑也好,越来越觉得维护博客是令我比较头疼的事
imba久期
2022/12/16
4670
Github Actions Hexo 自动部署

相似问题

在Github Actions上安装后找不到我的python模块

155

无法在linux上安装GitHub actions runner

368

Ruby在WIndows MSYS2中找不到函数

114

Windows上的Msys2和Clang :找不到iostream文件

14

使用MSYS2 / MinGW 64 - ICU头构建

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文