Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

another go at fixing 1.6 builds #115

Merged
merged 40 commits into from
Aug 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f9fb9a8
Upgrade from Julia 1.1.1 to 1.6.1
jmuchovej Jun 10, 2021
e59adf1
MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.10.1, and co…
Jun 10, 2021
c11c2f2
Attempting hotfix of make cleanall rec'd by azure
jmuchovej Jun 10, 2021
ffeb708
Upgrade PCRE2 to 10.36
jmuchovej Jun 10, 2021
a67508e
Attempting to force usage of system libnghttp2
jmuchovej Jun 14, 2021
72c7c39
Remove make `cleanall` and `USE_SYSTEM_HTTP2`
jmuchovej Jun 14, 2021
73fcdd8
Merge remote-tracking branch 'origin/master' into jmuchovej-bump-to-1…
simeonschaub Jul 19, 2021
ac7a039
use libgit, libssh and libcurl shipped by Julia
simeonschaub Jul 19, 2021
0c3be4f
remove NO_GIT, use OpenBLAS, fix unnecessary deps
simeonschaub Jul 19, 2021
0a690da
use git repo instead of tarball
simeonschaub Jul 19, 2021
d539a9f
add back CMAKE_GENERATOR variable
simeonschaub Jul 19, 2021
2b2f7b6
Use openblas rather than libopenblas
mkitti Jul 27, 2021
93cdbc5
Use openblas-ilp64
mkitti Jul 27, 2021
bdddcc3
Use libopenblas64_.so for lapack
mkitti Jul 27, 2021
880984f
Add git requirement for buliding and running
mkitti Jul 27, 2021
6cac917
Merge pull request #1 from mkitti/patch-1
simeonschaub Jul 27, 2021
70be393
Only test core for the moment
mkitti Jul 27, 2021
26d001c
Merge pull request #2 from mkitti/patch-1
simeonschaub Jul 28, 2021
c28b47f
Use system curl
mkitti Jul 29, 2021
3af4f7b
Test downloads
mkitti Jul 30, 2021
3f7a7f2
Merge pull request #3 from mkitti/patch-1
mkitti Jul 30, 2021
d7a5ff7
Unpin versions for dependencies
mkitti Aug 3, 2021
cfc570f
Merge branch 'patch-1' into sds/fix_1.6
mkitti Aug 3, 2021
41053fa
USE_SYSTEM_LIBSSH2=1
mkitti Aug 3, 2021
5b4e05e
USE_SYSTEM_LIBGIT2=1
mkitti Aug 3, 2021
495c106
Revert "USE_SYSTEM_LIBGIT2=1" due to failure on macOS
mkitti Aug 5, 2021
0aa0bae
Try with julia-1.6.1-full.tar.gz tarball
mkitti Aug 5, 2021
38e9576
Add libssh2 as a dependency
mkitti Aug 5, 2021
1aca9e2
Add other Make.inc flags
mkitti Aug 5, 2021
5273977
Make USE_SYSTEM_LIBGIT2 OS dependent
mkitti Aug 5, 2021
620aa6a
Fix bash typos
mkitti Aug 5, 2021
89bb2fb
Add libunwind (nongnu) as a dependency
mkitti Aug 5, 2021
a24b788
Clean lint
mkitti Aug 5, 2021
a296475
Use system utf8proc, libnghttp2, zlib, p7zip
mkitti Aug 5, 2021
6734950
Set requirement as libutf8proc rather than just utf8proc
mkitti Aug 5, 2021
3c98953
USE_SYSTEM_UTF8PROC=0, remove libutf8proc
mkitti Aug 5, 2021
0dfa35b
MNT: Re-rendered with conda-build 3.21.4, conda-smithy 3.11.0, and co…
Aug 5, 2021
c9bdf28
Apply suggestions from code review by @isuruf
mkitti Aug 5, 2021
2da0e10
azure: store_build_artifacts: True
mkitti Aug 5, 2021
04d3113
Merge branch 'sds/fix_1.6' of github.com:simeonschaub/julia-feedstock…
mkitti Aug 5, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions .ci_support/linux_64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,29 @@ cxx_compiler_version:
- '9'
docker_image:
- quay.io/condaforge/linux-anvil-comp7
fftw:
- '3'
fortran_compiler:
- gfortran
fortran_compiler_version:
- '9'
gmp:
- '6'
libblas:
- 3.8 *netlib
libcblas:
- 3.8 *netlib
liblapack:
- 3.8 *netlib
libgit2:
- '1.1'
libssh2:
- '1'
libunwind:
- '1'
mpfr:
- '4'
pcre2:
- '10.37'
perl:
- 5.26.2
pin_run_as_build:
arpack:
max_pin: x.x.x
curl:
max_pin: x
fftw:
max_pin: x
gmp:
max_pin: x
mpfr:
Expand Down
7 changes: 0 additions & 7 deletions .ci_support/migrations/pcre21037.yaml

This file was deleted.

16 changes: 6 additions & 10 deletions .ci_support/osx_64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,33 +16,29 @@ cxx_compiler:
- clangxx
cxx_compiler_version:
- '11'
fftw:
- '3'
fortran_compiler:
- gfortran
fortran_compiler_version:
- '9'
gmp:
- '6'
libblas:
- 3.8 *netlib
libcblas:
- 3.8 *netlib
liblapack:
- 3.8 *netlib
libgit2:
- '1.1'
libssh2:
- '1'
macos_machine:
- x86_64-apple-darwin13.4.0
mpfr:
- '4'
pcre2:
- '10.37'
perl:
- 5.26.2
pin_run_as_build:
arpack:
max_pin: x.x.x
curl:
max_pin: x
fftw:
max_pin: x
gmp:
max_pin: x
mpfr:
Expand Down
2 changes: 2 additions & 0 deletions conda-forge.yml
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
conda_forge_output_validation: true
azure:
store_build_artifacts: True
26 changes: 16 additions & 10 deletions recipe/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,45 @@ html :
mkdir -p _build/html
EOF


# Julia sets this to unix makefiles later on in its build process
export CMAKE_GENERATOR="make"

NO_GIT=1 make -C base version_git.jl.phony CC=$CC CXX=$CXX FC=$FC
make -C base version_git.jl.phony CC=$CC CXX=$CXX FC=$FC

export EXTRA_MAKEFLAGS=""
if [ "$(uname)" == "Darwin" ]
then
export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBUNWIND=1"
export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=0"
elif [ "$(uname)" == "Linux" ]
then
# On linux the released version of libunwind has issues building julia
# See: https://github.com/JuliaLang/julia/issues/23615
export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBUNWIND=0"
export EXTRA_MAKEFLAGS="USE_SYSTEM_LIBGIT2=1"
fi

mkitti marked this conversation as resolved.
Show resolved Hide resolved
make -j 4 prefix=${PREFIX} MARCH=core2 sysconfigdir=${PREFIX}/etc NO_GIT=1 \
LIBBLAS=-lblas LIBBLASNAME=libblas LIBLAPACK=-llapack LIBLAPACKNAME=liblapack \
# using system utf8proc can be enabled in 1.7.0. See https://github.com/JuliaLang/julia/commit/ba653ecb1c81f1465505c2cea38b4f8149dd20b3
make -j 4 prefix=${PREFIX} MARCH=core2 sysconfigdir=${PREFIX}/etc \
LIBBLAS=-lopenblas64_ LIBBLASNAME=libopenblas64_ LIBLAPACK=-lopenblas64_ LIBLAPACKNAME=libopenblas64_ \
USE_SYSTEM_ARPACK=1 \
USE_SYSTEM_BLAS=1 \
USE_BLAS64=1 \
USE_SYSTEM_CURL=1 \
USE_SYSTEM_FFTW=1 \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does fftw need to be added to the dependencies?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, FFTW isn't a dependency of Julia itself since JuliaLang/julia#21956

USE_SYSTEM_GMP=1 \
USE_SYSTEM_LAPACK=1 \
USE_SYSTEM_LIBGIT2=1 \
USE_SYSTEM_LIBSSH2=1 \
USE_SYSTEM_LLVM=0 \
USE_SYSTEM_MPFR=1 \
USE_SYSTEM_OPENLIBM=1 \
USE_SYSTEM_OPENSPECFUN=1 \
USE_SYSTEM_PATCHELF=1 \
USE_SYSTEM_PCRE=1 \
USE_SYSTEM_SUITESPARSE=1 \
USE_SYSTEM_CSL=0 \
USE_SYSTEM_LIBUNWIND=1 \
USE_SYSTEM_LIBUV=0 \
USE_SYSTEM_UTF8PROC=0 \
USE_SYSTEM_MBEDTLS=0 \
USE_SYSTEM_NGHTTP2=1 \
USE_SYSTEM_ZLIB=1 \
USE_SYSTEM_P7ZIP=1 \
${EXTRA_MAKEFLAGS} \
TAGGED_RELEASE_BANNER="conda-forge-julia release" \
CC=$CC CXX=$CXX FC=$FC \
Expand Down
50 changes: 27 additions & 23 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,64 +1,68 @@
{% set name = "julia" %}
{% set version = "1.1.1" %}
{% set sha256 = "0155a33448cb2334ae7487a35a2416a4205da4541b90fc9f97208da11e273c9e" %}
{% set version = "1.6.1" %}
{% set sha256 = "71d8e40611361370654e8934c407b2dec04944cf3917c5ecb6482d6b85ed767f" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
fn: v{{ version }}.tar.gz
url: https://github.com/JuliaLang/julia/archive/v{{ version }}.tar.gz
fn: julia-{{ version }}-full.tar.gz
url: https://github.com/JuliaLang/julia/releases/download/v{{ version }}/julia-{{ version }}-full.tar.gz
sha256: {{ sha256 }}

build:
skip: True # [win]
number: 7
number: 0
features:

requirements:
build:
- cmake-binary
- perl
- python 2.7.*
- python 3
- {{ compiler('fortran') }}
- {{ compiler('c') }}
- {{ compiler('cxx') }}
host:
- libblas
- libcblas
- liblapack
- openblas-ilp64
- patchelf # [linux]
- zlib
- openlibm 0.5.4
- openspecfun 0.5.3
- fftw
- openlibm
- gmp
- mpfr
- curl
- libgit2 0.27
- libgit2 # [not osx]
- libssh2
- libosxunwind # [osx]
- libunwind # [linux]
- arpack
- suitesparse
- pcre2 10.23
- pcre2
- git
- libnghttp2
- zlib
- p7zip

run:
- zlib
- {{ pin_compatible("libgit2", max_pin="x.x") }}
- openblas-ilp64
- libosxunwind # [osx]
- fftw
- libunwind # [linux]
- gmp
- mpfr
- openlibm 0.5.4
- openspecfun 0.5.3
- openlibm
- arpack
- suitesparse
- pcre2
- curl
- pcre2 10.23
- libgit2 # [not osx]
- libssh2
- git
- libnghttp2
- zlib
- p7zip

test:
commands:
- julia -e 'Base.runtests("LibGit2/online Pkg/pkg")'
- julia -e 'Base.runtests(["core", "regex", "Downloads"])'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the previous tests part of the new tests?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, LibGit2/online Pkg/pkg are not part of the new tests.

The old tests focus only on subsets of the LibGit2 and Pkg stdlib packages. They are actually not included in the default tests except when explicit requested. They were a weird choice for the only tests to run.
https://github.com/JuliaLang/julia/blob/68c458519d369d922e1bfc2c8f9bb240c8718eaa/test/choosetests.jl#L153-L154

Above in a previous comment I ran the standard test suite. It takes some time to run, which has been the subject of complaints in the git history.

The available tests to run are below:

$ make print-TESTS
TESTS=all stdlib unicode strings compiler NetworkOptions Artifacts CompilerSupportLibraries_jll SHA Zlib_jll Statistics Random LibGit2_jll DelimitedFiles Pkg CRC32c Profile OpenBLAS_jll nghttp2_jll OpenLibm_jll SparseArrays LibSSH2_jll p7zip_jll LibCURL_jll InteractiveUtils MPFR_jll MbedTLS_jll LinearAlgebra Distributed Test TOML ArgTools Logging FileWatching UUIDs Libdl Base64 Tar Markdown Sockets GMP_jll Serialization LibGit2 LibCURL Dates LibUnwind_jll Mmap SuiteSparse REPL PCRE2_jll Unicode SuiteSparse_jll libblastrampoline_jll SharedArrays LibUV_jll LLVMLibUnwind_jll libLLVM_jll MozillaCACerts_jll Future Printf LazyArtifacts Downloads dSFMT_jll subarray ambiguous filesystem arrayops read path error float16 precompile stacktraces triplequote iobuffer bitarray client stress corelogging sysinfo exceptions ordering checked loading complex ranges deprecation_exec math binaryplatforms cartesian threads_exec misc ccall sorting syntax goto hashing channels numbers spawn simdloop rational intrinsics subtype reinterpretarray interpreter test_sourcepath secretbuffer int rounding combinatorics opaque_closure euler asyncmap mod2pi parse specificity test_exec boundscheck_exec some choosetests smallarrayshrink worlds backtrace fastmath broadcast meta docs reduce env staged osutils iostream namedtuple show boundscheck core dict download_exec tuple atomics copy download gmp cmdlineargs reducedim floatapprox file atexit reflection abstractarray intfuncs char threads llvmcall2 sets mpfr iterators stress_fd_exec bitset vecelement errorshow generic_map_tests missing operators enums keywordargs functional offsetarray floatfuncs testenv stack_overflow version regex llvmcall ryu unicode/utf8 strings/io strings/util strings/search strings/types strings/basic compiler/inference compiler/validation compiler/interpreter_exec compiler/codegen compiler/contextual compiler/inline compiler/ssair compiler/irpasses

requires:
- perl

Expand Down