- poring python-runtime patch to 2.7.10
- ask anry should we still need to maintain x86_es
-
Parameter OPENSSL_VER had been written in makefile
-
There is no third-party libraries in x64 toolchain (libssl, libcrypto ...)
- Build x64 library first
> @NasX86/Model/TS-X51 make QOS4=yes BUILD_OPT=pure BASE KERNEL COMLIB NAS_PRELIBRARY SYS_LIBRARY NAS_LIBRARY INSTALL_NAS_LIBRARY 2>&1 | tee build.log
- Pickup libraries which get lost
- Actually, build results should be put in NasX86/LinkFS not NasX86/Model/XXX/build/Rootfs, but some module not follow build rule well we need to pickup those libraries manually.
> @NasX86/Model/TS-X51 cp -a build/RootFS/lib/libqsync.so* ../../LinkFS/lib cp -a build/RootFS/lib/libgeneral.so* ../../LinkFS/lib
- make a tarball
> @NasX86/LinkFS tar -jcvf x86_64_ref.tar.bz2 lib include
- Put tarball to buildserver
scp x86_64_ref.tar.bz2 [email protected]:/home/anry/working
- Decorate buildserver
ssh [email protected] mkdir -p /home/anry/working/x86_64_ref tar -xvf /home/anry/working/x86_64_ref.tar.bz2 -C /home/anry/working/x86_64_ref/
Start x86_64 image
ssh [email protected]
cd deploy_wrapper/
./container_setup.sh x86_64
Generate host component
./configure
make python Parser/pgen
mv python hostpython
mv Parser/pgen Parser/hostpgen
make distclean
Add patch
patch -pX < xxxx.patch
Set env
- Python uses CPPFLAGS as its include path not CFLAGS
export PATH=$PATH:/root/CT/x86_64-QNAP-linux-gnu/cross-tools/bin/
export CROSS_PREFIX="x86_64-QNAP-linux-gnu"
export CROSS_COMPILE="${CROSS_PREFIX}-"
export CC="${CROSS_COMPILE}gcc"
export CXX="${CROSS_COMPILE}g++"
export NM=${CROSS_COMPILE}nm
export LD=${CROSS_COMPILE}ld
export AR=${CROSS_COMPILE}ar
export RANLIB=${CROSS_COMPILE}ranlib
export STRIP=${CROSS_COMPILE}strip
export LDFLAGS="-L/root/CT/x86_64-QNAP-linux-gnu/fs/lib -L/root/x86_64_ref/lib"
export CPPFLAGS="-I/root/CT/x86_64-QNAP-linux-gnu/fs/include -I/root/x86_64_ref/include -I/root/x86_64_ref/include/ncurses"
export LIBS="-lssl -lcrypto"
export ac_cv_file__dev_ptmx=no
export ac_cv_file__dev_ptc=no
export ac_cv_buggy_getaddrinfo=no
make
make distclean
./configure --prefix=/root/python-build/x86_64 \
--build=x86_64-linux-gnu \
--host=${CROSS_PREFIX} \
--disable-ipv6 \
--with-system-expat \
--without-pymalloc
make BLDSHARED="${CC} -shared" CROSS_COMPILE=${CROSS_COMPILE} CROSS_COMPILE_TARGET=yes HOSTARCH=${CROSS_PREFIX} BUILDARCH=${CROSS_PREFIX}
make install BLDSHARED="${CC} -share" CROSS_COMPILE=${CROSS_COMPILE} CROSS_COMPILE_TARGET=yes HOSTARCH=${CROSS_PREFIX} BUILDARCH=${CROSS_PREFIX}
- import setuptools error
We don't need these modules
_bsddb _tkinter bsddb185 dbm gdbm imageop linuxaudiodev ossaudiodev sunaudiodev