在Cygwin中编译PHP IMAP扩展:缺少U8T_CANONICAL?

时间:2012-12-12 01:33:54

标签: php cygwin php-extension

我已经在Windows 7 64位系统上成功安装了Cygwin。

我已经安装并编译了很多东西而没有任何问题。

  • 使用--with-imap and --with-imap-ssl选项编译PHP 5.4.9时发现错误。
  • 我在Cygwin中安装了c-client,它似乎安装在/usr/include/c-client
  • 然后我使用./configure将PHP的--with-imap=/usr/include/c-client指向该位置。

即使这样做,我在配置期间也会收到以下错误:

configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.

我找不到有关Cygwin的任何进一步信息。 Linux的大多数来源/信息都说这是因为缺少c-client,但在我的情况下,我安装了c-client。

这是因为PHP的IMAP扩展不支持Cygwin吗?有没有人在Cygwin上成功编译了PHP的IMAP扩展?


更新:刚刚从here下载了c-client,希望如果我自己编译它,我将获得所需的一切,包括libc-client.a

该软件包看起来很有前途,因为它包含了Cygwin的构建目标。但是,如果我运行make cyg,我最终会遇到此错误:

In file included from /usr/include/openssl/crypto.h:131,
                 from /usr/include/openssl/bio.h:69,
                 from /usr/include/openssl/x509v3.h:61,
                 from osdep.c:210:
/usr/include/openssl/ossl_typ.h:153: error: parse error before numeric constant
/usr/include/openssl/ossl_typ.h:199: error: parse error before numeric constant
In file included from /usr/include/openssl/x509v3.h:62,
                 from osdep.c:210:
/usr/include/openssl/x509.h:199:1: pasting "stack_st_" and "(" does not give a valid preprocessing token
In file included from /usr/include/openssl/x509v3.h:62,
                 from osdep.c:210:
/usr/include/openssl/x509.h:199: error: parse error before numeric constant
/usr/include/openssl/x509.h:210: error: parse error before numeric constant
/usr/include/openssl/x509.h:235: error: parse error before '(' token
/usr/include/openssl/x509.h:239: error: parse error before '}' token
/usr/include/openssl/x509.h:243: error: parse error before "X509_REQ_INFO"
/usr/include/openssl/x509.h:247: error: parse error before '}' token
/usr/include/openssl/x509.h:254: error: parse error before '(' token
/usr/include/openssl/x509.h:256: error: parse error before "LPCSTR"
/usr/include/openssl/x509.h:262: error: parse error before '}' token
/usr/include/openssl/x509.h:281: error: parse error before "X509_CINF"
/usr/include/openssl/x509.h:309: error: parse error before '}' token
/usr/include/openssl/x509.h:330: error: parse error before numeric constant
/usr/include/openssl/x509.h:453: error: parse error before '(' token
/usr/include/openssl/x509.h:459: error: parse error before '}' token
/usr/include/openssl/x509.h:464: error: parse error before "X509_CRL_INFO"
/usr/include/openssl/x509.h:484: error: parse error before '}' token
In file included from /usr/include/openssl/x509.h:600,
                 from /usr/include/openssl/x509v3.h:62,
                 from osdep.c:210:
/usr/include/openssl/x509_vfy.h:150: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:152: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:159: error: parse error before '}' token
/usr/include/openssl/x509_vfy.h:203: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:204: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:209: error: parse error before '}' token
/usr/include/openssl/x509_vfy.h:221: error: parse error before "X509_LOOKUP_METHOD"
/usr/include/openssl/x509_vfy.h:225: error: parse error before '}' token
/usr/include/openssl/x509_vfy.h:253: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:254: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:278: error: parse error before '}' token
/usr/include/openssl/x509_vfy.h:407: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:408: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:415: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:416: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:435: error: parse error before "X509_LOOKUP_METHOD"
/usr/include/openssl/x509_vfy.h:437: error: parse error before '*' token
/usr/include/openssl/x509_vfy.h:438: error: parse error before '*' token
/usr/include/openssl/x509_vfy.h:443: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:456: error: parse error before '*' token
/usr/include/openssl/x509_vfy.h:459: error: parse error before '(' token
/usr/include/openssl/x509_vfy.h:461: error: parse error before '(' token
In file included from /usr/include/openssl/x509.h:601,
                 from /usr/include/openssl/x509v3.h:62,
                 from osdep.c:210:
/usr/include/openssl/pkcs7.h:88: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:90: error: parse error before '}' token
/usr/include/openssl/pkcs7.h:95: error: parse error before "PKCS7_ISSUER_AND_SERIAL"
/usr/include/openssl/pkcs7.h:104: error: parse error before '}' token
/usr/include/openssl/pkcs7.h:104: error: parse error before "LPCSTR"
In file included from /usr/include/openssl/x509.h:601,
                 from /usr/include/openssl/x509v3.h:62,
                 from osdep.c:210:
/usr/include/openssl/pkcs7.h:106:1: pasting "stack_st_" and "(" does not give a valid preprocessing token
/usr/include/openssl/pkcs7.h:106: error: parse error before numeric constant
/usr/include/openssl/pkcs7.h:112: error: parse error before "PKCS7_ISSUER_AND_SERIAL"
/usr/include/openssl/pkcs7.h:116: error: parse error before '}' token
/usr/include/openssl/pkcs7.h:279: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:279: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:279: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:279: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:279: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:281: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:293: error: parse error before "LPCSTR"
/usr/include/openssl/pkcs7.h:293:1: pasting ")" and "_new" does not give a valid preprocessing token
/usr/include/openssl/pkcs7.h:293: error: parse error before numeric constant
/usr/include/openssl/pkcs7.h:293:1: pasting ")" and "_free" does not give a valid preprocessing token
/usr/include/openssl/pkcs7.h:293: error: parse error before "LPCSTR"
/usr/include/openssl/pkcs7.h:293:1: pasting "d2i_" and "(" does not give a valid preprocessing token
/usr/include/openssl/pkcs7.h:293:1: pasting "i2d_" and "(" does not give a valid preprocessing token
/usr/include/openssl/pkcs7.h:293: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:293: error: parse error before numeric constant
/usr/include/openssl/pkcs7.h:293:1: pasting ")" and "_it" does not give a valid preprocessing token
/usr/include/openssl/pkcs7.h:294: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:294: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:294: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:294: error: parse error before '*' token
/usr/include/openssl/pkcs7.h:314: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:316: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:317: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:322: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:323: error: parse error before '(' token
/usr/include/openssl/pkcs7.h:331: error: parse error before "LPCSTR"

....

此时,我不知道问题是使用openssl头还是libc-client。 我的OpenSSL版本为OpenSSL 1.0.1c 10 May 2012

任何意见都赞赏。

我尝试通过设置SSLTYPE = none来构建没有SSL,并且构建成功。但是,我需要SSL支持,所以我仍然试图找到一种使用SSL构建的方法。

0 个答案:

没有答案