Root directory name for building Subsurface

Anton Lundin glance at acc.umu.se
Sun Feb 5 22:46:52 PST 2017


On 06 February, 2017 - Willem Ferguson wrote:

> Is the name of the ~/src directory critical?

Nope. You can call it whatever you want. I dump everything in
~/Downloads/ because thats excluded by my backup scripts by default, and
the git repos i backup using git.

> What would happen if I changed it to src-linux or src-android?
> I notice that if I execute
> Subsurface for Linux after renaming ~/src to ~/src-linux, then I get
> an error message:
> 
> ./subsurface: error while loading shared libraries: libgit2.so.24:
> cannot open shared object file: No such file or directory
> 
> But this is probably a consequence of building subsurface while
> using build directory ~/src and afterwards renaming it to
> src-linux?? Since PWD is used in the shell right from the start, in
> theory the name of the build directory could be almost anything?

You can't really move them around. There are a lot of things, cmake
being just one of them, who hard codes full paths to files. If you need
to move something, a full rebuild of everything is probably the simplest
way. I tend to just hack it, but full rebuild is simpler.

> But If I try to build using src-linux, then I get an error message:
> 
> CMake Error: The current CMakeCache.txt directory
> /home/willem/src-linux/libgit2/build/CMakeCache.txt is different
> than the directory /home/willem/src/libgit2/build where
> CMakeCache.txt was created. This may result in binaries being
> created in the wrong place. If you are not sure, reedit the
> CMakeCache.txt
> 

This is due to you moving it.


That said. Why multiple copies of the same thing? I build 5-6 different
variants of subsurface out of the same source tree. I like to verify
that something I've just done didn't break any other platform, and that
way its simplest that all of them build from the same sources.

If you work on multiple different incompatible features at the same
time, git worktree is a quite nice feature. One git repo, multiple
different checked-out worktrees.


//Anton


-- 
Anton Lundin	+46702-161604


More information about the subsurface mailing list