rrwick / Bandage

a Bioinformatics Application for Navigating De novo Assembly Graphs Easily
http://rrwick.github.io/Bandage/
GNU General Public License v3.0
585 stars 98 forks source link

help with compiling for bioconda #118

Open aryarm opened 1 year ago

aryarm commented 1 year ago

Hi @rrwick,

Thanks for making Bandage! It's such a useful tool.

I'm trying to figure out how to compile v0.9.0 for bioconda, but I keep running into errors.

Here's my work so far:

And here are the 24 errors I keep getting:

/bin/ld: warning: libXext.so.6, needed by /usr/lib64/libGL.so, not found (try using -rpath or -rpath-link)
/bin/ld: warning: libexpat.so.1, needed by /usr/lib64/libGL.so, not found (try using -rpath or -rpath-link)
/bin/ld: warning: libXau.so.6, needed by /usr/lib64/libxcb-glx.so.0, not found (try using -rpath or -rpath-link)
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XextAddDisplay'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XextRemoveDisplay'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_SetUserData'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_Parse'
/bin/ld: /lib/libQt5Core.so: undefined reference to `clock_gettime@GLIBC_2.17'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XMissingExtension'
/bin/ld: /lib64/libxcb.so.1: undefined reference to `XauDisposeAuth'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_ParseBuffer'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_ErrorString'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XextFindDisplay'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_GetCurrentColumnNumber'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_GetCurrentColumnNumber'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_ParserFree'
/bin/ld: /lib/libQt5Svg.so: undefined reference to `memcpy@GLIBC_2.14'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_ParserCreate'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_GetErrorCode'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_GetCurrentLineNumber'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_SetElementHandler'
/bin/ld: /lib/libQt5Core.so: undefined reference to `getauxval@GLIBC_2.16'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XML_GetBuffer'
/bin/ld: /usr/lib64/libGL.so: undefined reference to `XextCreateExtension'
/bin/ld: /usr/lib64/libxcb.so.1: undefined reference to `XauGetBestAuthByAddr'

Do you have any suggestions? I suspect I might be linking the libraries incorrectly, but I'm not sure...

bernt-matthias commented 1 year ago

Hey @aryarm check https://github.com/asl/BandageNG and its bioconda recipe .. which unfortunately broke recently https://github.com/bioconda/bioconda-recipes/pull/41091

aryarm commented 1 year ago

thanks for the suggestion, @bernt-matthias . Unfortunately, I fear that the two packages have diverged enough that the BandageNG recipe is not a good reference anymore. For example, the Bandage recipe uses qmake and QT5, but BandageNG uses cmake and requires QT6


In the meantime, I've managed to reduce the original set of 24 errors down to just 3! I just had to add a few dependencies. But now I'm pretty stuck.

/bin/ld: /lib/libQt5Core.so: undefined reference to `clock_gettime@GLIBC_2.17'
/bin/ld: /lib/libQt5Svg.so: undefined reference to `memcpy@GLIBC_2.14'
/bin/ld: /lib/libQt5Core.so: undefined reference to `getauxval@GLIBC_2.16'

Does anyone have any suggestions on how to resolve these? Does this imply that Qt5 needs three different versions of the standard library?!

aryarm commented 1 year ago

@willemdek11, as the original creator of the Bandage recipe, do you have any insights or recommendations?