Hi Chris,

I do understand the Debian policy of compiling all libraries as shared libs,
and understand there are many good reasons to have that policy.  However,
simgear does not official support being compiled as shared libs.  From a
practical standpoint, there really isn't much value in this.  The specific
version of SimGear is *very* closely linked to the specific version of
FlightGear, and FlightGear can't run with mismatched versions.  Compiling
C++ code into shared libraries can become a bit snaky due to different name
mangling rules between compilers and even different versions of the same
compiler.  Very likely FlightGear is the only application that will ever
link to simgear on a person's system.  Developing two closely linked
packages where one is built as a shared lib can be a pain for a couple
different reasons.  libtool can be a pain for a couple reasons too.  I
realize none of this will cause Debian to want to change it's shared library
policy, but hopefully it shows that our logic isn't completely random
either.

FlightGear typically is not opposed to reasonable changes if it helps
someone somewhere without confusing or complicating the code, so if there
are easy, straightforward ways to untangle the interdependencies you are
encountering as shared libs, I don't think we'd flat rule those out.
 However, our policy is that SimGear should be compiled as a static lib, so
we aren't going to completely restructure the code and the build system to
directly support building simgear as shared libraries.

Regards,

Curt.


On Tue, Aug 3, 2010 at 1:45 PM, Chris Baines wrote:

> Hello,
>
> I am trying to update the SimGear package in Debian (from 1.9.1 to
> 2.0.0), I have packaged the current version of fgrun and plan to upload
> it, but it only compiles with SimGear (v2.0.0).
>
> The current Debian Maintainer is as far as I can tell not active at the
> moment, which is why I have ended up trying to upgrade the package
> myself. The Maintainer has included a makefile that takes the static
> libraries and makes them is to shared object libraries. However these
> libraries have circular dependencies that I cant seam to solve. For
> instance the following shared object libraries are interdependent on
> each other:
>        libsgprops <--> libsgmisc
>        libsgprops <--> libsgstructure
>        libsgmaterial <--> libsgutil
>        libsgtiming <--> libsgstructure
>
> This prevents me from compiling FlightGear with the package as it errors
> like:
>        /usr/lib/gcc/i486-linux-gnu/4.4.5/../../../../lib/libsgstructure.so:
> undefined reference to `SGTimeStamp::stamp()'
>
> Is this something you can help me with?
>
> Thanks,
>
> Chris
>
>
>
>
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>



-- 
Curtis Olson: http://baron.flightgear.org/~curt/
------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to