New issue 2811: ropenssl.py incorrectly assumes presence of comp.h
https://bitbucket.org/pypy/pypy/issues/2811/ropensslpy-incorrectly-assumes-presence-of

Dominyk Tiller:

There's an erroneous assumption in `ropenssl.py` that the OpenSSL header 
`comp.h` will always be available, and consequently when that header isn't 
available the build can fail:

```
 File 
"/private/tmp/pypy-20180426-89170-ltfanb/pypy2-v6.0.0-src/rpython/rtyper/tool/rffi_platform.py",
 line 844, in configure_external_library
    raise last_error
[translation:ERROR] CompilationError: CompilationError(err="""
        
/private/tmp/pypy-20180426-89170-ltfanb/pypy2-v6.0.0-src/usession-release-pypy2.7-v6.0.0-0/platcheck_77.c:87:10:
 fatal error: 'openssl/comp.h' file not found
        #include <openssl/comp.h>
                 ^~~~~~~~~~~~~~~~
        1 error generated.
        """)
```

Whilst it is *usually* available, it is perfectly legitimate to build openssl 
with `no-comp` passed during compile, which apparently disables installing that 
header entirely. Homebrew, the macOS package manager, has recently switched its 
OpenSSL formula to build with `no-comp`, which has revealed this issue.

Normally in C you could wrap the header inclusion in something like `#ifndef 
OPENSSL_NO_COMP` but I'm not sure how to achieve that in Python.


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to