cmake of Subsurface: link errors

Dirk Hohndel dirk at hohndel.org
Mon Apr 20 07:48:59 PDT 2015


> On Apr 20, 2015, at 12:46 AM, Willem Ferguson <willemferguson at zoology.up.ac.za> wrote:
> 
> On 19/04/2015 22:08, Robert C. Helling wrote:
>> Willem,
>> 
>>> On 19 Apr 2015, at 20:24, Willem Ferguson <willemferguson at zoology.up.ac.za <mailto:willemferguson at zoology.up.ac.za>> wrote:
>>> 
>>> Anything I could do now?
>>> I know there is currently a lot of activity to get the build to run smoothly.
>> 
>> with git grep I get the impression this is once more a problem with the version of libgit2 (has to be quite recent). I would have thought the build script does download that but I would investigate the version installed on your system.
>> 
>> Best
>> Robert
>> 
> I had libgit2 v0.19 in my system and v0.22 in the src directory. I removed v0.19 from the system, leaving only the version in the src directory.
> 
> It aborts two steps earlier in the process with a slightly different error message. Looks like libgit2 is a real obstacle.
> 
> [ 23%] Built target subsurface_corelib
> make[2]: *** No rule to make target `/usr/lib/x86_64-linux-gnu/libgit2.a', needed by `TestGpsCoords'.  Stop.
> make[1]: *** [CMakeFiles/TestGpsCoords.dir/all] Error 2
> make: *** [all] Error 2
> willem at dive:~/src$ 
>  


The thing that’s annoying is that even if we build libgit2 from source, cmake seems to pick the system installed one over ours.
I’ve had that happen as well, but don’t understand the FindXXX() functions enough to figure out why that is. But as it happens I’ll be hanging out with Tomaz for the next few days and I’ll beat him with a stick until he fixes this.
OK, maybe not beat him. Maybe I’ll just ask nicely :-)

> I am not clear on what build.sh does with libigit2. I would have expected that the install instruction (line 55 in build.sh) installs libgit2 in the appropriate system folder. But a locate command on libgit2 on my machine now only shows files in the home/src directory, not in /lib/ or a similar directory. From what I can see from the error message, the make process aborts while trying to make use of libgit2 to build Subsurface. This means that a valid object file for libgit2 exists??

No, we don’t install anything in system directories. We install into our install-root.

/D

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20150420/57b99d72/attachment.html>


More information about the subsurface mailing list