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