[Xastir-dev] Standards: FHS, FSSTD, FSSTND, LSB

Curt Mills archer at eskimo.com
Sun Nov 19 12:27:12 EST 2006


Who's good at hacking Makefiles and/or autoconf/automake?  I need
some help!

I'm trying to make an LSB-compliant Xastir binary RPM package, which
will then install on any LSB-3.0 compliant Linux box.  If we do it
right the build can be fully automated so that we can keep a binary
RPM up-to-date for people to download, similar to how I create SuSE
RPM's right now.

I'm running into mismatch problems between libraries and header
files as compile Lesstif and then Xastir against some
statically-linked and some dynamically-linked libraries.

Basically it's the statically-linked ones that are a problem, mostly
because I need to link in an OS-supplied library, when there's an
LSB-suppled dynamic library that does the same thing.  The LSB
compile process forces one to statically link in libraries that
aren't supplied by LSB, but linking in a static library from the OS
that is also supplied by LSB as a dynamic library is a bit beyond
me.

I wrote a script to apply patches to the Lesstif sources, then
compile it as an LSB-compliant package.  This Lesstif package needs
to statically link "libXt.a" as they decided to use some unpublished
interfaces into libXt, therefore one can't dynamically link it to
the LSB-supplied "libXt.so".  I believe I'm running into problems
with the LSB-supplied headers which don't match the OS-supplied
ones.  It should be possible to fix the Makefiles to use the
OS-supplied headers and "libXt.a" library, but use the LSB-supplied
headers and libs for everything else.

The method I chose as my first attempt was to disable the shared
library in the /opt/lsb/lib/ directory and temporarily copy the
static library to there, which avoided editing the Makefiles.  I
still need to try a similar thing with the header files.  Even if it
works it's not a proper solution, only a test to see if building the
package is possible.  I badly need someone that knows
autoconf/automake inside and out, or can seriously hack Makefiles,
so that the process can be automated when we're all done.

Once I get past the above I need to statically link Lesstif,
"libXp.a", and "libXpm.a" with Xastir, plus statically link in any
other map library which Xastir uses.  Some of the map libraries
don't lend themselves well to this due to the shocking number of
other libraries they use (ImageMagick and perhaps GDAL) but we
should be able to get most of the others built into the LSB Xastir.
Right now I'm just after a minimum install with "no" listed for all
the options.

Again, I tried copying the static version of some of the libraries
into the /opt/lsb/lib directory and managed to get /opt/lsb-xastir/*
created, but the executable segfaults, most likely due to
library/header mismatches.

Any help out there?

-- 
Curt, WE7U.				archer at eskimo dot com
http://www.eskimo.com/~archer
  Lotto:  A tax on people who are bad at math. - unknown
Windows:  Microsoft's tax on computer illiterates. - WE7U.
The world DOES revolve around me:  I picked the coordinate system!"



More information about the Xastir-dev mailing list