[pypy-dev] Extending include path when translating?

Maciej Fijalkowski fijall at gmail.com
Sun Jan 27 15:47:16 CET 2013


On Sun, Jan 27, 2013 at 4:22 PM, Skip Montanaro <skip at pobox.com> wrote:
> I'm back messing around, trying to get PyPy going on Solaris.  I
> worked around one issue to get it to use the -std=c99 flag with GCC.
> I stumbled on a bug in ctypes/util.py and found a patch which solves
> that problem:
>
> http://bugs.python.org/issue5289
>
> My latest issue is slightly deeper in translation:
>
> [translation:WARNING] The module '_hashlib' is disabled
> [translation:WARNING] because importing pypy.module._ssl.interp_ssl
> raised CompilationError
> [translation:WARNING] CompilationError(out="""
> [translation:WARNING]       CompilationError(err="""
> [translation:WARNING]               platcheck_6.c:29:25: error:
> openssl/ssl.h: No such file or directory
> [translation:WARNING]               platcheck_6.c:30:25: error:
> openssl/err.h: No such file or directory
> [translation:WARNING]               platcheck_6.c:31:26: error:
> openssl/rand.h: No such file or directory
> [translation:WARNING]               platcheck_6.c:32:25: error:
> openssl/evp.h: No such file or directory
> [translation:WARNING]               platcheck_6.c:33:30: error:
> openssl/ossl_typ.h: No such file or directory
> [translation:WARNING]               platcheck_6.c:34:28: error:
> openssl/x509v3.h: No such file or directory
> [translation:WARNING]               """)""")
> [translation:WARNING] The module 'pyexpat' is disabled
> [translation:WARNING] because importing
> pypy.module.pyexpat.interp_pyexpat raised CompilationError
> [translation:WARNING] CompilationError(out="""
> [translation:WARNING]       CompilationError(err="""
> [translation:WARNING]               platcheck_7.c:29:19: error:
> expat.h: No such file or directory
> [translation:WARNING]               """)""")
> [translation:WARNING] The module '_ssl' is disabled
> [translation:WARNING] because importing pypy.module._ssl.interp_ssl
> raised CompilationError
> [translation:WARNING] CompilationError(out="""
> [translation:WARNING]       CompilationError(err="""
> [translation:WARNING]               platcheck_14.c:29:25: error:
> openssl/ssl.h: No such file or directory
> [translation:WARNING]               platcheck_14.c:30:25: error:
> openssl/err.h: No such file or directory
> [translation:WARNING]               platcheck_14.c:31:26: error:
> openssl/rand.h: No such file or directory
> [translation:WARNING]               platcheck_14.c:32:25: error:
> openssl/evp.h: No such file or directory
> [translation:WARNING]               platcheck_14.c:33:30: error:
> openssl/ossl_typ.h: No such file or directory
> [translation:WARNING]               platcheck_14.c:34:28: error:
> openssl/x509v3.h: No such file or directory
> [translation:WARNING]               """)""")
>
> I actually have OpenSSL and Expat available, but their headers aren't
> in standard locations like /usr/include.  Is there a way to extend the
> include search path (and probably library search path) so the
> translator can find them in their non-standard locations?

Yes. This should be sorted by translator/platform/solaris.py I would
say (that should include the correct paths). Generally it's in
ExternalCompilationInfo of libraries, so it would be in
pypy/module/pyexpat/interp_pyexpat.py at the top (which just uses
platform-dependent library paths)

>
> Thanks,
>
> Skip Montanaro
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev


More information about the pypy-dev mailing list