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

Compilation failures with Fedora 24 #14

Open
verdurin opened this issue May 22, 2016 · 1 comment
Open

Compilation failures with Fedora 24 #14

verdurin opened this issue May 22, 2016 · 1 comment

Comments

@verdurin
Copy link

mmseq currently fails to build for the upcoming Fedora 24 release, which is using GCC 6.1.1 and Boost 1.60.0.

The error that breaks the build is:

/tmp/cclQ5X4W.o: In function `main':
/builddir/build/BUILD/mmseq-1.0.8a/src/bam2hits.cpp:671: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
/tmp/cclQ5X4W.o: In function `char const* boost::re_detail_106000::re_is_set_member<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> >, unsigned int>(char const*, char const*, boost::re_detail_106000::re_set_long<unsigned int> const*, boost::re_detail_106000::regex_data<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, bool)':
bam2hits.cpp:(.text._ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb[_ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb]+0x156): undefined reference to `boost::re_detail_106000::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
bam2hits.cpp:(.text._ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb[_ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb]+0x2fd): undefined reference to `boost::re_detail_106000::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
collect2: error: ld returned 1 exit status
Makefile:54: recipe for target 'bam2hits' failed
make: *** [bam2hits] Error 1

while there are lots of warnings like these:

g++ -DVERSION=1.0.8 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generi
c -fopenmp -O2 bms.o mmdiff.cpp -o ../bin/mmdiff -lgsl -lgslcblas -lboost_regex -lbam -lboost_iostreams -llapack -lblas -lgfortran -Wl,--as-needed -lz -larmadillo
mmdiff.cpp: In function 'void parse_mmseq(std::vector<std::__cxx11::basic_string<char> >, std::vector<std::__cxx11::basic_string<char> >&, arma::Mat<double>&, arma::Mat<double>&, arma::Mat<double>&, int, int, double, bool)':
mmdiff.cpp:99:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0; i < filenames.size(); i++) {
                ~~^~~~~~~~~~~~~~~~~~
mmdiff.cpp:110:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int j=0; j < tokens.size(); j++) {
                  ~~^~~~~~~~~~~~~~~
mmdiff.cpp:137:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(k + 1 > features.size()) {
          ~~~~~~^~~~~~~~~~~~~~~~~
mmdiff.cpp:146:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(k+1 > y.n_rows) {
          ~~~~^~~~~~~~~~
mmdiff.cpp:151:20: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
       if(!useprops && tokens[lmg_ind]=="NA" || useprops && tokens[mp_ind]=="NA") {
          ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
mmdiff.cpp:172:62: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(range_start >=0 && range_end > range_start && range_end < y.n_rows) {
                                                    ~~~~~~~~~~^~~~~~~~~~
mmdiff.cpp:93:46: warning: variable 'mcse_ind' set but not used [-Wunused-but-set-variable]
   int feature_ind=-1, lmg_ind=-1, sd_ind=-1, mcse_ind=-1, iact_ind=-1, mp_ind=-1, sp_ind=-1, uh_ind=-1;
                                              ^~~~~~~~
@eturro
Copy link
Owner

eturro commented May 31, 2016

Hi Adam

I wouldn't worry too much about the warnings.

Regarding the error, it appears to be specific to boost 1.60.0.

I've compiled bam2hits with 1.60.0 and it worked fine (albeit with some deprecated headers warnings, which didn't appear with 1.55.0).

Are you sure this isn't a specific boost problem ? I'm afraid it's not straightforward for me to reproduce the error as I don't use Fedora..

Thanks
Ernest

On 22 May 2016, at 22:51, Adam Huffman notifications@github.com wrote:

mmseq currently fails to build for the upcoming Fedora 24 release, which is using GCC 6.1.1 and Boost 1.60.0.

The error that breaks the build is:

/tmp/cclQ5X4W.o: In function main': /builddir/build/BUILD/mmseq-1.0.8a/src/bam2hits.cpp:671: warning: the use oftmpnam' is dangerous, better use mkstemp' /tmp/cclQ5X4W.o: In functionchar const* boost::re_detail_106000::re_is_set_member<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits >, unsigned int>(char const_, char const_, boost::re_detail_106000::re_set_long const_, boost::re_detail_106000::regex_data<char, boost::regex_traits<char, boost::cpp_regex_traits > > const&, bool)':
bam2hits.cpp:(.text._ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb[ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb]+0x156): undefined reference to boost::re_detail_106000::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const' bam2hits.cpp:(.text._ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb[_ZN5boost16re_detail_10600016re_is_set_memberIPKccNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEjEET_S8_S8_PKNS0_11re_set_longIT2_EERKNS0_10regex_dataIT0_T1_EEb]+0x2fd): undefined reference toboost::re_detail_106000::cpp_regex_traits_implementation::transform[abi:cxx11](char const*, char const*) const'
collect2: error: ld returned 1 exit status
Makefile:54: recipe for target 'bam2hits' failed
make: *
* [bam2hits] Error 1

while there are lots of warnings like these:

g++ -DVERSION=1.0.8 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generi
c -fopenmp -O2 bms.o mmdiff.cpp -o ../bin/mmdiff -lgsl -lgslcblas -lboost_regex -lbam -lboost_iostreams -llapack -lblas -lgfortran -Wl,--as-needed -lz -larmadillo
mmdiff.cpp: In function 'void parse_mmseq(std::vectorstd::__cxx11::basic_string, std::vectorstd::__cxx11::basic_string&, arma::Mat&, arma::Mat&, arma::Mat&, int, int, double, bool)':
mmdiff.cpp:99:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0; i < filenames.size(); i++) {
~~^~~~~~~~~~~~~~~~~~
mmdiff.cpp:110:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int j=0; j < tokens.size(); j++) {
~~^~~~~~~~~~~~~~~
mmdiff.cpp:137:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(k + 1 > features.size()) {
~~~~~~^~~~~~~~~~~~~~~~~
mmdiff.cpp:146:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(k+1 > y.n_rows) {
~~~~^~~~~~~~~~
mmdiff.cpp:151:20: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if(!useprops && tokens[lmg_ind]=="NA" || useprops && tokens[mp_ind]=="NA") {
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
mmdiff.cpp:172:62: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if(range_start >=0 && range_end > range_start && range_end < y.n_rows) {
~~~~~~~~~~^~~~~~~~~~
mmdiff.cpp:93:46: warning: variable 'mcse_ind' set but not used [-Wunused-but-set-variable]
int feature_ind=-1, lmg_ind=-1, sd_ind=-1, mcse_ind=-1, iact_ind=-1, mp_ind=-1, sp_ind=-1, uh_ind=-1;
^~~~~~~~


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

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

No branches or pull requests

2 participants