Re: [osg-users] [build] Build problem with gdk-x11-2.0
Hi Robert -- Confirmed -- that change works for me. Thanks, Davin -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=11732#11732 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Build problem with gdk-x11-2.0
Hi Davin, I have just checked my CMakeCache and I too have POPPLER_LIBRARY_DIRS rather then POPPLER_LIB_DIRS that I used in the pdf/CMakeLists.txt. So it does look like POPPLER_LIBRARY_DIRS is the one to use. I've made this change and checked into svn/trunk. The file is also attached. Could you let me know if this change helps. Cheers, Robert. On Wed, May 6, 2009 at 5:33 PM, Davin da...@appliomics.com wrote: Hi Robert -- My CMake-foo is weak, so a bit of hand-holding is appreciated in finding the info you seek. Agreed whole-heartedly with your comment about the right way to fix the problem I encountered -- my low comfort level with CMake led me to stumble onto the quick and dirty workaround I described. What I can offer is this: * in the svg plugin, the libgdk*.so libraries appear to be successfully referenced and linked in as seen in that plugin's link.txt where -L/opt/gnome/lib64 appears in the CMake-generated version of that file (i.e. I didn't touch that one at all) * in the problematic pdf plugin's CMakeLists.txt, I see POPPLER_LIB_DIRS referenced like this: LINK_DIRECTORIES(${CAIRO_LIBRARY_DIRS} ${POPPLER_LIB_DIRS}) * looking in the top-level CMakeCache.txt, I can find no such POPPLER_LIB_DIRS definition however I do find that both POPPLER_LDFLAGS and POPPLER_LIBRARY_DIRS contain references to /opt/gnome/lib64 (the link directory I needed for the pdf plugin to build on my particular system) in their definitions; in particular, this line: POPPLER_LIBRARY_DIRS:INTERNAL=/opt/gnome/lib64 I do not know if POPPLER_LIB_DIRS should be replaced with POPPLER_LIBRARY_DIRS, but I hope the above proves helpful. Please guide me to dig for more information -- I'm happy to help. Davin -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=11530#11530 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org SET(TARGET_SRC ReaderWriterPDF.cpp ) INCLUDE_DIRECTORIES( ${CAIRO_INCLUDE_DIRS} ${POPPLER_INCLUDE_DIRS} ) LINK_DIRECTORIES(${CAIRO_LIBRARY_DIRS} ${POPPLER_LIBRARY_DIRS}) SET(TARGET_EXTERNAL_LIBRARIES ${CAIRO_LIBRARIES} ${POPPLER_LIBRARIES} ) SET(TARGET_ADDED_LIBRARIES osgWidget) end var setup ### SETUP_PLUGIN(pdf pdf) ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Build problem with gdk-x11-2.0
On Wed, May 6, 2009 at 12:33 PM, Davin da...@appliomics.com wrote: I do not know if POPPLER_LIB_DIRS should be replaced with POPPLER_LIBRARY_DIRS, but I hope the above proves helpful. Yes that looks like a simple typo. Replacing POPPLER_LIB_DIRS with POPPLER_LIBRARY_DIRS should fix your problem (can you confirm that?). Apparantly not a lot of people build this plugin without it being located in /usr/lib otherwise someone would have caught this earlier. What you're seeing is the result of a function call into CMake's FindPkgConfig module made in the root CMakeLists.txt of OSG (search for POPPLER). The function provides PACKAGE_LIBRARY_DIRS: http://www.cmake.org/cmake/help/cmake2.6docs.html#module:FindPkgConfig -- Philip Lowman ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Build problem with gdk-x11-2.0
Hi Davin, One should use CMake to set up the paths correctly rather than have to edit the link.txt, so the fact you needed to do this suggests that either the required libs were found correctly, or that the pdf/CMakeLists.txt is missing a search path. What values does Cmake report for the gdk libs? Robert. On Mon, May 4, 2009 at 9:25 PM, Davin da...@appliomics.com wrote: I ran into the same issue on an OpenSuSE 10.2 x86_64 system when working with Stable Release 2.8.0 of osg. In case it's of help to anyone, I can offer that the following workaround helped me past the problem: Despite /opt/gnome/lib64 being in my system's ld.so.conf, the link step apparently failed to find libgdk-x11-2.0.so in that directory when attempting to produce osgPlugins-2.8.0/osgdb_pdf.so. Manually modifying the link.txt file (originally created by the invocation of cmake in the top-level configure script) in the OpenSceneGraph-2.8.0/src/osgPlugins/pdf/CMakeFiles/osgdb_pdf.dir/ directory to insert -L/opt/gnome/lib64 in front of the references to gdk-x11-2.0 manages to get the c++ linker to find the library. After such modification that file, typing make again causes the build to pick up where it left off and run through to successful completion. Hope this proves helpful. I have not tried building the 2.8.1-rc3 code that's currently available to see if this issue is reproducible there. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=11316#11316 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Build problem with gdk-x11-2.0
I ran into the same issue on an OpenSuSE 10.2 x86_64 system when working with Stable Release 2.8.0 of osg. In case it's of help to anyone, I can offer that the following workaround helped me past the problem: Despite /opt/gnome/lib64 being in my system's ld.so.conf, the link step apparently failed to find libgdk-x11-2.0.so in that directory when attempting to produce osgPlugins-2.8.0/osgdb_pdf.so. Manually modifying the link.txt file (originally created by the invocation of cmake in the top-level configure script) in the OpenSceneGraph-2.8.0/src/osgPlugins/pdf/CMakeFiles/osgdb_pdf.dir/ directory to insert -L/opt/gnome/lib64 in front of the references to gdk-x11-2.0 manages to get the c++ linker to find the library. After such modification that file, typing make again causes the build to pick up where it left off and run through to successful completion. Hope this proves helpful. I have not tried building the 2.8.1-rc3 code that's currently available to see if this issue is reproducible there. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=11316#11316 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Build problem with gdk-x11-2.0
Yes, there is a symbolic link: libgdk-x11-2.0.so - libgdk-x11-2.0.so.0.1000.6 libgdk-x11-2.0.so.0 - libgdk-x11-2.0.so.0.1000.6 libgdk-x11-2.0.so.0.1000.6 Harry -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9639#9639 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Build problem with gdk-x11-2.0
On Wed, Apr 1, 2009 at 1:28 PM, Harry Plantinga hplan...@calvin.edu wrote: Hi, I'm trying to build OpenSceneGraph on a SUSE system. Attempts to make version 2.8 and 2.9.2 both yield the following error. Any suggestions? Thanks! -- [ 99%] Built target osgdb_svg Linking CXX shared module ../../../lib/osgPlugins-2.8.0/osgdb_pdf.so /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -lgdk-x11-2.0 collect2: ld returned 1 exit status make[2]: *** [lib/osgPlugins-2.8.0/osgdb_pdf.so] Error 1 make[1]: *** [src/osgPlugins/pdf/CMakeFiles/osgdb_pdf.dir/all] Error 2 make: *** [all] Error 2 -- N.B. libgdk-x11-2.0.so.0 is there in the /opt/gnome/lib64 directory, where it's supposed to be according to CMakeCache.txt. Do you have the libgdk development packages installed for your distribution? There should be a libgdk-x11-2.0.so symbolic link (without .0) somewhere in /opt/gnome/lib64 along with header files. On Linux systems build systems like automake and CMake never search for versioned shared libraries directly but rather resolve the symbolic link libfoo.so=libfoo.so.1 to know that libfoo.so.1 is needed at runtime. Development packages that provide header files usually provide .so symbolic links or just plain .so files if versioning is not being used. OSG's cmake scripts should probably be telling you about this problem at configure time (this may be a build system bug). -- Philip Lowman ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org