2

構成スクリプトからの抜粋は、エラーが原因で失敗します。これは、iOS 5 が署名付きアプリKilled: 9 しか実行できないということです。したがって、これらのテストのどこに配置するかを見つける必要があります。問題はどこにあるかだけです。ldid -s

誰???

で失敗します

checking build system compiler gcc... no
checking build system compiler gcc -g -O2 ... no
checking build system compiler cc... no
checking build system compiler gcc... no
checking build system compiler c89... no
checking build system compiler c99... no
configure: error: Cannot find a build system compiler

およびconfig.log

onfigure:15586: gcc -c -g -O2  conftest.c >&5
configure:15586: $? = 0
configure:15586: result: yes
configure:15586: checking sys/time.h presence
configure:15586: gcc -E  conftest.c
configure:15586: $? = 0
configure:15586: result: yes
configure:15586: checking for sys/time.h
configure:15586: result: yes
configure:15677: checking build system compiler gcc
configure:15690: gcc conftest.c
conftest.c: In function 'main':
conftest.c:4: warning: incompatible implicit declaration of built-in function 'exit'
configure:15693: $? = 0
./configure: line 15675: 27218 Killed: 9               ./a.out
./configure: line 15695: ./b.out: No such file or directory
./configure: line 15695: ./a.exe: No such file or directory
./configure: line 15695: ./a_out.exe: No such file or directory
./configure: line 15695: ./conftest: No such file or directory
configure:15700: result: no
configure:15677: checking build system compiler gcc -g -O2
configure:15690: gcc -g -O2  conftest.c
conftest.c: In function 'main':
conftest.c:4: warning: incompatible implicit declaration of built-in function 'exit'
configure:15693: $? = 0
./configure: line 15675: 27234 Killed: 9               ./a.out
./configure: line 15695: ./b.out: No such file or directory
./configure: line 15695: ./a.exe: No such file or directory
./configure: line 15695: ./a_out.exe: No such file or directory
./configure: line 15695: ./conftest: No such file or directory
configure:15700: result: no

そして最後に ./configure スクリプト..

if test -n "$CC_FOR_BUILD"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system compiler $CC_FOR_BUILD" >&5
    $as_echo_n "checking build system compiler $CC_FOR_BUILD... " >&6; }
    # remove anything that might look like compiler output to our "||" expression
    rm -f conftest* a.out b.out a.exe a_out.exe
    cat >conftest.c <<EOF
    int
    main ()
    {
      exit(0);
    }
    EOF
    gmp_compile="$CC_FOR_BUILD conftest.c"
    cc_for_build_works=no
    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gmp_compile\""; } >&5
      (eval $gmp_compile) 2>&5
      ac_status=$?
      $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
      test $ac_status = 0; }; then
      if (./a.out || ./b.out || ./a.exe || ./a_out.exe || ./conftest) >&5 2>&1; then
        cc_for_build_works=yes
      fi
    fi
    rm -f conftest* a.out b.out a.exe a_out.exe
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cc_for_build_works" >&5
    $as_echo "$cc_for_build_works" >&6; }
    if test "$cc_for_build_works" = yes; then
      :
    else
      as_fn_error $? "Specified CC_FOR_BUILD doesn't seem to work" "$LINENO" 5
    fi

    elif test -n "$HOST_CC"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system compiler $HOST_CC" >&5
    $as_echo_n "checking build system compiler $HOST_CC... " >&6; }
    # remove anything that might look like compiler output to our "||" expression
    rm -f conftest* a.out b.out a.exe a_out.exe
    cat >conftest.c <<EOF
    int
    main ()
    {
      exit(0);
    }
4

1 に答える 1

1

最も単純なシェル スクリプト以外を読み取る能力が非常に低いことは認めざるを得ませんが、基本的には、実行可能ファイルを実行する前に偽のコード署名を行う必要があります。実行したい実行ファイルは という名前conftestのようですね。したがって、このブロックで署名してみてください。

if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$gmp_compile\""; } >&5
  (eval $gmp_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
  test $ac_status = 0; }; then

  #begin added code
  ldid -S ./conftest
  #end added code

  if (./a.out || ./b.out || ./a.exe || ./a_out.exe || ./conftest) >&5 2>&1; then
    cc_for_build_works=yes
  fi
fi

明らかにldid/usr/bin/ldid既存のPATH.

更新:以下のポスターのコメントによると、a.out実際には署名が必要な実行可能ファイルであり、conftest.

于 2012-09-16T20:59:08.710 に答える