[Xastir] Broken

Tom Russo russo at bogodyn.org
Thu Jan 4 15:14:25 EST 2007


On Thu, Jan 04, 2007 at 02:33:20PM -0500, we recorded a bogon-computron collision of the <n1mie at ct.metrocast.net> flavor, containing:
> Just did a CVS update and rebuild on my MacBook Pro and then my Mini.  
> Everything is working fine on the MBP, but on the Mini (my normal  
> dedicated Xastir machine) I am getting an error. The error states:
> 
> Error! can not find color file: /xastir/config/xastir.rgb

This sounds like something went wrong during configure --- the path in which
xastir stores its database files (e.g. /usr/local/share/xastir for default 
builds, or $PREFIX/share if you specify a --prefix) is supposed to be passed 
to the code at build time through a "-DXASTIR_DATA_BASE=" flag to the compiler.
When you build xastir you should see this on each compile line.  This 
particular directory is *not* specified in your xastir.cnf file, and is
only used in the one place, in the function get_data_base_dir.  (this is
probably something we ought to change some time, as hardcoding the path
into the compile line like this is probably wrong) Try capturing the make 
output:

   make > make.out 2>&1

and looking for that.  It could be that some recent change broke that
logic, or that something pathological on your mini causes it to not get
passed the right thing.  On my system, for example, a typical compile line
looks like:

gcc -DHAVE_CONFIG_H -I. -I.. -I../../xastir/src    -I/usr/local/include -DUSE_PID_FILE_CHECK -I/usr/X11R6/include -I/usr/local/include/db42 -DXASTIR_DATA_BASE=\"/usr/local/share/xastir\"  -O2 -g -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -Wno-unused-parameter -D_THREAD_SAFE -pthread -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o ../../xastir/src/main.c


Note the "-DXASTIR_DATA_BASE" deal in there right after the db42 include
specification.  Your build should show something similar, and if it doesn't
that's where things are broken.

It sounds an awful lot like your XASTIR_DATA_BASE macro isn't getting the
prefix prepended to it.

Also double check that you don't have an XASTIR_DATA_BASE environment variable
set.  Xastir will use the value in the environment variable if there is one.

> I can't think of anything which uses that path. I have Xastir  
> installed at /sw/share/xastir and the user preferences are in  
> ~/.xastir (which is /Users/chip/.xastir). I am in the process of  
> another rebuild just in case, but I don't have much hope of a fix  
> there. Seems like a path issue to me. My normal build commands look  
> like this (in a script, which I have been using for awhile, and  
> perform every time I do a rebuild):

You're doing too many sudos there.

You shouldn't need to sudo anything except the make install.  Unless, of course,
you don't own the directory where xastir is being built --- in that case, 
you should probably build elsewhere.  But since you do a cvs update without
the sudo, I'm guessing that's not the case.

> >sudo ./configure --with-bdb-libdir=/sw/lib --with-bdb-incdir=/sw/include/db4 --prefix=/sw --with-rtree --with-profiling
> >sudo make clean
> >sudo make -s
> >sudo make install -s

I would add a ">make.out 2>&1" to the make line so you can see what's 
going on, and of course remove the "-s" so that the commands are echoed for
diagnosing the problem.

-- 
Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
Tijeras, NM  QRPL#1592 K2#398  SOC#236 AHTB#1 http://kevan.org/brain.cgi?DDTNM
"And, isn't sanity really just a one-trick pony anyway? I mean all you get is
 one trick, rational thinking, but when you're good and crazy, oooh, oooh,
 oooh, the sky is the limit!"  --- The Tick



More information about the Xastir mailing list