ZLIB=`pwd`/zlib
OPENSSL=`pwd`/openssl
LIBSSH=`pwd`/libssh2
#wget -O curl-7.32.0.tar.gz http://curl.haxx.se/download/curl-7.32.0.tar.gz
tar zxf curl-7.32.0.tar.gz
cd curl-7.32.0/
./configure --host=arm-linux-gnueabi --disable-shared --disable-debug --disable-curldebug CFLAGS="-I$PWD/../openssl/include" LDFLAGS="-L$PWD/../openssl/usr/lib"
make clean && make
sed -i -e "s|\${exec_prefix}/lib/libcurl.a||g" curl-config
chmod a+x curl-config
LIBCURL=`pwd`
cd ..
#wget -O setuptools-1.1.tar.gz https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.tar.gz
tar zxf setuptools-1.1.tar.gz
#wget -O pycurl-7.19.0.tar.gz http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz
tar zxf pycurl-7.19.0.tar.gz
cd pycurl-7.19.0/
sed -i -e "s|from distutils.core import setup|from setuptools import setup|g" setup.py
CC=arm-linux-gnueabi-gcc LDSHARED="arm-linux-gnueabi-gcc -pthread -shared " PYTHONPATH=../setuptools-1.1 /usr/bin/python setup.py build_ext --openssl-dir=$OPENSSL --curl-config=$LIBCURL/curl-config -I$LIBCURL/include -L$LIBCURL/lib/.libs
#CC=arm-linux-gnueabi-gcc LDSHARED='arm-linux-gnueabi-gcc -shared ' PYTHONPATH=../setuptools-1.1 /usr/bin/python setup.py build_ext --openssl-dir=$OPENSSL --curl-config=$LIBCURL/curl-config -I$LIBCURL/include -L$LIBCURL/lib/.libs
arm-linux-gnueabi-strip build/lib.linux-i686-2.7/pycurl.so
cd ..
ZLIB=`pwd`/zlib
OPENSSL=`pwd`/openssl
LIBSSH=`pwd`/libssh2
#wget -O curl-7.32.0.tar.gz http://curl.haxx.se/download/curl-7.32.0.tar.gz
tar zxf curl-7.32.0.tar.gz
cd curl-7.32.0/
./configure --host=arm-linux-gnueabi --disable-shared --disable-debug --disable-curldebug CFLAGS="-I$PWD/../openssl/include" LDFLAGS="-L$PWD/../openssl/usr/lib"
make clean && make
sed -i -e "s|\${exec_prefix}/lib/libcurl.a||g" curl-config
chmod a+x curl-config
LIBCURL=`pwd`
cd ..
#wget -O setuptools-1.1.tar.gz https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.tar.gz
tar zxf setuptools-1.1.tar.gz
#wget -O pycurl-7.19.0.tar.gz http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz
tar zxf pycurl-7.19.0.tar.gz
cd pycurl-7.19.0/
sed -i -e "s|from distutils.core import setup|from setuptools import setup|g" setup.py
CC=arm-linux-gnueabi-gcc LDSHARED="arm-linux-gnueabi-gcc -pthread -shared " PYTHONPATH=../setuptools-1.1 /usr/bin/python setup.py build_ext --openssl-dir=$OPENSSL --curl-config=$LIBCURL/curl-config -I$LIBCURL/include -L$LIBCURL/lib/.libs
#CC=arm-linux-gnueabi-gcc LDSHARED='arm-linux-gnueabi-gcc -shared ' PYTHONPATH=../setuptools-1.1 /usr/bin/python setup.py build_ext --openssl-dir=$OPENSSL --curl-config=$LIBCURL/curl-config -I$LIBCURL/include -L$LIBCURL/lib/.libs
arm-linux-gnueabi-strip build/lib.linux-i686-2.7/pycurl.so
cd ..
from:http://www.droboports.com/python-packages/pycurl-7-19-0
pycURL-7.19.0
OverviewpycURL requirescURL, and thereforezlib,OpenSSL, andlibssh. It is pretty straight forward to cross-compile. PreparationMake sure you have a cross-compiling virtual machine properly setup. Then, make sure you have a completecross-compiled Python available in the VM. Compilationcd ~/code . ~/bin/crosscompile.drobo5n.sh export DEST=/mnt/DroboFS/Shares/DroboApps/python2 export CFLAGS="$CFLAGS -Os -fPIC -ffunction-sections -fdata-sections" export LDFLAGS="$LDFLAGS -Wl,--gc-sections" wget -O zlib-1.2.8.tar.gz http://zlib.net/zlib-1.2.8.tar.gz tar zxf zlib-1.2.8.tar.gz cd zlib-1.2.8/ ./configure --prefix=$DEST --static make clean && make ZLIB=`pwd` cd .. wget -O openssl-1.0.1e.tar.gz http://www.openssl.org/source/openssl-1.0.1e.tar.gz tar zxf openssl-1.0.1e.tar.gz cd openssl-1.0.1e/ ./Configure --prefix=$DEST --openssldir=$DEST/etc/ssl --with-zlib-include=$ZLIB --with-zlib-lib=$ZLIB no-shared no-zlib-dynamic threads linux-armv4 -DL_ENDIAN $CFLAGS $LDFLAGS make -j1 clean && make -j1 OPENSSL=`pwd` cd .. wget -O libssh2-1.4.3.tar.gz http://www.libssh2.org/download/libssh2-1.4.3.tar.gz tar zxf libssh2-1.4.3.tar.gz cd libssh2-1.4.3/ ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --with-openssl --with-libz --disable-shared CPPFLAGS="-I$ZLIB -I$OPENSSL/include" LDFLAGS="$LDFLAGS -L$ZLIB -L$OPENSSL" LIBS="-ldl" make clean && make LIBSSH=`pwd` cd .. wget -O curl-7.32.0.tar.gz http://curl.haxx.se/download/curl-7.32.0.tar.gz tar zxf curl-7.32.0.tar.gz cd curl-7.32.0/ ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --disable-shared --disable-debug --disable-curldebug --with-ssl --with-libssh2 --with-zlib --with-random --with-ca-bundle=$DEST/etc/ssl/certs/ca-certificates.crt CPPFLAGS="-I$ZLIB -I$OPENSSL/include -I$LIBSSH/include" LDFLAGS="$LDFLAGS -L$ZLIB -L$OPENSSL -L$LIBSSH/src/.libs" LIBS="-ldl" --enable-ipv6 make clean && make sed -i -e "s|\${exec_prefix}/lib/libcurl.a||g" curl-config chmod a+x curl-config LIBCURL=`pwd` cd .. wget -O setuptools-1.1.tar.gz https://pypi.python.org/packages/source/s/setuptools/setuptools-1.1.tar.gz tar zxf setuptools-1.1.tar.gz pushd ~/code/Python-2.7.5/build mv lib.linux2-arm-2.7 lib.linux2-arm-2.7.orig ln -s ../../Python-2.7.5-native/build/lib.linux-i686-2.7 lib.linux2-arm-2.7 popd wget -O pycurl-7.19.0.tar.gz http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz tar zxf pycurl-7.19.0.tar.gz cd pycurl-7.19.0/ export LDSHARED="$CC -pthread -shared" export _PYTHON_HOST_PLATFORM="linux-armv7l" sed -i -e "s|from distutils.core import setup|from setuptools import setup|g" setup.py PYTHONPATH=../setuptools-1.1 ../Python-2.7.5/hostpython setup.py build_ext --openssl-dir=$OPENSSL --curl-config=$LIBCURL/curl-config -I$LIBCURL/include -L$LIBCURL/lib/.libs $STRIP build/lib.linux-armv7l-2.7/pycurl.so PYTHONPATH=../setuptools-1.1 CURL_DIR=$LIBCURL ../Python-2.7.5/hostpython setup.py build --openssl-dir=$OPENSSL --curl-config=$LIBCURL/curl-config PYTHONPATH=../setuptools-1.1 ../Python-2.7.5/hostpython setup.py bdist_egg --curl-config=$LIBCURL/curl-config pushd ~/code/Python-2.7.5/build rm lib.linux2-arm-2.7 mv lib.linux2-arm-2.7.orig lib.linux2-arm-2.7 popd Change the following lines to compile for the DroboFS: . ~/bin/crosscompile.drobofs.sh export _PYTHON_HOST_PLATFORM="linux-armv5tejl" $STRIP build/lib.linux-armv5tejl-2.7/pycurl.so InstallationDroboFSStart an SSH session on the DroboFS and type: cd /mnt/DroboFS/Shares/DroboApps/python2/tmp export TMPDIR=/mnt/DroboFS/Shares/DroboApps/python2/tmp easy_install http://www.droboports.com/python-packages/pycurl-7-19-0/pycurl-7.19.0-py2.7-linux-armv5tejl.egg Drobo5NStart an SSH session on the Drobo5N and type: cd /mnt/DroboFS/Shares/DroboApps/python2/tmp export TMPDIR=/mnt/DroboFS/Shares/DroboApps/python2/tmp easy_install http://www.droboports.com/python-packages/pycurl-7-19-0/pycurl-7.19.0-py2.7-linux-armv7l.egg Final remarksPlease visit the DroboSpace forums to leave your comments, suggestions and feedback. |