dockcross/common.docker
Jean-Christophe Fillion-Robin 3b6e09b520
manylinux-x86: Fix build of Openssl and CMake
This commit fixes the error reported below by ensuring openssl and CMake
are configured and build as x86 binaries.

It also removes the download of CMake binaries that was introduced
by mistake in 1354fe2 (manylinux-x86: Initial addition).

Error:

```
Configured for linux-x86_64.
making all in crypto...
make[1]: Entering directory `/usr/src/openssl-1.0.2j/crypto'
/usr/bin/perl ../util/mkbuildinf.pl "gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM" "linux-x86_64" >buildinf.h
gcc -I. -I.. -I../include  -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM   -c -o cryptlib.o cryptlib.c
cryptlib.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
 /* crypto/cryptlib.c */
 ^
make[1]: *** [cryptlib.o] Error 1
```
2016-11-05 17:55:58 -04:00

48 lines
1.7 KiB
Docker

WORKDIR /usr/share
RUN git clone "https://github.com/nojhan/liquidprompt.git" && \
cd liquidprompt && \
git checkout v_1.11
COPY imagefiles/.bashrc /root/
WORKDIR /usr/src
RUN wget https://www.openssl.org/source/openssl-1.0.2j.tar.gz && \
tar -xzvf openssl-1.0.2j.tar.gz && \
cd openssl-1.0.2j && \
WRAPPER=$([[ $DEFAULT_DOCKCROSS_IMAGE == "dockcross/manylinux-x86" ]] && echo "linux32") && \
CONFIG_FLAG=$([[ $DEFAULT_DOCKCROSS_IMAGE == "dockcross/manylinux-x86" ]] && echo "-m32") && \
${WRAPPER} ./config $CONFIG_FLAG && \
${WRAPPER} make && \
cd .. && \
git clone git://cmake.org/cmake.git CMake && \
cd CMake && \
git checkout ab2ae4823c3b60347825da4b851cd4e676f8bed1 && \
mkdir /usr/src/CMake-build && \
cd /usr/src/CMake-build && \
${WRAPPER} /usr/src/CMake/bootstrap \
--parallel=$(grep -c processor /proc/cpuinfo) \
--prefix=/usr && \
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo) && \
${WRAPPER} ./bin/cmake \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_USE_OPENSSL:BOOL=ON \
-DOPENSSL_ROOT_DIR:PATH=/usr/src/openssl-1.0.2j \
. && \
${WRAPPER} make install && \
cd .. && rm -rf CMake* && rm -rf /usr/src/openssl-1.0.2j
RUN git clone "https://github.com/ninja-build/ninja.git" && \
cd ninja && \
git checkout v1.7.1 && \
([ -e /opt/python/cp35-cp35m/bin/python ] && /opt/python/cp35-cp35m/bin/python ./configure.py --bootstrap) || python ./configure.py --bootstrap && \
./ninja && \
cp ./ninja /usr/bin/ && \
cd .. && rm -rf ninja
COPY imagefiles/cmake.sh /usr/local/bin/cmake
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
RUN echo "root:root" | chpasswd
WORKDIR /work
ENTRYPOINT ["/dockcross/entrypoint.sh"]
COPY imagefiles/entrypoint.sh imagefiles/dockcross /dockcross/