如何使用 msys 1.0 新软件包在 MinGW 中安装?

Posted

技术标签:

【中文标题】如何使用 msys 1.0 新软件包在 MinGW 中安装?【英文标题】:how to install in MinGW using msys 1.0 new packages? 【发布时间】:2016-03-23 03:46:45 【问题描述】:

我知道 Msys2 有用于安装/更新软件包的 pacman 我如何在 Msys 1.0 中做同样的事情?

我需要使用 Msys 1.0,因为 Windows 7 64 位终极版不支持 Msys2,这会导致 Cygwin7 dll 替换不匹配错误,我需要在 msys 1.0 上安装说 python 我该怎么做?

2 [main] pacman (21968) C:\msys64\usr\bin\pacman.exe: *** fatal error - cygheap base mismatch detected - 0x180326400/0x180327400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
35147604 [main] pacman 10420 fork: child -1 - forked process 21968 died unexpectedly, retry 0, exit code 0xC0000005, errno 11

在 Msys2 中我会这样做

pacman --noconfirm -Suy python2 make pkg-config mingw-w64-x86_64-glib2 mingw-w64-x86_64-toolchain

获取包裹

python2 
make 
pkg-config 
mingw-w64-x86_64-glib2 
mingw-w64-x86_64-toolchain

编辑:

看起来像 MinGW 安装管理器是唯一可行的方法,因为它有一个 GUI,所以它更好

我想我需要做的就是从 MSYS -> MSYS System Builder 选项卡 仅此而已

【问题讨论】:

【参考方案1】:

好的找到了如何解决cygwin1.dll不匹配问题的实际问题。 安装完成后不要加载 msys2 控制台 shell。

而是从您的 Windows 系统打开命令提示符并像这样使用它

C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Suy python2 make pkg-config mingw-w64-x86_64-glib2 mingw-w64-x86_64-toolchain"

输出看起来像这样

:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (20) make-4.1-4  mingw-w64-x86_64-binutils-2.26-21
              mingw-w64-x86_64-crt-git-5.0.0.4627.03684c4-1
              mingw-w64-x86_64-gcc-5.3.0-2  mingw-w64-x86_64-gcc-ada-5.3.0-2
              mingw-w64-x86_64-gcc-fortran-5.3.0-2
              mingw-w64-x86_64-gcc-libgfortran-5.3.0-2
              mingw-w64-x86_64-gcc-libs-5.3.0-2
              mingw-w64-x86_64-gcc-objc-5.3.0-2  mingw-w64-x86_64-gdb-7.11-1
              mingw-w64-x86_64-glib2-2.46.2-3
              mingw-w64-x86_64-headers-git-5.0.0.4627.53be55d-1
              mingw-w64-x86_64-libmangle-git-5.0.0.4509.2e5a9a2-1
              mingw-w64-x86_64-libwinpthread-git-5.0.0.4573.628fdbf-1
              mingw-w64-x86_64-make-4.1.2351.a80a8b8-1
              mingw-w64-x86_64-pkg-config-0.29.1-1
              mingw-w64-x86_64-tools-git-5.0.0.4592.90b8472-1
              mingw-w64-x86_64-winpthreads-git-5.0.0.4573.628fdbf-1
              pkg-config-0.28-2  python2-2.7.11-1

Total Installed Size:  591.03 MiB
Net Upgrade Size:        0.00 MiB

:: Proceed with installation? [Y/n]
(20/20) checking keys in keyring                   [#####################] 100%
(20/20) checking package integrity                 [#####################] 100%
(20/20) loading package files                      [#####################] 100%
(20/20) checking for file conflicts                [#####################] 100%
(20/20) checking available disk space              [#####################] 100%
:: Processing package changes...
( 1/20) reinstalling python2                       [#####################] 100%
( 2/20) reinstalling make                          [#####################] 100%
( 3/20) reinstalling pkg-config                    [#####################] 100%
( 4/20) reinstalling mingw-w64-x86_64-libwinpt...  [#####################] 100%
( 5/20) reinstalling mingw-w64-x86_64-gcc-libs     [#####################] 100%
( 6/20) reinstalling mingw-w64-x86_64-glib2        [#####################] 100%
No schema files found: doing nothing.
( 7/20) reinstalling mingw-w64-x86_64-binutils     [#####################] 100%
( 8/20) reinstalling mingw-w64-x86_64-headers-git  [#####################] 100%
( 9/20) reinstalling mingw-w64-x86_64-crt-git      [#####################] 100%
(10/20) reinstalling mingw-w64-x86_64-winpthre...  [#####################] 100%
(11/20) reinstalling mingw-w64-x86_64-gcc          [#####################] 100%
(12/20) reinstalling mingw-w64-x86_64-gcc-ada      [#####################] 100%
(13/20) reinstalling mingw-w64-x86_64-gcc-libg...  [#####################] 100%
(14/20) reinstalling mingw-w64-x86_64-gcc-fortran  [#####################] 100%
(15/20) reinstalling mingw-w64-x86_64-gcc-objc     [#####################] 100%
(16/20) reinstalling mingw-w64-x86_64-gdb          [#####################] 100%
(17/20) reinstalling mingw-w64-x86_64-libmangl...  [#####################] 100%
(18/20) reinstalling mingw-w64-x86_64-make         [#####################] 100%
(19/20) reinstalling mingw-w64-x86_64-pkg-config   [#####################] 100%
(20/20) reinstalling mingw-w64-x86_64-tools-git    [#####################] 100%

要使用它,您必须相应地设置 PATHS,不仅适用于 windows PATH,还适用于 bash 路径,/c/ 表示 C: 驱动器等。

SET PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;C:\Python27;%PATH%
echo %PATH%
sh.exe -c "export PATH=/c/msys64/mingw64/bin:/c/msys64/usr/bin:$PATH ; gcc -v"

【讨论】:

我遇到了“检测到 cygheap 基本不匹配”问题,“mkdir”用 mingw 用 netbeans 编译 c++。我错过了 PATH 中的“C:\msys64\usr\bin”,我猜这意味着它正在 cygwin64 文件夹中寻找“mkdir”。更正路径解决了问题。谢谢。

以上是关于如何使用 msys 1.0 新软件包在 MinGW 中安装?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 MSYS 的情况下将 gtkmm 与 MinGW (g++) 一起使用?

使用 PyInstaller 在 MSYS2/MinGW 中编译 GTK 软件的问题

如何阻止 NetBeans 使用 Cygwin bin 目录并使其使用 MSYS?

windows下用mingw编译linux项目

如何使用 msys (mingw32) 在 tcl 中转义字符串

如何安装 MinGW-w64 和 MSYS2?