[Xastir-dev] Compiling from "build" directory

Tom Russo russo at bogodyn.org
Mon Apr 15 10:03:17 PDT 2019


Sadly, something is busted with "make distclean" and I haven't yet figured
out what it is or how to fix it.  So it's a real pain in the butt to clean out 
configure artifacts until it gets fixed.  The breakage is somewhere in the 
handling of the shapelib directory, probably because of conditional 
compilation that isn't done completely correctly.  That is, if you *aren't* 
building internal shapelib, then "make distclean" aborts partway through 
because it can't find the things it needs to delete.

As a result, your attempt to make distclean probably failed, and left 
additional droppings from configure.

You can always clean your clone so that it contains *nothing* that isn't
tracked by git.  Simply do:
  git clean -dXf

This should delete all untracked directories, all ignored files, and the "f" 
means "yeah, really, force this shiznit."

It should get you right back to the last committed state, as if you'd done
a fresh clone.  You will have to rebootstrap, though.

Building inside the cloned source is a really awful idea, because it pollutes
your git clone with files that need to be ignored by git, lest they get
accidentally committed.  If anything changes about the build procedure and
one doesn't correctly fix ".gitignore" to ignore newly created files, they'll
wind up getting committed if you do catch-all things like "git add ." without
carefully checking "git status" first.

It is for this reason that I don't even put my build directories under the git
clone, because while we have a .gitignore rule to ignore a directory called
"build", I frequently create multiple build directories to build different
variants of Xastir (different compilers, different "--without" options, etc.).
Keeping my build directories *completely* outside of the git clone keeps my
clone pristine and prevents accidental commits of stuff that doesn't belong
on Github.

On another note, I'd really like someday to do away with our "internal shapelib"
because it's an artifact of the bad old days when shapelib was not in very
many package management systems.  I think it was basically a mistake for us
to decide to include it in the Xastir source (which was done so that
we could be sure that at least one shapefile map of the world would load
by default using the simplest build of Xastir), because it locks in a stale
version of shapelib when almost every single package management system already
has it now --- we can simply make it a mandatory third party library just like
X11 and Motif are, without bundling it.  Getting rid of the shapelib directory
altogether would fix the "distclean" issue entirely, and would remove a
set of unmaintained, obsolete code that is probably not even being used by 
very many Xastir users at all anymore.

On Mon, Apr 15, 2019 at 09:07:09AM -0700, we recorded a bogon-computron collision of the <curt.we7u at gmail.com> flavor, containing:
> I admit I usually don't use a "build" directory as the instructions
> currently say to do.
> 
> I just tried it and end up with this:
> 
>   error: source directory already configured; run "make distclean" there
> first
> 
> The sequence was:
> 
> $ cd Xastir
> $ ./bootstrap.sh
> $ mkdir -p build
> $ cd build
> $ ../configure CPPFLAGS="-I/usr/include/libgeotiff"
> configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether make supports nested variables... yes
> configure: error: source directory already configured; run "make distclean"
> there first
> 
> Following through and doing a make distclean at either level doesn't get me
> past this issue. Anyone know why? I also deleted the "autom4te.cache"
> directory: Didn't make a difference.
> 
> I can certainly continue to build in the Xastir directory w/o the build
> directory, but it would be nice to understant this so I can update the SuSE
> build instructions.
> 
> -- 
> Curt, WE7U        http://we7u.wetnet.net        http://www.sarguydigital.com
> _______________________________________________
> Xastir-dev mailing list
> Xastir-dev at lists.xastir.org
> http://xastir.org/mailman/listinfo/xastir-dev

-- 
Tom Russo    KM5VY
Tijeras, NM  

 echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]



More information about the Xastir-dev mailing list