[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

CMake help: pthread linking issue



Hi again,

[...]
> I am trying to update salmon [1] to the latest upstream version, but it
> won't build for reasons I can not really track down well. It uses CMake
> as the build system, which I am really not familiar with and to me feels
> a bit like magic incantations to me that mostly work if you use the
> right spells ;)

Someone showed me how I waved my hand in the wrong direction while
spellcasting ;) So I managed to get around that particular issue now and
also updated the embedded copy of RapMap that is sadly still required to
build to the same version currently in unstable.

Unfortunately I am now stuck with another fairly cryptic (to me) build
failure regarding spdlog:

/usr/include/c++/7/bits/shared_ptr.h:703:5: note:   template argument
deduction/substitution failed:
/build/salmon-0.8.0+ds1/src/SalmonQuantifyAlignments.cpp:1575:69: error:
no matching function for call to 'create(const char [11],
<brace-enclosed initializer list>)'
         auto consoleLog = spdlog::create("consoleLog", {consoleSink});
                                                                     ^
In file included from /usr/include/spdlog/spdlog.h:192:0,
                 from /build/salmon-0.8.0+ds1/include/SalmonOpts.hpp:7,
                 from /build/salmon-0.8.0+ds1/include/SalmonUtils.hpp:25,
                 from /build/salmon-0.8.0+ds1/include/Transcript.hpp:10,
                 from /build/salmon-0.8.0+ds1/include/ClusterForest.hpp:7,
                 from
/build/salmon-0.8.0+ds1/src/SalmonQuantifyAlignments.cpp:41:
/usr/include/spdlog/details/spdlog_impl.h:179:40: note: candidate:
std::shared_ptr<spdlog::logger> spdlog::create(const string&, const
sink_ptr&)
 inline std::shared_ptr<spdlog::logger> spdlog::create(const
std::string& logger_name, const spdlog::sink_ptr& sink)
                                        ^~~~~~
/usr/include/spdlog/details/spdlog_impl.h:179:40: note:   no known
conversion for argument 2 from '<brace-enclosed initializer list>' to
'const sink_ptr& {aka const std::shared_ptr<spdlog::sinks::sink>&}'
/usr/include/spdlog/details/spdlog_impl.h:186:40: note: candidate:
std::shared_ptr<spdlog::logger> spdlog::create(const string&,
spdlog::sinks_init_list)
 inline std::shared_ptr<spdlog::logger> spdlog::create(const
std::string& logger_name, spdlog::sinks_init_list sinks)
                                        ^~~~~~
/usr/include/spdlog/details/spdlog_impl.h:186:40: note:   no known
conversion for argument 2 from '<brace-enclosed initializer list>' to
'spdlog::sinks_init_list {aka
std::initializer_list<std::shared_ptr<spdlog::sinks::sink> >}'
/usr/include/spdlog/details/spdlog_impl.h:201:40: note: candidate:
template<class It> std::shared_ptr<spdlog::logger> spdlog::create(const
string&, const It&, const It&)
 inline std::shared_ptr<spdlog::logger> spdlog::create(const
std::string& logger_name, const It& sinks_begin, const It& sinks_end)
                                        ^~~~~~
Full build log attached. I have also pushed the modified WIP code to
Salsa's salmon master.

Also, to get his far I had to disable building the unit tests as
apparently the rest of the Salmon code wasn't linked against the test
code at build time. Maybe someone could take another look?

I am afraid that my current lack of time for diving into CMake/C++
specific stuff and the fact that I do not use Salmon at all myself are
not the best foundations for doing this package correctly and at a high
standard. Does anyone care a bit more about Salmon and might want to
step in? (probably Kevin or Michael? ;))

Cheers and thanks
Sascha

Attachment: buildlog.txt.bz2
Description: application/bzip

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: