I finished this first build test (static core libs + shared plugin libs):
two remarks:

1) the example osgDepthShadow won't compile:

[ 88%] Building CXX object
examples/osgdepthshadow/CMakeFiles/example_osgdepthshadow.dir/osgdepthshadow.o
Linking CXX executable ../../bin/osgdepthshadow
/home/kenshin/dev/libraries/linux32/gcc-4.1.2/OpenSceneGraph-1.9.5
/lib/libosgShadow.a(ShadowMap.o):(.data+0x0): multiple definition of
`fragmentShaderSource_noBaseTexture'
CMakeFiles/example_osgdepthshadow.dir/osgdepthshadow.o:(.data+0x0): first
defined here
/home/kenshin/dev/libraries/linux32/gcc-4.1.2/OpenSceneGraph-1.9.5
/lib/libosgShadow.a(ShadowMap.o):(.data+0xe0): multiple definition of
`fragmentShaderSource_withBaseTexture'
CMakeFiles/example_osgdepthshadow.dir/osgdepthshadow.o:(.data+0xe0): first
defined here
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [bin/osgdepthshadow] Erreur 1

.. obviously this is linked to the static build process...

2) I have the same problem than I had under WinXP at the beginning: when I
try to run osganimate I get:

[EMAIL PROTECTED] bin]$ ./osganimate
Warning: Could not find plugin to read objects from file "glider.osg".
Warning: Could not find plugin to read objects from file "cessna.osg".
View::setUpViewAcrossAllScreens() : Error, no WindowSystemInterface
available, cannot create windows.
Viewer::realize() - failed to set up any windows

--> the auto referencing of the GraphicWindowX11 interface doesn't happen
neither :-)

By the way, Is someone else working on this static build process or am I on
my own... ? I guess I have to find out a bit more about CMake and linux
symbols anyway...

regards,

Manu.


2007/5/23, Emmanuel Roche < [EMAIL PROTECTED]>:

Hello !

I'm trying to build this release of OSG on linux this time.

First thing noticable: the plugins are still built as shared libraries (in
mode OPENSCENEGRAPH_DYNAMIC=OFF)... is this normal ??

I've got a question any way: On windows, when I was trying to use .dll for
the plugins mixed with static core libraries it didn't work: I'm not un
expert, but I guess this could have something to do with static objects in
osgDB.lib existing in two places (the application and the plugin) and not
being shared as one would expect (please tell me if this explanation is
totally wrong :-) ). So I came to the conclusion that everything must be
shared or static... is this still true under linux with gcc ???

if it is, then it means we have to build static plugin libs and then to
force the compiler to include the needed symbols again... (correct me if I'm
wrong but I think that current gcc versions (4.1 at least...) perform
function level linking by default). Does anyone know how to retrieve the
symbol list from the librairy ? (ie: what is the corresponding command for
MS " dumpbin.exe" ? :-))

still if my previous assumption is true for linux, could someone just tell
me what should be changed in order to built static plugin libs in the Cmake
files ?

Now, if this assumption is wrong, it would mean that I should expect this
current compilation (static core libs + shared plugin libs) to work just
fine ?

regards,

Manu.


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to