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

Travis fix: bump clang version from 3.8 to 6.0 #2833

Merged
merged 15 commits into from Oct 9, 2019

Conversation

rok-cesnovar
Copy link
Member

@rok-cesnovar rok-cesnovar commented Oct 9, 2019

Submission Checklist

  • Run unit tests: ./runTests.py src/test/unit
  • Run cpplint: make cpplint
  • Declare copyright holder and open-source license: see below

Summary

This PR should fix the travis issue we are having since the introduction of TBB. Lets first wait if it fixes it, but it should.

Sidenote: Not sure we even need Travis at all anymore. See stan-dev/cmdstan#728 (comment)
But that is certainly not my call to make.

Intended Effect

fix travis

How to Verify

Side Effects

/

Documentation

/

Copyright and Licensing

Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Rok Češnovar

By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

.travis.yml Outdated Show resolved Hide resolved
@rok-cesnovar
Copy link
Member Author

@wds15 do you have any other idea on how to fix this Travis thing (see below)? It looks like its not compiling tbb with -std=c++1y. I tried setting it the flag for the entire job, but then compiling sundials C files throws an error that you cant use the same flag for .c files...

make[1]: Leaving directory `/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb'
touch lib/stan_math/lib/tbb/version_tbb_2019_U8
tbb_root="/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8" CXX="clang++-3.8" CC="clang-3.8" LDFLAGS="-Wl,-L,"/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb"" make -C lib/stan_math/lib/tbb -r -f "/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/build/Makefile.tbb" compiler=clang cfg=release stdver=c++1y
make[1]: Entering directory `/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb'
/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/build/Makefile.tbb:28: CONFIG: cfg=release arch=intel64 compiler=clang target=linux runtime=cc4.8_libc2.19_kernel4.4.0
clang++-3.8 -o concurrent_hash_map.o -c -MMD -DDO_ITT_NOTIFY -g -O2 -DUSE_PTHREAD -DTBB_USE_GLIBCXX_VERSION=408 -m64  -fPIC  -D__TBB_BUILD=1 -Wall -Wextra -Wno-parentheses -Wno-non-virtual-dtor -Wno-dangling-else  -std=c++1y  -I/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/src -I/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/src/rml/include -I/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/include /home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/src/tbb/concurrent_hash_map.cpp
In file included from /home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/src/tbb/concurrent_hash_map.cpp:17:
In file included from /home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/include/tbb/concurrent_hash_map.h:21:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/iterator:64:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ostream:38:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ios:42:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/ios_base.h:41:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/locale_classes.h:40:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/string:52:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/basic_string.h:2815:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/string_conversions.h:43:
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/cstdio:120:11: error: 
      no member named 'gets' in the global namespace
  using ::gets;
        ~~^
In file included from /home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/src/tbb/concurrent_hash_map.cpp:17:
In file included from /home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/include/tbb/concurrent_hash_map.h:33:
/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/include/tbb/internal/_template_helpers.h:193:12: error: 
      no member named 'index_sequence' in namespace 'std'
using std::index_sequence;
      ~~~~~^
/home/travis/build/stan-dev/stan/lib/stan_math/lib/tbb_2019_U8/include/tbb/internal/_template_helpers.h:194:12: error: 
      no member named 'make_index_sequence' in namespace 'std'
using std::make_index_sequence;
      ~~~~~^
3 errors generated.

@rok-cesnovar
Copy link
Member Author

Is modifiying the tbb makefiles an option? I know its not a preferred one.

@SteveBronder
Copy link
Collaborator

Ah sorry I didn't know that would make an error. I think worst case we can slam that up to C++14. Jenkins tests c++1y so I'm pretty sure that's fine

@rok-cesnovar
Copy link
Member Author

rok-cesnovar commented Oct 9, 2019

@SteveBronder sorry for stopping your PR test on travis, but I know its going to fail and I want to get a fix for this ASAP this so need to run the tests a lot as its stalling development on Stan :/

@rok-cesnovar
Copy link
Member Author

@seantalts @betanalpha (not sure who else to tag here) Is bumping Travis tests from clang++-3.8 to clang 6.0 an option? This fixes the issues we are having with Travis tests.

@rok-cesnovar rok-cesnovar changed the title Travis fix: add c++14 flag to clang flags Travis fix: bump clang version from 3.8 to 6.0 Oct 9, 2019
@stan-buildbot
Copy link
Contributor

(stat_comp_benchmarks/benchmarks/gp_pois_regr/gp_pois_regr.stan, 0.99)
(stat_comp_benchmarks/benchmarks/low_dim_corr_gauss/low_dim_corr_gauss.stan, 0.97)
(stat_comp_benchmarks/benchmarks/irt_2pl/irt_2pl.stan, 1.01)
(stat_comp_benchmarks/benchmarks/pkpd/one_comp_mm_elim_abs.stan, 1.06)
(stat_comp_benchmarks/benchmarks/eight_schools/eight_schools.stan, 1.03)
(stat_comp_benchmarks/benchmarks/gp_regr/gp_regr.stan, 0.98)
(stat_comp_benchmarks/benchmarks/arK/arK.stan, 1.29)
(performance.compilation, 1.02)
(stat_comp_benchmarks/benchmarks/low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan, 0.98)
(stat_comp_benchmarks/benchmarks/low_dim_gauss_mix/low_dim_gauss_mix.stan, 1.0)
(stat_comp_benchmarks/benchmarks/sir/sir.stan, 0.98)
(stat_comp_benchmarks/benchmarks/pkpd/sim_one_comp_mm_elim_abs.stan, 0.95)
(stat_comp_benchmarks/benchmarks/garch/garch.stan, 0.99)
(stat_comp_benchmarks/benchmarks/gp_regr/gen_gp_data.stan, 1.04)
(stat_comp_benchmarks/benchmarks/arma/arma.stan, 0.99)
Result: 1.01926687057
Commit hash: ecbdda8

@stan-buildbot
Copy link
Contributor

(stat_comp_benchmarks/benchmarks/gp_pois_regr/gp_pois_regr.stan, 1.0)
(stat_comp_benchmarks/benchmarks/low_dim_corr_gauss/low_dim_corr_gauss.stan, 1.0)
(stat_comp_benchmarks/benchmarks/irt_2pl/irt_2pl.stan, 1.0)
(stat_comp_benchmarks/benchmarks/pkpd/one_comp_mm_elim_abs.stan, 0.97)
(stat_comp_benchmarks/benchmarks/eight_schools/eight_schools.stan, 1.0)
(stat_comp_benchmarks/benchmarks/gp_regr/gp_regr.stan, 1.01)
(stat_comp_benchmarks/benchmarks/arK/arK.stan, 1.3)
(performance.compilation, 1.02)
(stat_comp_benchmarks/benchmarks/low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan, 1.01)
(stat_comp_benchmarks/benchmarks/low_dim_gauss_mix/low_dim_gauss_mix.stan, 0.96)
(stat_comp_benchmarks/benchmarks/sir/sir.stan, 0.96)
(stat_comp_benchmarks/benchmarks/pkpd/sim_one_comp_mm_elim_abs.stan, 0.97)
(stat_comp_benchmarks/benchmarks/garch/garch.stan, 0.99)
(stat_comp_benchmarks/benchmarks/gp_regr/gen_gp_data.stan, 0.99)
(stat_comp_benchmarks/benchmarks/arma/arma.stan, 1.0)
Result: 1.01249255364
Commit hash: ecbdda8

@seantalts
Copy link
Member

Sure, hopefully soon whatever tests were holding us back from doing the one-compiler-per-OS testing will be fixed and we can delete Travis, but this is fine as a stop gap.

@seantalts
Copy link
Member

@serban-nicusor-toptal do you have the link for what's holding us back from one-compiler-per-OS in this repo?

@seantalts seantalts merged commit 8dbe066 into develop Oct 9, 2019
@serban-nicusor-toptal serban-nicusor-toptal added this to the 2.20.0++ milestone Oct 18, 2019
@mcol mcol deleted the bugfix/fix-travis-tbb branch February 10, 2020 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants