kingsfordgroup / sailfish

Rapid Mapping-based Isoform Quantification from RNA-Seq Reads
http://www.cs.cmu.edu/~ckingsf/software/sailfish
GNU General Public License v3.0
124 stars 45 forks source link

No type named std::iota and std::random_device #92

Closed sjackman closed 8 years ago

sjackman commented 8 years ago

Mavericks, Yosemite and El Capitan give the same error. http://bot.brew.sh/job/Homebrew%20Science%20Pull%20Requests/4447/version=el_capitan/testReport/junit/brew-test-bot/el_capitan/install_homebrew_science_sailfish/

cd /tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/build/src && /usr/local/Library/ENV/4.3/clang++    -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/tests -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/include -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/include/eigen3 -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/external -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/external/cereal/include -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/external/install/include -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/external/install/include/rapmap -I/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/external/install/include/jellyfish-2.2.3 -I/usr/local/include  -pthread -funroll-loops -fPIC -fomit-frame-pointer -Ofast -DHAVE_ANSI_TERM -DHAVE_SSTREAM -DRAPMAP_SALMON_SUPPORT -Wall -std=c++11 -Wreturn-type -Werror=return-type -undefined dynamic_lookup -stdlib=libc++ -DBOOST_HAS_INT128 -Wno-deprecated-register -pthread -funroll-loops -fPIC -fomit-frame-pointer -Ofast -DHAVE_ANSI_TERM -DHAVE_SSTREAM -DRAPMAP_SALMON_SUPPORT -Wall -std=c++11 -Wreturn-type -Werror=return-type -undefined dynamic_lookup -stdlib=libc++ -DBOOST_HAS_INT128 -Wno-deprecated-register -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11   -o CMakeFiles/sailfish_core.dir/SailfishQuantify.cpp.o -c /tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/src/SailfishQuantify.cpp
In file included from /tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/src/SailfishQuantify.cpp:36:
In file included from /tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/include/CollapsedEMOptimizer.hpp:11:
/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/include/ReadExperiment.hpp:162:7: error: no member named 'iota' in namespace 'std'
        std::iota(pos.begin(), pos.end(), 0);
        ~~~~~^
/tmp/sailfish20160406-61846-1fmc239/sailfish-0.9.2/src/SailfishQuantify.cpp:169:8: error: no type named 'random_device' in namespace 'std'
  std::random_device rd;
  ~~~~~^
sjackman commented 8 years ago

Related to updating the formula in Homebrew-science: https://github.com/Homebrew/homebrew-science/pull/3509

rob-p commented 8 years ago

I fixed another minor issue (due to an update of RapMap) and had to move the tag for 0.9.2. Please try pulling from commit aac2432bc6f615ae673ac0db6c2c3ca407142d0d.

sjackman commented 8 years ago

Moving the tag is better avoided if possible. It causes grief when the SHA256 of a tagged release changes.

Downloaded to: /Library/Caches/Homebrew/sailfish-0.9.2.tar.gz
SHA256: 4872c5241864ae12a3aa5e519cf6d2d38d0e510bfcfd420c8d05249f7ee83f82
Warning: Formula reports different SHA256: c65aa7903997bf1931cf2d1f4cd7adf9448da899b01c2c619168eedb8507ce10
sjackman commented 8 years ago

Testing now with the new release of 0.9.2.4872c5241864ae12a3aa5e519cf6d2d38d0e510bfcfd420c8d05249f7ee83f82 https://github.com/Homebrew/homebrew-science/pull/3509

rob-p commented 8 years ago

I agree with your suggestion, and I'll avoid moving the tag in the future. However, I think there may be a problem with the old tag now (which is why I moved it). There was a bug-fix update to RapMap (which is pulled in, in source form, as a dependency), that will cause an issue with the previous commit tagged as 0.9.2 (it creates a runtime logger with the same name, which results in an exception). This wasn't an issue in older releases, because they pull in an older version of RapMap that wasn't doing this logging during index generation.

rob-p commented 8 years ago

Let me know if the new moved tag causes you headaches though. In that case, I could just change the version number and tag a 0.9.3, if that is easier.

sjackman commented 8 years ago

I hadn't yet pushed the PR to Homebrew-science (because it didn't build) so no grief in this case. It builds now! Sailfish 0.9.2 is in Homebrew-science.

sjackman commented 8 years ago

Thanks for your quick responses, Rob.

rob-p commented 8 years ago

Awesome; thanks a ton!