Hi Noel,

On Thu, Apr 4, 2013 at 6:08 AM, Noel O'Boyle <baoille...@gmail.com> wrote:

> Long shot: Are there any files in your current directory with the same
> names as files in Open Babel's data directory? This is a nice way to
> confuse Open Babel. Have you altered any files in Open Babel's data
> directory?
>

No, nothing like that, no .txt files at all.  One thing unusual: I have two
versions of OpenBabel installed:

  /usr/local/openbabel-2.2.1
  /usr/local/openbabel-2.3.2
  /usr/local/openbabel --> /usr/local/openbabel-2.3.2  (symlink)

When I set BABEL_LIBDIR and BABEL_DATADIR to bogus values (e.g. to /tmp),
obabel fails as expected; when I set them to the correct directories,
obabel works again, so I'm pretty sure they're right.


>
> Just a note: with Open Babel we moved away from using Makefile.PL as
> it just wasn't capable enough. CMake is setting various properties on
> the library files it creates, but these aren't passed through to the
> perl module library unless you get CMake to build that also (which we
> now do).
>

Well, that's good information.  I suspect the problem is that the
particular g++ command that puts the .so together is missing something,
resulting in the C++ class-initialization code not being invoked when Perl
starts running.  I'll dig into that a bit more.


> Useless anecdotal evidence for different system: It works for me with
> Python on Linux for a C++ project that links to Open Babel.
>

I use swig for a pure-C module with no problems, but I'm not having luck
with an almost-identical module that links to OpenBabel.  In fact, there's
one function in my OpenBabel module that doesn't call OpenBabel at all, and
that function works.

Craig


>
> - Noel
>
> On 3 April 2013 19:00, Craig James <cja...@emolecules.com> wrote:
> > This problem is driving me crazy.  I have some functions written in C++
> with
> > a C wrapper that I need to make available from Perl.   I wrote a swig
> > interface for them, and got it to compile and run.  But OpenBabel can't
> seem
> > to initialize itself.
> >
> >  ./test/swig_wrapper_test.pl
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance CompoundFilter
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance SmartsDescriptor
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance SmartsDescriptor
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance SmartsDescriptor
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance SmartsDescriptor
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance SmartsDescriptor
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance SmartsDescriptor
> > ==============================
> > *** Open Babel Error  in OBDefine
> >   Failed to make an instance OBGroupContrib
> >
> > Looking at the code (ops/loader.cpp) it seems like it can't find its .txt
> > files.  But other programs, such as obabel and C++ programs that I
> compiled
> > without swig, all work fine.   LD_LIBRARY_PATH is correct, and defining
> > BABEL_DATADIR doesn't make any difference.
> >
> > I'm wondering if it's related to C versus C++ internal initialization ...
> > like maybe the C++ initialization code isn't being called.  I used g++
> for
> > the "CC" and "LD" in Makefile.PL, but it made no difference.
> >
> > Any ideas?  Guesses?
> >
> > Thanks,
> > Craig
> >
> >
> >
> ------------------------------------------------------------------------------
> > Minimize network downtime and maximize team effectiveness.
> > Reduce network management and security costs.Learn how to hire
> > the most talented Cisco Certified professionals. Visit the
> > Employer Resources Portal
> > http://www.cisco.com/web/learning/employer_resources/index.html
> > _______________________________________________
> > OpenBabel-Devel mailing list
> > OpenBabel-Devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/openbabel-devel
> >
>
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to