首页 > 编程问答 >./configure for emacs 无法在 MSYS2 上找到程序

./configure for emacs 无法在 MSYS2 上找到程序

时间:2024-06-03 20:54:15浏览次数:29  
标签:windows makefile emacs compilation msys2

我试图在 Windows 11 上的 MYSY2 中使用源代码本地编译构建 emacs,第一次尝试时,在运行 ./configure 时收到了一些警告,尽管如此,我还是尝试继续,然后调用了 make 和 make install,就我所见,我没有发现任何错误,但该过程没有在任何地方生成任何可执行文件。

然后,在使用 make distclean 清理了之前的尝试后,我再次尝试,但现在看来必要的程序已经不在 $PATH 中了,因为现在尝试运行 ./configure 会出现找不到任何编译器的错误。为了解决这个问题,我简单地输入了 packman -S gcc 之后,./configure 找到了 gcc。/但运行 pacman -S mingw-w64-x86_64-imagemagick,却发现我已经安装了 imagemagick。

现在它给出了一个错误,说要使用本地编译构建,我需要 zlib,但通过 pacman -S mingw-w64-x86_64-zlib 检查,它也说我已经安装了 zlib,它一直给出错误,然后我决定运行 packman -S zlib ,它在安装或重新安装软件包时起了作用(我不确定),但我一直收到关于缺少 zlib 库的错误。

由此看来,已安装的库和程序似乎已从 $PATH 中删除。事实上,再看看我得到的结果,我似乎应该使用 mingw-w64-x86_64-gcc 软件包,而不是简单的 gcc。在第一次使用 ./configure 之前,我就已经安装了 mingw-w64-x86_64-gcc,当时我正在设置构建 emacs 所需的工具(就像我安装 mingw-w64-x86_64-zlib 和 mingw-w64-x86_64-imagemagick 一样)。事实上,在运行 ./configure 时,它会检查 mingw-w64-x86_64-gcc,但没有找到,只找到了我在运行 make distclean 后安装的 gcc。

如何才能让 ./configure 找到制作 MAKEFILE 所需的程序和库呢?


看起来你在 MSYS2 中构建 Emacs 时遇到了路径和软件包管理方面的问题。 以下是解决这些问题的步骤:

1. MSYS2 环境问题

  • 路径问题: 你的问题很可能是因为 MSYS2 的 shell 没有正确设置 PATH 环境变量,导致无法找到已安装的程序。

    • 每次启动 MSYS2 shell 时,都要确保使用正确的快捷方式(例如 "MSYS2 MinGW 64-bit"),以便加载正确的环境变量。
    • 在 MSYS2 shell 中,运行 echo $PATH ,确认路径中包含了 /mingw64/bin 等必要目录。如果没有,可以手动添加到 .bashrc .zshrc 文件中: bash echo 'export PATH=$PATH:/mingw64/bin' >> ~/.bashrc source ~/.bashrc
  • 包管理器: 你在使用 packman 而不是 pacman 。确保使用正确的命令来管理软件包。

2. 重新安装关键软件包

  • 为了确保所有必要的库和头文件都安装正确,建议重新安装以下软件包: bash pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-zlib mingw-w64-x86_64-imagemagick make
  • 确保安装了所有 Emacs 依赖的软件包。参考 Emacs 的 INSTALL 文件获取完整的依赖列表。

3. 配置和构建 Emacs

  • 再次运行 ./configure 。这次它应该可以找到所有必要的程序和库。
  • 如果 ./configure 成功,运行 make 进行编译,然后运行 make install 进行安装。

其他建议:

  • 在开始构建之前,请确保你使用的是最新版本的 MSYS2 以及所有软件包。运行 pacman -Syu 进行更新。
  • 如果问题仍然存在,尝试参考 Emacs 官方网站或社区论坛寻求帮助。

希望这些步骤能帮助你在 MSYS2 上成功构建 Emacs!

标签:windows,makefile,emacs,compilation,msys2
From: 78565671

相关文章

  • 关闭华为手机连接windows自动弹出的驱动助手
    关闭华为手机连接windows自动弹出的文件夹驱动助手手机连接电脑充电,Windows自动弹出驱动助手,类似文件管理的文件夹,每次都要关掉,忍不住吐槽实在是太烦了关掉类似文件管理的文件夹关闭服务法在“我的电脑”或“此电脑”上右键点击,选择“管理”。在打开的“计算机管理”......
  • 02windows系统查看当前目录下文件夹大小
      #运行powershell复制下面命令执行Get-ChildItem-Directory|ForEach-Object{$folder=$_$totalSize=(Get-ChildItem-Path$folder.FullName-Recurse|Measure-Object-PropertyLength-Sum).Sum$sizeInGB="{0:N2}"-f($totalSiz......
  • Windows 隐式加载任意目录下动态库的方法
    windows平台下,dll的加载方式分为显式加载和隐式加载。隐式加载需要在程序链接期间指定依赖库的名称、路径等信息,程序运行时由系统自动进行处理;显式加载则是直接调用系统APILoadLibrary/FreeLibrary来加载或卸载dll模块。通常情况下,这两种方式可以处理绝大多数的应用需求。......
  • windows下python源码编译构建grpc【填各种坑】
    背景首先这是巨坑,pipinstallgrpcio和pipinstallgrpcio_tools的方式,因为公司的库里没有,且申请入库复杂,因此只能通过源码构建。思路第一步,应该是要去找grpc的源码,公司是有源码的,也可以在PIPY上找,比如我需要1.41.1的grpc版本,就如下地址https://pypi.org/project/......
  • 在 Windows 10 中全局安装 tree 命令
    在Windows10中全局安装tree命令的步骤如下:1.下载TreeforWindows工具包。可以从官方网站https://gnuwin32.sourceforge.net/packages/tree.htm下载最新版本的Binaries.zip压缩包。2.解压下载的Binaries.zip压缩包。在解压后的文件夹中,找到bin目录,里面有一个......
  • CMakeFile.txt通过sysroot方式后生成makefile报错
    怪不得博客园干不过别家,体验真的不太好。通过openwrite发布文章,其他平台都能发布,就博客园限制了,理由是文字少的文章限制发布到该平台。哎,这种行为当真是扶不起的阿斗。以后也不要太把博客园当回事了,迟早要关门的报错信息如下:--TheCcompileridentificationisunknown--T......
  • 更改Windows11/10自带的微软拼音输入法的“候选词字体”
    候选字体开启半全角切换快捷键自定义短语自定义短语符号名称符号快捷短语引号「」yh单引号『』yh全角空格×2  kk叉(乘号)×cha六角括号〔〕ljkh超级管理员默认用户名administratoradmin......
  • C# 模拟http请求出现 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作[windo
    系统里面用到C#模拟Http请求,上线到服务器后,发现日志中大量出现“由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作”或“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”运行netstat-ano发现有大量的Tcp链接,怀疑可能是服务器各种请求太多了导致的服务器是w......
  • windows系统的基本命令
    软件系统软件DOS(DiskOperatingSystem硬盘操作系统),Windows,Linux,Unix,Mac,Android,ios应用软件WPS,QQ,微信,LOL,绝地求生Windows常用快捷键ctrl+C:复制ctrl+V:粘贴ctrl+A:全选ctrl+X:剪切ctrl+Z:撤销ctrl+S:保存Alt+F4:关闭窗口shift+delete:永久删除windows+E:打开资源管理器wi......
  • 【ARM-Linux篇】Makefile入门
    一、编译工具及构建工具介绍make的出现是为了解决手动编译和链接大型工程的问题,它可以避免重复的工作,提高效率,保证正确性。make工具就根据makefile中的命令进行编译和链接的。但是当工程非常大的时候,手写makefile也是非常麻烦的,如果换了个平台makefile又要重新修改,因此更高级......