[Cryptography-dev] Buildroot support

Paul Kehrer paul.l.kehrer at gmail.com
Tue Jan 26 22:19:26 EST 2016


This error: 

ImportError: /home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/_cffi_backend.so: wrong ELF class: ELFCLASS32 

suggests that the issue is with how cffi was compiled and not with cryptography. Looking further back in the output I see it says:

Installed /home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1/.eggs/cffi-1.5.0-py2.7-linux-x86_64.egg 

Did you accidentally copy an x86-64 compiled egg over to the system?

-Paul Kehrer (reaperhulk)
On January 26, 2016 at 9:12:01 PM, Mauro Condarelli (mc5686 at mclink.it) wrote:

Hi,  
I am trying to port cryptography to a Buildroot-based ARM system.  

Unfortunately basic cross-compilation fails with the message below.  
Since I am not a Python programmer and I just need Cryptography as a prerequisite for autobahn I am unable to understand what went wrong.  

It seems to me compilation is trying to use on Host (x86_64) a shared lib (/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/_cffi_backend.so) meant to run on Target (ARM).  

Can someone help, please?  

Thanks in Advance  
Mauro  

(cd /home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1//; PATH="/home/mcon/emotiq/new/Buildroot/output/host/bin:/home/mcon/emotiq/new/Buildroot/output/host/sbin:/home/mcon/emotiq/new/Buildroot/output/host/usr/bin:/home/mcon/emotiq/new/Buildroot/output/host/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" CC="/home/mcon/emotiq/new/Buildroot/output/host/usr/bin/arm-buildroot-linux-gnueabi-gcc" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O3 " LDFLAGS="" LDSHARED="/home/mcon/emotiq/new/Buildroot/output/host/usr/bin/arm-buildroot-linux-gnueabi-gcc -shared" PYTHONPATH="/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/sysconfigdata/:/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/" _python_sysroot=/home/mcon/emotiq/new/Buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot _python_prefix=/usr _python_exec_prefix=/usr  
/home/mcon/emotiq/new/Buildroot/output/host/usr/bin/python setup.py build --executable=/usr/bin/python )  

Installed /home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1/.eggs/cffi-1.5.0-py2.7-linux-x86_64.egg  
Searching for pycparser  
Reading https://pypi.python.org/simple/pycparser/  
Best match: pycparser 2.14  
Downloading https://pypi.python.org/packages/source/p/pycparser/pycparser-2.14.tar.gz#md5=a2bc8d28c923b4fe2b2c3b4b51a4f935  
Processing pycparser-2.14.tar.gz  
Writing /tmp/easy_install-OMTOyu/pycparser-2.14/setup.cfg  
Running pycparser-2.14/setup.py -q bdist_egg --dist-dir /tmp/easy_install-OMTOyu/pycparser-2.14/egg-dist-tmp-Oz3sRX  
warning: no previously-included files matching 'yacctab.*' found under directory 'tests'  
warning: no previously-included files matching 'lextab.*' found under directory 'tests'  
warning: no previously-included files matching 'yacctab.*' found under directory 'examples'  
warning: no previously-included files matching 'lextab.*' found under directory 'examples'  
zip_safe flag not set; analyzing archive contents...  
Moving pycparser-2.14-py2.7.egg to /home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1/.eggs  

Installed /home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1/.eggs/pycparser-2.14-py2.7.egg  
Traceback (most recent call last):  
File "setup.py", line 318, in <module>  
**keywords_with_side_effects(sys.argv)  
File "/home/mcon/emotiq/new/Buildroot/output/host/usr/lib/python2.7/distutils/core.py", line 111, in setup  
_setup_distribution = dist = klass(attrs)  
File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 272, in __init__  
File "/home/mcon/emotiq/new/Buildroot/output/host/usr/lib/python2.7/distutils/dist.py", line 287, in __init__  
self.finalize_options()  
File "build/bdist.linux-x86_64/egg/setuptools/dist.py", line 327, in finalize_options  
File "/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/cffi/setuptools_ext.py", line 161, in cffi_modules  
add_cffi_module(dist, cffi_module)  
File "/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/cffi/setuptools_ext.py", line 48, in add_cffi_module  
execfile(build_file_name, mod_vars)  
File "/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/cffi/setuptools_ext.py", line 24, in execfile  
exec(code, glob, glob)  
File "src/_cffi_src/build_openssl.py", line 98, in <module>  
extra_link_args=extra_link_args(compiler_type()),  
File "src/_cffi_src/utils.py", line 64, in build_ffi_for_binding  
extra_link_args=extra_link_args,  
File "src/_cffi_src/utils.py", line 72, in build_ffi  
ffi = FFI()  
File "/home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/cffi/api.py", line 56, in __init__  
import _cffi_backend as backend  
ImportError: /home/mcon/emotiq/new/Buildroot/output/target/usr/lib/python2.7/site-packages/_cffi_backend.so: wrong ELF class: ELFCLASS32  
package/pkg-generic.mk:195: recipe for target '/home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1/.stamp_built' failed  
make[1]: *** [/home/mcon/emotiq/new/Buildroot/output/build/python-cryptography-1.2.1/.stamp_built] Error 1  


_______________________________________________  
Cryptography-dev mailing list  
Cryptography-dev at python.org  
https://mail.python.org/mailman/listinfo/cryptography-dev  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cryptography-dev/attachments/20160126/6bd8b86a/attachment.html>


More information about the Cryptography-dev mailing list