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

fails to compile with boost 1.56+ #3

Closed
wookietreiber opened this issue Dec 11, 2014 · 17 comments
Closed

fails to compile with boost 1.56+ #3

wookietreiber opened this issue Dec 11, 2014 · 17 comments

Comments

@wookietreiber
Copy link
Contributor

I am on an up to date Arch Linux with boost 1.57.0. cufflinks compilation fails at target abundances.o with the following errors (this is the output of clang++ which I find nicer visually better than g++):

In file included from abundances.cpp:16:
In file included from ./abundances.h:17:
In file included from /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/vector:60:
In file included from /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/bits/stl_algobase.h:64:
/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/bits/stl_pair.h:119:22: error: no matching constructor for initialization of 'boost::shared_ptr<void>'
        : first(__p.first), second(__p.second) { }
                            ^      ~~~~~~~~~~
In file included from abundances.cpp:16:
In file included from ./abundances.h:17:
In file included from /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/vector:60:
In file included from /usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/bits/stl_algobase.h:64:
/usr/bin/../lib64/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/bits/stl_pair.h:119:22: error: no matching constructor for initialization of 'boost::shared_ptr<void>'
        : first(__p.first), second(__p.second) { }
                            ^      ~~~~~~~~~~

I presume errors like these may occur in other places as well.

@wookietreiber
Copy link
Contributor Author

I also downgraded boost to 1.56.0 which didn't work either.

@wookietreiber
Copy link
Contributor Author

On another server I still have a compiled and working cufflinks installation with boost 1.55. This leads me to suspect that the relevant change had been between boost 1.55 and 1.56.

BTW everything has been tried with cufflinks 2.2.1.

@ctrapnell
Copy link
Contributor

Do you still get this error with the HEAD of the develop branch? We've had some issues with Clang and 1.56+, as have a number of other projects. I probably won't get to this until Macports releases their 1.57 portfile, as it seemed like there were a bunch of problems in 1.56, some of which are worked out in 1.57.

@wookietreiber
Copy link
Contributor Author

Still the same errors with both gcc and clang for HEAD of develop branch.

@apeltzer
Copy link

I can confirm this issue, same here.

@sjackman
Copy link

I see this issue with boost 1.57 installed on Mac using Homebrew.

@ctrapnell
Copy link
Contributor

This compilation failure results from a bug in Boost serialization in 1.56+ (https://svn.boost.org/trac/boost/ticket/10488). Although there appears to be some disagreement about whether this truly is considered a bug, Cufflinks appears to be one of many programs affected by the shared_ptr serialization policy change. Working around this in Cufflinks looks like it requires that I remove const qualifiers on numerous shared_ptrs, which I'm not willing to do. This will remain open for the time being. Users should stick to Boost 1.55 and lower.

@robertramey
Copy link

note this is corrected in the boost master branch and will appear in the next boost release

@smowton
Copy link
Contributor

smowton commented Mar 12, 2015

:D Thanks @robertramey

@ryandesign
Copy link

I tested with boost 1.58.0 beta 1, released March 16, 2015, and the problem remains.

@nsoranzo
Copy link

Can this be mentioned in http://cole-trapnell-lab.github.io/cufflinks/getting_started/ ? It would save people some time!

And also that samtools needs to be <= 0.1.19 .

@ryandesign
Copy link

I tested with boost 1.58.0, released April 17, 2015, and the problem remains.

@ctrapnell
Copy link
Contributor

Apparently the fix didn't take the first time around. Looks like we'll have to wait for 1.59 for the official fix in Boost::Serialization. I will update the getting started page for those who want to build from source.

@wookietreiber wookietreiber changed the title fails to compile with boost 1.57.0 fails to compile with boost 1.56+ May 27, 2015
@mschubert
Copy link

1.59 is in beta, did anyone try this already?

@xnox
Copy link

xnox commented Aug 16, 2015

@mschubert
Copy link

Just tested on gentoo_prefix with boost=1.59, and it works.

sjackman added a commit to sjackman/homebrew-science-deprecated that referenced this issue Aug 17, 2015
Build with boost rather than homebrew/versions/boost155
See cole-trapnell-lab/cufflinks#3 (comment)

Add desc
@ctrapnell
Copy link
Contributor

Confirmed - I can also build on OS X via macports' boost 1.59.

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

10 participants