[Bug 208678] Review Request: SimGear - Simulation library components

bugzilla at redhat.com bugzilla at redhat.com
Fri Mar 30 10:06:46 UTC 2007


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Review Request: SimGear - Simulation library components


https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=208678





------- Additional Comments From j.w.r.degoede at hhs.nl  2007-03-30 06:06 EST -------
ARRRGGGGGHHHHHH circular dependency hell

I've managed to untangle things, so that I now am left with this list of
unresolved non weak symbols:
W: SimGear undefined-non-weak-symbol /usr/lib/libsgstructure-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so _ZNK6SGPath3dirEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so _ZN6SGPathD1Ev
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so
_ZN6SGPath6appendERKSs
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so _ZN6SGPathC1ERKSs
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so thesky
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so sgEnviro
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so
_ZN8SGEnviro6getFOVERfS0_
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so
_ZN8SGEnviro17set_view_in_cloudEb
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so
_ZN8SGEnviro14callback_cloudEfffifi
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmisc-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmisc-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmisc-0.3.10.so
_ZN14SGPropertyNode14setDoubleValueEd
W: SimGear undefined-non-weak-symbol /usr/lib/libsgxml-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmodel-0.3.10.so thesky
W: SimGear undefined-non-weak-symbol /usr/lib/libsgenvironment-0.3.10.so thesky

Further untangling is impossible:
W: SimGear undefined-non-weak-symbol /usr/lib/libsgstructure-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
Requires libsgprops-0.3.10.so, but since libsgstructure-0.3.10.so defines the
basic exception types used by all other classes, libsgprops-0.3.10.so also
requires libsgstructure-0.3.10.so -> circular. So other libs (already done) and
apps using -lsgstructure must also always specify -lsgprops (and thus also
-lsgmisc, see below)

W: SimGear undefined-non-weak-symbol /usr/lib/libsgxml-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
This comes from the uncomplete libsgstructure, cannot link to sgprops, as
sgprops is based on sgxml


W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so _ZNK6SGPath3dirEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so _ZN6SGPathD1Ev
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so
_ZN6SGPath6appendERKSs
W: SimGear undefined-non-weak-symbol /usr/lib/libsgprops-0.3.10.so _ZN6SGPathC1ERKSs
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmisc-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmisc-0.3.10.so
_ZNK14SGPropertyNode14getDoubleValueEv
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmisc-0.3.10.so
_ZN14SGPropertyNode14setDoubleValueEd
sgprops requires a few symbols from sgmisc, which also requires a few from
sgprops, circular. So always use -lsgmisc and -lsgprops simultanious

W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so sgEnviro
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so
_ZN8SGEnviro6getFOVERfS0_
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so
_ZN8SGEnviro17set_view_in_cloudEb
W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so
_ZN8SGEnviro14callback_cloudEfffifi
lib

sgsky needs sgenvironment and vica versa, since normally (I think) a user will
always link with sgenviroment sgenviroment is linked against sgsky. If you want
to use sgsky directly, you must still add -lsgenvironment.

W: SimGear undefined-non-weak-symbol /usr/lib/libsgsky-0.3.10.so thesky
W: SimGear undefined-non-weak-symbol /usr/lib/libsgmodel-0.3.10.so thesky
W: SimGear undefined-non-weak-symbol /usr/lib/libsgenvironment-0.3.10.so thesky

This symbol isn't defined anywhere, at first I thought this must be defined by
the user, but thats not true, as flightgear needs to be patched to define it in
order for it to link. Appereantly the involved piece of code doesn't get used,
so when using .a files there is no problem as the object file doesn't become
involved in the linking, so thesky is never missed.

For now I'll "fix" this by adding a patch to sky.cxx defining thesky,
initializing  it to NULL and make it point to the first Sky created (one may
assume there is only one sky).

Some further untangling may be possible with code changes, but I don't know if
we want that.

So I'm going to fix the thesky issue and then build this.

-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.




More information about the Fedora-package-review mailing list