Commit Graph

15 Commits

Author SHA1 Message Date
Jean-Christophe Fillion-Robin
cef767b660
manylinux: Reference custom manylinux images providing Python3.8
This commit updates the version of manylinux base images to use custom
flavor having Python 3.8. See https://github.com/scikit-build/manylinux#available-branches

Python 3.8.0a2 was initially added to upstream manylinux
after integrating https://github.com/pypa/manylinux/pull/273.

But considering that Python 3.8 is still an alpha release and that
(1) the associated ABI is not yet stable and (2) incompatibilities are
expected between wheels generated for alpha/beta/rc and final version
of python 3.8.0, the manylinux maintainers decided to revert the update.
2019-03-01 18:39:15 -05:00
Matt McCormick
c96cbdc956
versioning: Set DEFAULT_DOCKCROSS_IMAGE based on the image tag
This ensures that the dockcross script will continue to use the specific
tagged version of the image that generates it.
2019-01-16 23:25:52 -05:00
Anton Chernov
eb65a8970a Added fortran compiler
* Added FC to all Dockerfiles
* Changed cmake toolchains to use environment variables for compilers
2018-05-25 18:34:23 +02:00
Francois Budin
602fb22cce ENH: Compile git with SSL support
Older versions of git included in older linux distributions are not able
to download source from Github. A newer version is required with a newer
OpenSSL. This requires to also build curl with the same OpenSSL.

CMake is downloaded precompiled if available (64bits system) or compiled
from source otherwise.
2018-04-14 19:12:07 -04:00
Jean-Christophe Fillion-Robin
ed7872edee
[many]linux-(x86|x64)/: toolchain: Fix ASM compiler
Similarly to the linux-x86 toolchain, gcc is used to compile assembler
file.
2016-11-19 22:30:33 -05:00
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
Matt McCormick
26c5447d29
manylinux: Consolidate common content into common.manylinux 2016-11-03 21:50:41 -04:00
Jean-Christophe Fillion-Robin
ab0ab22c67
manylinux: Deduplicate install-skbuild.sh and rename to install-python-packages.sh 2016-11-03 13:10:06 -04:00
Matt McCormick
d7ac739c2e Merge pull request #48 from jcfr/keep-track-buildtime-metadata
dockerfile: Keep track of buildtime metadata
2016-11-01 07:28:35 -04:00
Matt McCormick
623148e6e5
manylinux-x{64,86}: Bump scikit-build to 0.4.0 2016-10-31 18:40:36 -04:00
Jean-Christophe Fillion-Robin
cfcc7d6700
dockerfile: Keep track of buildtime metadata
This commit build each images with the following arguments:

* IMAGE: Name of the image (e.g dockcross/base, dockcross/manylinux-x64, ...)
* VCS_REF: dockcross/dockcross commit from which this image is built
* VCS_URL: this repository obtained reading remote.origin.url
* BUILD_DATE: Date and time when the build was initiated

Then, within the Dockerfile, the metadata are associated with the image
using the "LABEL" instruction.
See https://docs.docker.com/engine/reference/builder/#/label

The corresponding labels can be found here:
http://label-schema.org/rc1/#build-time-labels

See #28
2016-10-30 23:57:04 -04:00
Jean-Christophe Fillion-Robin
995c9091e5 manylinux: Grant current user password less sudo access.
This will allow build script like "build-wheels.sh" to run command like
the following (see [1]):

  sudo yum install -y atlas-devel

It will also allow to pip install using sudo and avoid error reported in [3].

That said, instead of running pip using sudo, the recommended approach
is to specify the "--user" flag [2]

[1] 893d92517e/travis/build-wheels.sh

[2] http://stackoverflow.com/questions/7143077/how-can-i-install-packages-in-my-home-folder-with-pip#7143496

[3] Error reported when running pip without "sudo pip install <packagename" or "pip install --user <packagename>"
```
Exception:
Traceback (most recent call last):
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/req/req_set.py", line 736, in install
    requirement.uninstall(auto_confirm=True)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/req/req_install.py", line 742, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/opt/_internal/cpython-2.7.11-ucs2/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/opt/_internal/cpython-2.7.11-ucs2/bin/easy_install'
```
2016-09-22 19:21:24 -04:00
Matt McCormick
b596ca6cd8 base,manylinux-x64: Use sed for Dockerfile composition
Suggested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2016-09-20 18:08:43 -04:00
Matt McCormick
60374aa006 manylinux-x64: Install skbuild 2016-09-20 18:08:40 -04:00
Matt McCormick
5d90a72dfc manylinux-x64: Initial addition 2016-09-20 18:07:58 -04:00