---------- Forwarded message ----------
From: Geoffrey Wood <ge.ff...@gmail.com>
Date: Thu, May 28, 2015 at 10:20 PM
Subject: Re: [Open Babel] perl api
To: Noel O'Boyle <baoille...@gmail.com>


Are you able to reproduce the error that I get?



On Thu, May 28, 2015 at 4:52 PM, Geoffrey Wood <ge.ff...@gmail.com> wrote:

> I recompiled everything with the same results.
>
>
>
>
> On Thu, May 28, 2015 at 9:09 AM, Geoffrey Wood <ge.ff...@gmail.com> wrote:
>
>> Hi Noel,
>>
>> We have a number of gcc's installed on the system they are maintained
>> through modules. I have tried with 4.4.x, which is what the operating
>> system shipped with.  We also have 4.9.2 available but I didn't try that
>> yet....will do that now and let you know.
>>
>>
>> On Thu, May 28, 2015 at 8:58 AM, Noel O'Boyle <baoille...@gmail.com>
>> wrote:
>>
>>> Does it work with system gcc?
>>>
>>> On 27 May 2015 at 23:02, Geoffrey Wood <ge.ff...@gmail.com> wrote:
>>> > Hi Geoff,
>>> >
>>> > I downloaded the master again for the latest updates and I've been
>>> running
>>> > into a problem that has been documented before.  That is, a
>>> "segmentation
>>> > fault" when it trys to generate 3D coordinates from a smiles string.
>>> The
>>> > rest of the code that I have looking at VectoInts etc works fine but
>>> the
>>> > offending part of the code looks like:
>>> >
>>> >     my $obconversion2 = Chemistry::OpenBabel::OBConversion->new(); #
>>> > conversion object
>>> >
>>> >     my $obmol2 = Chemistry::OpenBabel::OBMol->new(); # molecule
>>> >
>>> >     my $genOp = Chemistry::OpenBabel::OBOp::FindType("gen3D");
>>> >
>>> >     $obconversion2->SetInAndOutFormats("smi","xyz"); # conversion
>>> formats
>>> >
>>> >     $obconversion2->ReadString($obmol2,"CCC"); # convert
>>> >
>>> >     $genOp->Do($obmol2);
>>> >
>>> >
>>> >
>>> > With the final line causing the segmentation fault.
>>> >
>>> >
>>> > Any help here would be great as I have spent the last couple of days
>>> trying
>>> > to revert back to what I originally had without any success.  This is
>>> what
>>> > I'm passing to cmake (perl 5.20.0; gcc 4.8.3, swig 3.0.5):
>>> >
>>> > CXX=/home/woodg07/software/gccBuild/bin/g++
>>> > CC=/home/woodg07/software/gccBuild/bin/gcc cmake ../openbabel-master/
>>> > -DCMAKE_INSTALL_PREFIX=/home/woodg07/software/openBabel/
>>> -DRUN_SWIG=TRUE
>>> > -DPERL_BINDINGS=TRUE
>>> -DSWIG_EXECUTABLE=/home/woodg07/software/swig/bin/swig
>>> > -DEIGEN3_INCLUDE_DIR=/home/woodg07/software/eigen3/include/eigen3/
>>> >
>>> >
>>> >
>>> >
>>> > On Mon, May 4, 2015 at 5:45 PM, Geoffrey Wood <ge.ff...@gmail.com>
>>> wrote:
>>> >>
>>> >> Using version 2.3.1 with the perl bindings I used to have a piece of
>>> code
>>> >> that went something like:
>>> >>
>>> >>   my $obrotorList = new Chemistry::OpenBabel::OBRotorList; # rotor
>>> list
>>> >> object
>>> >>
>>> >>   $obrotorList->Setup($obmol);
>>> >>
>>> >>   $obrotorList->FindRotors($obmol);
>>> >>
>>> >>
>>> >>   my $nRotors = $obrotorList->Size(); # number of rotors found
>>> >>
>>> >>   if ($nRotors > 0 )
>>> >>
>>> >>   {
>>> >>
>>> >>      my $rotor = new Chemistry::OpenBabel::OBRotor; # create new rotor
>>> >> object
>>> >>
>>> >>      my $it=$obrotorList->BeginRotors();  # an STL iterator
>>> >>
>>> >>      $rotor=$obrotorList->BeginRotor($it); # get first rotor in list
>>> >>
>>> >>      my $increment=0;
>>> >>
>>> >>      for (my $j = 0 ; $j < $nRotors ; $j++)
>>> >>
>>> >>      {
>>> >>
>>> >>         my $v_i = new Chemistry::OpenBabel::VectorInt; # vector of
>>> >> integers for dihedral atoms
>>> >>
>>> >>         $v_i = $rotor->GetDihedralAtoms();
>>> >>
>>> >>         if($v_i->size() == 4 ) # make sure that the dihedral has
>>> atoms ---
>>> >> babel returns 0's for methyls
>>> >>
>>> >>         {
>>> >>
>>> >>          }
>>> >>
>>> >>     }
>>> >>
>>> >>
>>> >> After updating my release to the master I've found that this code
>>> doesn't
>>> >> work anymore, inparticular the line:
>>> >>
>>> >> $v_i->size()
>>> >>
>>> >> gives the error:
>>> >>
>>> >> Can't locate object method "size" via package
>>> >> "Chemistry::OpenBabel::VectorInt"
>>> >>
>>> >> I cannot work out why this is happening, the get function still works,
>>> >> i.e. $v_i->get(0)  for example.
>>> >>
>>> >> I did notice that in the OpenBabel.pm file a number of new lines have
>>> been
>>> >> added to class definitions:
>>> >>
>>> >> like:  *size = *Chemistry::OpenBabelc::VectorInt_size;
>>> >>
>>> >> Could someone help me out here?
>>> >>
>>> >>
>>> >> Thanks in advance, Geoff.
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> ------------------------------------------------------------------------------
>>> >
>>> > _______________________________________________
>>> > OpenBabel-discuss mailing list
>>> > OpenBabel-discuss@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
>>> >
>>>
>>
>>
>
------------------------------------------------------------------------------
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to