Tim,

The "cmake" step now requires static libxml2 installed, otherwise it
fails - not a problem, just something people should be aware of. The
output when lixml2.a is absent is attached  - cmake.out;

The bigger problem is, even after I install static libxml2 the
compilation step fails for me. I'm attaching make.out output of "make".

Igor


On Thu, 2010-10-21 at 20:25 -0400, Tim Vandermeersch wrote:
> On Thu, Oct 21, 2010 at 1:35 AM, Tim Vandermeersch
> <tim.vandermeer...@gmail.com> wrote:
> > On Wed, Oct 20, 2010 at 4:29 PM, Igor Filippov [Contr]
> > <filipp...@mail.nih.gov> wrote:
> >> Tim,
> >>
> >>> I'll take a look since it is an important format to support. This
> >>> should be the last major issue for static building though.
> >>>
> >>
> >> Great - thank you! Could the static_plugins.o be also compiled into
> >> libopenbabel.a by default? I think this would make sense...
> >
> > Yes, but this would require the -u flags again... The plugins are
> > compiled into libopenbabel.a but the symbols are not taken from the
> > libopenbabel.a archive when linking your executable since they are not
> > referenced. There are two solutions:
> >
> > * Include the plugins inside the executable (or include
> > static_plugin.o when linking)
> > * Undefine the symbols explicitly at link time using the -u flag to
> > ensure the symbols are taken from libopenbabel.a
> >
> > However, I just pushed the changes to include inchi in the static
> > builds and you could use this command line to create a
> > static_plugins.o that contains all plugins: (run this after compiling)
> >
> > tim...@timvdm-desktop:~/openbabel-gitsvn/build_static$ g++ -Wl,-r -o
> > static_plugins.o -nostdlib  src/CMakeFiles/openbabel.dir/charges/*.o
> > src/CMakeFiles/openbabel.dir/descriptors/*.o
> > src/CMakeFiles/openbabel.dir/fingerprints/*.o
> > src/CMakeFiles/openbabel.dir/forcefields/*.o
> > src/CMakeFiles/openbabel.dir/formats/*.o
> > src/CMakeFiles/openbabel.dir/formats/xml/*.o
> > src/CMakeFiles/openbabel.dir/ops/*.o
> >
> > tim...@timvdm-desktop:~/openbabel-gitsvn/build_static$ ls static_plugins.o 
> > -lh
> > -rw-r--r-- 1 timvdm timvdm 65M 2010-10-21 01:16 static_plugins.o
> >
> > tim...@timvdm-desktop:~/openbabel-gitsvn/build_static$ objdump -t
> > static_plugins.o | grep _ZTVN9OpenBabel11InChIFormatE
> > 0000000000000000 l    d
> > .rodata._ZTVN9OpenBabel11InChIFormatE   0000000000000000
> > .rodata._ZTVN9OpenBabel11InChIFormatE
> > 0000000000000000  w    O
> > .rodata._ZTVN9OpenBabel11InChIFormatE   00000000000000a8 .hidden
> > _ZTVN9OpenBabel11InChIFormatE
> >
> > tim...@timvdm-desktop:~/openbabel-gitsvn/build_static$ g++ -Iinclude
> > -I../include -static  ../doc/examples/static_executable/myexe.cpp
> > static_plugins.o -o myexe  src/libopenbabel.a
> > src/formats/inchi103/libinchi.a -Wl,-Bstatic -lxml2 -lz
> > ...
> > tim...@timvdm-desktop:~/openbabel-gitsvn/build_static$ ./myexe
> > ... lists all plugins ...
> >
> > The command first line "merges" all the object files in a single
> > static_plugins.o. There is probably a better way but at least you
> > should now be able to make a static executable with all plugins.
> 
> With r4240, plugins are now included in an executable without any
> additional hacks. It's all done in C++ which means it is also easier
> to maintain for different compilers. This also means that the tests
> can now be executed for static builds. This helped me identify some
> missing plugins.
> 
> Tim
> 
> > Tim
> >
> >> Igor
> >>
> >>
> >

Attachment: make.out
Description: chemical/gulp

Attachment: cmake.out
Description: chemical/gulp

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to