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

Re: Please help me poking around in cmake



El Dimecres, 8 de juliol de 2015, a les 11:42:20, Andreas Tille va escriure:
> Hi Leopold,
> 
> On Wed, Jul 08, 2015 at 10:38:57AM +0200, Leopold Palomo-Avellaneda wrote:
> > El Dimecres, 8 de juliol de 2015, a les 09:41:45, Andreas Tille va 
escriure:
> > > Hi,
> > > 
> > > I'm working on the Debian Med target hyphy that is using cmake and I
> > > tried to link against Debian packaged sqlite.  I found some promising
> > > code to steal from and created a patch but somehow the -lsqlite3 option
> > > is missing from the linker call.  I guess its a simple flaw in my patch
> > > and perhaps somebody could help me fixing this.  The packaging is at
> > > 
> > >    svn://anonscm.debian.org/debian-med/trunk/packages/hyphy/trunk/
> > > 
> > > Thanks for any help
> > > 
> > >          Andreas (who wishes to find the time to dive a bit more into
> > >          cmake)
> > 
> > It worked ... at least what i have seen. The package fails for another
> > things.
> When I build with pdebuild I get
> 
> ...
> Linking CXX executable HYPHYMPI
> /usr/bin/cmake -E cmake_link_script CMakeFiles/HYPHYMPI.dir/link.txt
> --verbose=1 /usr/bin/c++   -g -O2 -fstack-protector-strong -Wformat
> -Werror=format-security -D_FORTIFY_SOURCE=2    -Wl,-z,relro -g
> -fsigned-char -O3 -march=corei7-avx -mtune=corei7-avx  CMakeFiles/   
> HYPHYMPI.dir/src/core/list.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/strings.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/avllist.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/operation.cpp.o CMakeFiles/ 
> HYPHYMPI.dir/src/core/batchlan.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/batchlanruntime.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/category.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/alignment.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/simplelist.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/baseobj.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/fisher_exact.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/       variable.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/trie.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/calcnode.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/batchlanhelpers.cpp.o
> CMakeFiles/HYPHYMPI.dir/   src/core/stack.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/batchlan2.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/regex.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/parser2.cpp.o CMakeFiles/HYPHYMPI.dir/  
> src/core/site.cpp.o CMakeFiles/HYPHYMPI.dir/src/core/calcnode2.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/sequence.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/nexus.cpp.o CMakeFiles/HYPHYMPI.dir/  
> src/core/avllistxl.cpp.o CMakeFiles/HYPHYMPI.dir/src/core/likefunc2.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/_hyExecutionContext.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/formula.cpp.o         
> CMakeFiles/HYPHYMPI.dir/src/core/variablecontainer.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/avllistx.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/polynoml.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/   error.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/parser.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/fstring.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/likefunc.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/   likefuncocl.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/constant.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/matrix.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/mathobj.cpp.o CMakeFiles/HYPHYMPI.dir/src/
>  new/bgm.cpp.o CMakeFiles/HYPHYMPI.dir/src/new/bgm2.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/new/bayesgraph.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/new/scfg.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/new/Net.    cpp./usr/bin/c++   -g -O2
> -fstack-protector-strong -Wformat -Werror=format-security
> -D_FORTIFY_SOURCE=2    -Wl,-z,relro -g -fsigned-char -O3 -march=corei7-avx
> -mtune=corei7-avx  CMakeFiles/HYPHYMPI.dir/src/core/list.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/strings.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/avllist.cpp.o
> CMakeFiles/HYPHYMPI.dir/src/core/operation.cpp.o CMakeFiles/ 
> HYPHYMCMakeFiles/HYPHYMPI.dir/src/core/batchlan2.cpp.o: In function
> `_ElementaryCommand::ExecuteCase53(_ExecutionList&)':
> /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:901: undefined reference to
> `sqlite3_open' /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:907:
> undefined reference to `sqlite3_errmsg'
> /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:908: undefined reference to
> `sqlite3_close' /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:904:
> undefined reference to `sqlite3_exec'
> /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:919: undefined reference to
> `sqlite3_busy_timeout' /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:933:
> undefined reference to `sqlite3_close'
> /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:942: undefined reference to
> `sqlite3_exec' /tmp/buildd/hyphy-2.2.4/src/core/batchlan2.cpp:943:
> undefined reference to `sqlite3_errmsg' ...
> 
> 
> What else do you get?

using pbuilder the same...

it worked in my case because I ran it without patch, it was my fault. Just 
run:
fakeroot debian/rules binary

but I must admit that i don't understand why no applied the patch ...


Why do it fail in your case?

because you need to add ${SQLITE3_LIBRARIES} as target dependency of HYPHYMP

line 294 of CMakeLists.txt patched
-target_link_libraries(HYPHYMP ${DEFAULT_LIBRARIES})
+target_link_libraries(HYPHYMP ${DEFAULT_LIBRARIES} ${SQLITE3_LIBRARIES} )

another thing is to add ${SQLITE3_LIBRARIES} to ${DEFAULT_LIBRARIES}, but I 
don't know how it affects the rest.

Kind regards,

Leopold


> Kind regards
> 
>       Andreas.

-- 
--
Linux User 152692     GPG: 05F4A7A949A2D9AA
Catalonia
-------------------------------------
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: