配置冻结在"检查GCC使用的ld" - MSYS2

时间:2015-10-15 01:10:12

标签: bash gcc configure msys2

我最近遇到了两个开源项目(GNU GetText和W3M)的配置步骤问题。

两个项目的配置步骤都在同一个地方失败。

检查GCC使用的ld ......

系统详情:

  • 操作系统:Windows 10 Pro 64位
  • MSYS2
  • gcc --version:gcc.exe(Rev4,由MSYS2项目建立)5.2.0
  • gcc -dumpmachine:x86_64-w64-mingw32
  • bash --version:GNU bash,版本4.3.42(2)-release(x86_64-pc-msys)

关于可能导致此问题的任何想法?

以下是配置用于执行此测试的代码。

  # Check if gcc -print-prog-name=ld gives a path.
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
$as_echo_n "checking for ld used by GCC... " >&6; }
  case $host in
  *-*-mingw*)
    # gcc leaves a trailing carriage return which upsets mingw
    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
  *)
    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
  esac
  case $ac_prog in
    # Accept absolute paths.
    [\\/]* | [A-Za-z]:[\\/]*)
      re_direlt='/[^/][^/]*/\.\./'
      # Canonicalize the path of ld
      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
      done
      test -z "$LD" && LD="$ac_prog"
      ;;
  "")
    # If it fails, then pretend we aren't using GCC.
    ac_prog=ld
    ;;
  *)
    # If it is relative, then search for the first ld in PATH.
    with_gnu_ld=unknown
    ;;
  esac

我添加了调试代码以确定问题的确切位置。它发生在调用grep的while循环中。

1 个答案:

答案 0 :(得分:0)

我不知道为什么,但我发现以下软件包干扰了configure。

  • 的mingw-W64-i686的-grep的
  • 的mingw-W64-i686的-sed的
  • 的mingw-W64-x86_64的-grep的
  • 的mingw-W64-x86_64的-sed的

这些包似乎已过时。当我删除它们时,配置工作。