From 58bef91734ffd97c3f041b3585ba3f2e163edc75 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 19:55:02 +0200 Subject: [PATCH 01/38] Update build for osx --- deps/build.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index f1c0c8d..42bd634 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -44,7 +44,11 @@ buildfile = joinpath(rootdir, "lib", libname) @show lib = BinDeps.libdir(fftw) @show inc = BinDeps.includedir(fftw) -buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` +if Sys.KERNEL == :Darwin + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8 DYNAMICLIB=lib/libfinufft.dylib` +else + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` +end provides(BuildProcess, (@build_steps begin From 4244d0e835f869a6f69205fe6d7029aec7c92497 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 19:56:04 +0200 Subject: [PATCH 02/38] Update travis for osx --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index a43f45b..15b9e5a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ language: julia os: - linux + - osx julia: - 0.6 - 1.0 From ae8009fb87f6108fe02e41b71c14a29abe491a87 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 20:14:48 +0200 Subject: [PATCH 03/38] Update .travis.yml --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 15b9e5a..f9ab685 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,12 @@ git: matrix: allow_failures: - julia: nightly + +before_install: | + if [ "$TRAVIS_OS_NAME" == "osx" ]; then + brew update + brew install gcc-8 + fi ## uncomment and modify the following lines to manually install system packages addons: From 9999bfb3ee93da10539a68bf3ea344ebcadb1858 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 20:21:20 +0200 Subject: [PATCH 04/38] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f9ab685..46ea08e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,7 @@ matrix: before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update - brew install gcc-8 + brew install gcc fi ## uncomment and modify the following lines to manually install system packages From c6e55470b4bd1e29517ab663d876b9e6d6a40cef Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 20:32:52 +0200 Subject: [PATCH 05/38] Update .travis.yml --- .travis.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 46ea08e..15b9e5a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,12 +17,6 @@ git: matrix: allow_failures: - julia: nightly - -before_install: | - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew update - brew install gcc - fi ## uncomment and modify the following lines to manually install system packages addons: From 1d680d968aba1bbd1ddaec698cf75d9a1212ecd0 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 20:33:34 +0200 Subject: [PATCH 06/38] Update build.jl --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 42bd634..f7fac36 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -45,7 +45,7 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8 DYNAMICLIB=lib/libfinufft.dylib` + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-4.9 CC=gcc-4.9 DYNAMICLIB=lib/libfinufft.dylib` else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` end From 5bc6faba25b65b6803177d0222713d845d012742 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:07:01 +0200 Subject: [PATCH 07/38] uninstall oclint before to install gcc from homebrew --- .travis.yml | 5 +++++ deps/build.jl | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 15b9e5a..b1b56b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,11 @@ notifications: git: depth: 99999999 +- before_install: | + if [ "$TRAVIS_OS_NAME" == "osx" ]; then + brew cask uninstall oclint; brew update && brew install gcc && CC=gcc-8 && CXX=g++-8 + fi + ## uncomment the following lines to allow failures on nightly julia ## (tests will run but not make your overall status red) matrix: diff --git a/deps/build.jl b/deps/build.jl index f7fac36..42bd634 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -45,7 +45,7 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-4.9 CC=gcc-4.9 DYNAMICLIB=lib/libfinufft.dylib` + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8 DYNAMICLIB=lib/libfinufft.dylib` else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` end From f597376581ee9f23ace73fd2558d19c17f6e6d3a Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:20:30 +0200 Subject: [PATCH 08/38] Update .travis.yml second fix on .travis.yml for osx --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b1b56b2..ea89d83 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,9 @@ git: - before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew cask uninstall oclint; brew update && brew install gcc && CC=gcc-8 && CXX=g++-8 + brew cask uninstall oclint + brew update + brew install gcc fi ## uncomment the following lines to allow failures on nightly julia From b8a0639c860df5149cc7c14752b36171102fbab3 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:23:18 +0200 Subject: [PATCH 09/38] Revert "Update .travis.yml" This reverts commit f597376581ee9f23ace73fd2558d19c17f6e6d3a. --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index ea89d83..b1b56b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,9 +14,7 @@ git: - before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew cask uninstall oclint - brew update - brew install gcc + brew cask uninstall oclint; brew update && brew install gcc && CC=gcc-8 && CXX=g++-8 fi ## uncomment the following lines to allow failures on nightly julia From 9e4933b52c10b329074f6bb70fb54e54380a89a9 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:23:23 +0200 Subject: [PATCH 10/38] Revert "uninstall oclint before to install gcc from homebrew" This reverts commit 5bc6faba25b65b6803177d0222713d845d012742. --- .travis.yml | 5 ----- deps/build.jl | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index b1b56b2..15b9e5a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,11 +12,6 @@ notifications: git: depth: 99999999 -- before_install: | - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew cask uninstall oclint; brew update && brew install gcc && CC=gcc-8 && CXX=g++-8 - fi - ## uncomment the following lines to allow failures on nightly julia ## (tests will run but not make your overall status red) matrix: diff --git a/deps/build.jl b/deps/build.jl index 42bd634..f7fac36 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -45,7 +45,7 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8 DYNAMICLIB=lib/libfinufft.dylib` + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-4.9 CC=gcc-4.9 DYNAMICLIB=lib/libfinufft.dylib` else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` end From 63d39fc680fe0c19c5897477e01f6d007a3b0d3b Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:23:27 +0200 Subject: [PATCH 11/38] Revert "Update build.jl" This reverts commit 1d680d968aba1bbd1ddaec698cf75d9a1212ecd0. --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index f7fac36..42bd634 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -45,7 +45,7 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-4.9 CC=gcc-4.9 DYNAMICLIB=lib/libfinufft.dylib` + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8 DYNAMICLIB=lib/libfinufft.dylib` else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` end From 3607817e27b546c00f3cea524ed663dbe5aeff21 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:25:09 +0200 Subject: [PATCH 12/38] Revert "Update .travis.yml" This reverts commit c6e55470b4bd1e29517ab663d876b9e6d6a40cef. --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 15b9e5a..46ea08e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,12 @@ git: matrix: allow_failures: - julia: nightly + +before_install: | + if [ "$TRAVIS_OS_NAME" == "osx" ]; then + brew update + brew install gcc + fi ## uncomment and modify the following lines to manually install system packages addons: From 96975241dbde505f66c836b838295304747c32b0 Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Wed, 17 Oct 2018 21:27:24 +0200 Subject: [PATCH 13/38] uninstall oclint before to install gcc from homebrew --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 46ea08e..dfbcade 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,7 @@ matrix: before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then + brew cask uninstall oclint brew update brew install gcc fi From cb2b2038e2336d280cbe20617f3679080f4f5e7d Mon Sep 17 00:00:00 2001 From: Pierre Navaro Date: Thu, 18 Oct 2018 08:58:11 +0200 Subject: [PATCH 14/38] Update .travis.yml --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index dfbcade..e498806 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,8 @@ matrix: before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew cask uninstall oclint + sudo softwareupdate -i "Command Line Tools (macOS High Sierra version 10.13) for Xcode-9.3" + rm '/usr/local/include/c++' brew update brew install gcc fi From 28654fe0a352231d3154c69cde104a78646dcd07 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Thu, 18 Oct 2018 22:18:55 -0700 Subject: [PATCH 15/38] Trying again to build on macos --- .travis.yml | 2 ++ deps/build.jl | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e498806..1274939 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,8 @@ notifications: git: depth: 99999999 +osx_image: xcode9.3 + ## uncomment the following lines to allow failures on nightly julia ## (tests will run but not make your overall status red) matrix: diff --git a/deps/build.jl b/deps/build.jl index 42bd634..4683cb2 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -37,7 +37,7 @@ provides(Sources, unpacked_dir = "finufft-1.0") rootdir = joinpath(BinDeps.srcdir(libfinufft), "finufft-1.0") -libname = "libfinufft." * Libdl.dlext +libname = "libfinufft.so" libfile = joinpath(BinDeps.libdir(libfinufft),libname) buildfile = joinpath(rootdir, "lib", libname) @@ -45,7 +45,7 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8 DYNAMICLIB=lib/libfinufft.dylib` + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` end From 7b83442cb42818e9037f4ebd693cae10a2496fcf Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Thu, 18 Oct 2018 22:29:05 -0700 Subject: [PATCH 16/38] travis downgrade to xcode9.2 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1274939..f35a670 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ notifications: git: depth: 99999999 -osx_image: xcode9.3 +osx_image: xcode9.2 ## uncomment the following lines to allow failures on nightly julia ## (tests will run but not make your overall status red) From fc91f5188129b233200e818a96b8db2a5686d768 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 09:19:55 -0700 Subject: [PATCH 17/38] travis build test --- .travis.yml | 1 - deps/build.jl | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f35a670..16e69ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,6 @@ matrix: before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then - sudo softwareupdate -i "Command Line Tools (macOS High Sierra version 10.13) for Xcode-9.3" rm '/usr/local/include/c++' brew update brew install gcc diff --git a/deps/build.jl b/deps/build.jl index 4683cb2..761193e 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -44,11 +44,11 @@ buildfile = joinpath(rootdir, "lib", libname) @show lib = BinDeps.libdir(fftw) @show inc = BinDeps.includedir(fftw) -if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` -else +# if Sys.KERNEL == :Darwin +# buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` +# else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` -end +#end provides(BuildProcess, (@build_steps begin From 49bca5b59314e35ff4069531b49603a84d9fc933 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 09:52:39 -0700 Subject: [PATCH 18/38] try to avoid fixing gcc version --- deps/build.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 761193e..7ff3364 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -44,11 +44,11 @@ buildfile = joinpath(rootdir, "lib", libname) @show lib = BinDeps.libdir(fftw) @show inc = BinDeps.includedir(fftw) -# if Sys.KERNEL == :Darwin -# buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` -# else +if Sys.KERNEL == :Darwin + buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=/usr/bin/g++` +else buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` -#end +end provides(BuildProcess, (@build_steps begin From 27fc1e671b0b5298e3ff8f2d56ad3ee0054298ff Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 10:03:39 -0700 Subject: [PATCH 19/38] Update build.jl --- deps/build.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 7ff3364..51a66f2 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -45,9 +45,9 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc CXX=/usr/bin/g++` + buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8` else - buildcmd = `make lib LIBRARY_PATH=$lib CPATH=$inc` + buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc` end provides(BuildProcess, From e3faccd9b8324e44b66cfff78782a61290ff32b5 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 10:19:10 -0700 Subject: [PATCH 20/38] Update build.jl --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 51a66f2..02977d7 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -45,7 +45,7 @@ buildfile = joinpath(rootdir, "lib", libname) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8` + buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` else buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc` end From 1848bbbff70e89f43d3e3650db1733df322d0701 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 11:19:35 -0700 Subject: [PATCH 21/38] Update build.jl --- deps/build.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 02977d7..7f8aa5d 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -37,17 +37,17 @@ provides(Sources, unpacked_dir = "finufft-1.0") rootdir = joinpath(BinDeps.srcdir(libfinufft), "finufft-1.0") -libname = "libfinufft.so" +libname = "libfinufft." * Libdl.dlext libfile = joinpath(BinDeps.libdir(libfinufft),libname) -buildfile = joinpath(rootdir, "lib", libname) +buildfile = joinpath(rootdir, "lib", "libfinufft.so") @show lib = BinDeps.libdir(fftw) @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` + buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` else - buildcmd = `make lib/$libname LIBRARY_PATH=$lib CPATH=$inc` + buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc` end provides(BuildProcess, From e649d7a92b050334bf5a1d0858524758e7eed07d Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 11:58:04 -0700 Subject: [PATCH 22/38] debug --- deps/build.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deps/build.jl b/deps/build.jl index 7f8aa5d..9e7395f 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -50,6 +50,8 @@ else buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc` end +list() = display(readdir(lib)) + provides(BuildProcess, (@build_steps begin GetSources(libfinufft) @@ -59,6 +61,7 @@ provides(BuildProcess, buildcmd CreateDirectory(libdir(libfinufft)) `cp $buildfile $libfile` + list end) end end), From 4ddb9a5b8a2d367d265cf4263347d090f2afded1 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 12:10:38 -0700 Subject: [PATCH 23/38] update build.jl --- deps/build.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 9e7395f..af5d753 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -29,7 +29,8 @@ provides(BuildProcess, #provides(Binaries, "usr", fftw_threads) # Then download and build finufft -libfinufft = library_dependency("libfinufft") +libfinufft = library_dependency("libfinufft", + aliases=["libfinufft", "finufft", "libfinufft.so", "libfinufft.dylib"]) provides(Sources, URI("https://github.com/flatironinstitute/finufft/archive/v1.0.zip"), From 1ece54463a74fc6258f61626ed4efb234421d9c5 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 12:11:49 -0700 Subject: [PATCH 24/38] add version number to lib name --- deps/build.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index af5d753..de105c6 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -46,7 +46,8 @@ buildfile = joinpath(rootdir, "lib", "libfinufft.so") @show inc = BinDeps.includedir(fftw) if Sys.KERNEL == :Darwin - buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` + buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` + libname = "libfinufft.1." * Libdl.dlext else buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc` end From 936d7bb0d82ab8ca960b5bcd130e4de8f4029afa Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 12:43:39 -0700 Subject: [PATCH 25/38] fix --- deps/build.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index de105c6..1c85a67 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -38,7 +38,11 @@ provides(Sources, unpacked_dir = "finufft-1.0") rootdir = joinpath(BinDeps.srcdir(libfinufft), "finufft-1.0") -libname = "libfinufft." * Libdl.dlext +if Sys.KERNEL == :Darwin + libname = "libfinufft.1." * Libdl.dlext +else + libname = "libfinufft." * Libdl.dlext +end libfile = joinpath(BinDeps.libdir(libfinufft),libname) buildfile = joinpath(rootdir, "lib", "libfinufft.so") @@ -47,7 +51,6 @@ buildfile = joinpath(rootdir, "lib", "libfinufft.so") if Sys.KERNEL == :Darwin buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc CXX=g++-8 CC=gcc-8` - libname = "libfinufft.1." * Libdl.dlext else buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc` end From cd348e32623975d9ed591f75a54965a523eadb17 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 13:11:30 -0700 Subject: [PATCH 26/38] break apart build process --- deps/build.jl | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 1c85a67..9e41296 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -55,20 +55,24 @@ else buildcmd = `make lib/libfinufft.so LIBRARY_PATH=$lib CPATH=$inc` end -list() = display(readdir(lib)) +finufftbuild = + @build_steps begin + GetSources(libfinufft) + @build_steps begin + ChangeDirectory(rootdir) + `make clean` + buildcmd + CreateDirectory(libdir(libfinufft)) + `cp $buildfile $libfile` + end + end +run(finufftbuild) +display(readdir(lib)) + +# More dummy provides(BuildProcess, (@build_steps begin - GetSources(libfinufft) - @build_steps begin - ChangeDirectory(rootdir) - FileRule(libfile, @build_steps begin - buildcmd - CreateDirectory(libdir(libfinufft)) - `cp $buildfile $libfile` - list - end) - end end), libfinufft) From 6aa3c25b3e685a6445236a0b9f5b1495ee937451 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 13:24:38 -0700 Subject: [PATCH 27/38] bypass BinDeps --- deps/build.jl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 9e41296..3eae583 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -38,11 +38,7 @@ provides(Sources, unpacked_dir = "finufft-1.0") rootdir = joinpath(BinDeps.srcdir(libfinufft), "finufft-1.0") -if Sys.KERNEL == :Darwin - libname = "libfinufft.1." * Libdl.dlext -else - libname = "libfinufft." * Libdl.dlext -end +libname = "libfinufft." * Libdl.dlext libfile = joinpath(BinDeps.libdir(libfinufft),libname) buildfile = joinpath(rootdir, "lib", "libfinufft.so") @@ -60,7 +56,6 @@ finufftbuild = GetSources(libfinufft) @build_steps begin ChangeDirectory(rootdir) - `make clean` buildcmd CreateDirectory(libdir(libfinufft)) `cp $buildfile $libfile` @@ -77,7 +72,12 @@ provides(BuildProcess, libfinufft) @BinDeps.install Dict( - :libfinufft => :libfinufft, :libfftw3 => :fftw, :libfftw3_threads => :fftw_threads ) + +depsfile_location = joinpath(splitdir(Base.source_path())[1],"deps.jl") +fh = open(depsfile_location, "a") +write(fh, "\n@checked_lib libfinufft \"$libfile\"\n") +close(fh) + From 4b3df568b4e73a7e7c5a26aa95b322c26aa55b03 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 13:42:54 -0700 Subject: [PATCH 28/38] still trying to bypass BinDeps --- deps/build.jl | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 3eae583..87d23c8 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -29,8 +29,7 @@ provides(BuildProcess, #provides(Binaries, "usr", fftw_threads) # Then download and build finufft -libfinufft = library_dependency("libfinufft", - aliases=["libfinufft", "finufft", "libfinufft.so", "libfinufft.dylib"]) +libfinufft = library_dependency("libfinufft") provides(Sources, URI("https://github.com/flatironinstitute/finufft/archive/v1.0.zip"), @@ -65,11 +64,11 @@ run(finufftbuild) display(readdir(lib)) -# More dummy -provides(BuildProcess, - (@build_steps begin - end), - libfinufft) +# # More dummy +# provides(BuildProcess, +# (@build_steps begin +# end), +# libfinufft) @BinDeps.install Dict( :libfftw3 => :fftw, From 4ce7e09952810fae4497f5746129f47ac627ed94 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 13:48:54 -0700 Subject: [PATCH 29/38] Completely bypass BinDeps? --- deps/build.jl | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 87d23c8..9fad167 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -4,7 +4,7 @@ using Conda @BinDeps.setup -# First install fftw +## First install fftw fftw = library_dependency("libfftw3") fftw_threads = library_dependency("libfftw3_threads") @@ -28,7 +28,12 @@ provides(BuildProcess, #provides(Binaries, "usr", fftw) #provides(Binaries, "usr", fftw_threads) -# Then download and build finufft +@BinDeps.install Dict( + :libfftw3 => :fftw, + :libfftw3_threads => :fftw_threads +) + +## Now fftw is in place, download and build finufft libfinufft = library_dependency("libfinufft") provides(Sources, @@ -64,17 +69,7 @@ run(finufftbuild) display(readdir(lib)) -# # More dummy -# provides(BuildProcess, -# (@build_steps begin -# end), -# libfinufft) - -@BinDeps.install Dict( - :libfftw3 => :fftw, - :libfftw3_threads => :fftw_threads -) - +# Just add to deps.jl to bypass BinDeps checking depsfile_location = joinpath(splitdir(Base.source_path())[1],"deps.jl") fh = open(depsfile_location, "a") write(fh, "\n@checked_lib libfinufft \"$libfile\"\n") From 05a282832bf60657c9b41a7b96c0e7c4de173bfb Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:00:08 -0700 Subject: [PATCH 30/38] Update .travis.yml --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 16e69ae..e95ba4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,8 @@ notifications: git: depth: 99999999 -osx_image: xcode9.2 +osx: + osx_image: xcode9.2 ## uncomment the following lines to allow failures on nightly julia ## (tests will run but not make your overall status red) From 86a5d3347f061b3943c540f2536163224184148b Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:14:32 -0700 Subject: [PATCH 31/38] Update travis --- .travis.yml | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index e95ba4e..42c5dbc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,12 +12,11 @@ notifications: git: depth: 99999999 -osx: - osx_image: xcode9.2 - -## uncomment the following lines to allow failures on nightly julia -## (tests will run but not make your overall status red) matrix: + include: + - os: linux + - os: osx + osx_image: xcode9.2 allow_failures: - julia: nightly @@ -28,21 +27,8 @@ before_install: | brew install gcc fi -## uncomment and modify the following lines to manually install system packages -addons: - apt: # apt-get for linux - packages: - - gcc - - gfortran - - make - - build-essential - -## uncomment the following lines to override the default test script -#script: -# - julia -e 'Pkg.clone(pwd()); Pkg.build("FINUFFT"); Pkg.test("FINUFFT"; coverage=true)' after_success: # push coverage results to Coveralls - - julia -e 'cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' - # push coverage results to Codecov - #- julia -e 'cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())' + - julia -e 'VERSION >= v\"0.7.0-DEV.5183\" && using Pkg; cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' + From 2b50aeb3fe40e5255e42a9c01b39ad4b3fe8e49a Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:18:53 -0700 Subject: [PATCH 32/38] update travis --- .travis.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 42c5dbc..b57f4f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,19 +6,14 @@ os: julia: - 0.6 - 1.0 - - nightly notifications: email: false git: depth: 99999999 -matrix: - include: - - os: linux - - os: osx - osx_image: xcode9.2 - allow_failures: - - julia: nightly +if [ "$TRAVIS_OS_NAME" == "osx" ]; then + osx_image: xcode9.2 +fi before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then From 9af4477bdb54ba0361849391733f7b7193ef5752 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:22:53 -0700 Subject: [PATCH 33/38] restart --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index b57f4f7..2626adc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,7 @@ before_install: | brew install gcc fi + after_success: # push coverage results to Coveralls - julia -e 'VERSION >= v\"0.7.0-DEV.5183\" && using Pkg; cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' From 68a3ffecab16737a4c77d689f137dbf012c8ef72 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:26:20 -0700 Subject: [PATCH 34/38] fix travis --- .travis.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2626adc..a04f288 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,19 +1,23 @@ ## Documentation: http://docs.travis-ci.com/user/languages/julia/ language: julia -os: - - linux - - osx -julia: - - 0.6 - - 1.0 + notifications: email: false git: depth: 99999999 -if [ "$TRAVIS_OS_NAME" == "osx" ]; then - osx_image: xcode9.2 -fi +matrix: + include: + - os: linux + julia: 0.6 + - os: linux + julia: 1.0 + - os: linux + julia: 0.6 + osx_image: xcode9.2 + - os: linux + julia: 1.0 + osx_image: xcode9.2 before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then @@ -22,7 +26,6 @@ before_install: | brew install gcc fi - after_success: # push coverage results to Coveralls - julia -e 'VERSION >= v\"0.7.0-DEV.5183\" && using Pkg; cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' From 3a165fed9274601627395ff3a8fd10c4bf9d8834 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:29:35 -0700 Subject: [PATCH 35/38] Fix homebrew gcc version --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a04f288..9ec852d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,9 +21,8 @@ matrix: before_install: | if [ "$TRAVIS_OS_NAME" == "osx" ]; then - rm '/usr/local/include/c++' brew update - brew install gcc + brew install gcc@8 fi after_success: From b7632605f8f740658a8126c2b0616a138d5d4a6f Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:34:35 -0700 Subject: [PATCH 36/38] homebrew gcc needed? --- .travis.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9ec852d..005bc61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,12 +19,6 @@ matrix: julia: 1.0 osx_image: xcode9.2 -before_install: | - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew update - brew install gcc@8 - fi - after_success: # push coverage results to Coveralls - julia -e 'VERSION >= v\"0.7.0-DEV.5183\" && using Pkg; cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' From 421793e3dce07ef0246edabf127ef1a284a7d627 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:38:40 -0700 Subject: [PATCH 37/38] Fix coveralls --- .travis.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 005bc61..34cbb45 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,8 +19,14 @@ matrix: julia: 1.0 osx_image: xcode9.2 +before_install: | + if [ "$TRAVIS_OS_NAME" == "osx" ]; then + brew update + brew install gcc@8 + fi + after_success: # push coverage results to Coveralls - - julia -e 'VERSION >= v\"0.7.0-DEV.5183\" && using Pkg; cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' + - julia -e 'VERSION >= v"0.7.0-DEV.5183" && using Pkg; cd(Pkg.dir("FINUFFT")); Pkg.add("Coverage"); using Coverage; Coveralls.submit(Coveralls.process_folder())' From 95b77663bc77dee37c34d3593086e08838475f82 Mon Sep 17 00:00:00 2001 From: Ludvig af Klinteberg Date: Fri, 19 Oct 2018 14:48:19 -0700 Subject: [PATCH 38/38] Cleanup --- README.md | 3 +-- deps/build.jl | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 9ee5339..00dafba 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Pkg.test("FINUFFT") This should download, build and test FINUFFT v1.0, as long as you have `gcc` and `curl` installed. The FFTW library is downloaded locally by the build script, using [Conda.jl](https://github.com/JuliaPy/Conda.jl) -Currently only tested on Linux. +Developed and tested on Linux. Also works on Max OS X, but build script is hardwired to use GCC 8 (`g++-8` and `gcc-8`). ## Usage @@ -65,4 +65,3 @@ See [test/runtests.jl](test/runtests.jl) ## TODO * Implement advanced interface -* Test on Max OS X diff --git a/deps/build.jl b/deps/build.jl index 9fad167..3db8c4e 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -67,8 +67,6 @@ finufftbuild = end run(finufftbuild) -display(readdir(lib)) - # Just add to deps.jl to bypass BinDeps checking depsfile_location = joinpath(splitdir(Base.source_path())[1],"deps.jl") fh = open(depsfile_location, "a")