From b06fe5817d2119b372d17961aab76afd8ded0b7c Mon Sep 17 00:00:00 2001 From: Thomas Ferreira de Lima Date: Mon, 17 Dec 2018 17:56:04 -0500 Subject: [PATCH 1/2] ThreadPool.imap stopped working in py 3.7.1 --- setup.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index b2c5e2748..545126651 100644 --- a/setup.py +++ b/setup.py @@ -59,13 +59,13 @@ from setuptools.extension import Extension, Library import glob import os import platform -import distutils.sysconfig as sysconfig from distutils.errors import CompileError import distutils.command.build_ext import setuptools.command.build_ext import multiprocessing N_cores = multiprocessing.cpu_count() + # monkey-patch for parallel compilation # from https://stackoverflow.com/questions/11013851/speeding-up-build-process-with-distutils def parallelCCompile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None): @@ -88,6 +88,7 @@ def parallelCCompile(self, sources, output_dir=None, macros=None, include_dirs=N n_tries = 2 while n_tries > 0: try: + print("Building", obj) self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts) except CompileError: n_tries -= 1 @@ -95,7 +96,7 @@ def parallelCCompile(self, sources, output_dir=None, macros=None, include_dirs=N else: break # convert to list, imap is evaluated on-demand - list(multiprocessing.pool.ThreadPool(N).imap(_single_compile, objects)) + list(multiprocessing.pool.ThreadPool(N).map(_single_compile, objects)) return objects @@ -155,10 +156,10 @@ distutils.ccompiler.CCompiler.library_filename = patched_library_filename # for this ... We're patching this back now. def always_link_shared_object( - self, objects, output_libname, output_dir=None, libraries=None, - library_dirs=None, runtime_library_dirs=None, export_symbols=None, - debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, - target_lang=None): + self, objects, output_libname, output_dir=None, libraries=None, + library_dirs=None, runtime_library_dirs=None, export_symbols=None, + debug=0, extra_preargs=None, extra_postargs=None, build_temp=None, + target_lang=None): self.link( self.SHARED_LIBRARY, objects, output_libname, output_dir, libraries, library_dirs, runtime_library_dirs, @@ -166,6 +167,7 @@ def always_link_shared_object( build_temp, target_lang ) + setuptools.command.build_ext.libtype = "shared" setuptools.command.build_ext.link_shared_object = always_link_shared_object From 213f2b16fa6c03584400300ef37901668473985e Mon Sep 17 00:00:00 2001 From: Thomas Ferreira de Lima Date: Tue, 18 Dec 2018 18:11:56 -0500 Subject: [PATCH 2/2] xcode8 does not support homebrew addon yet --- .travis.yml | 4 ++-- Brewfile | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 Brewfile diff --git a/.travis.yml b/.travis.yml index 014d8c940..ee2c85e99 100644 --- a/.travis.yml +++ b/.travis.yml @@ -228,7 +228,7 @@ matrix: - qt update: true env: - - MATRIX_EVAL="" + - MATRIX_EVAL="brew update; brew install qt" # homebrew addon fails for xcode8 - PYTHON_VERSION=B37 - MACOS_VERSION=ElCapitan - KLAYOUT_BUILD=true @@ -271,7 +271,7 @@ matrix: - qt update: true env: - - MATRIX_EVAL="" + - MATRIX_EVAL="brew update; brew install qt" # homebrew addon fails for xcode8 - PYTHON_VERSION=Sys - MACOS_VERSION=ElCapitan - KLAYOUT_BUILD=true diff --git a/Brewfile b/Brewfile deleted file mode 100644 index 0d5580505..000000000 --- a/Brewfile +++ /dev/null @@ -1,4 +0,0 @@ -tap "homebrew/core" -brew "python3" -brew "python@2", link: false -brew "qt"