From: Chris Morley <[email protected]>
Subject: Re: [OpenBabel-Devel] Trunk won't compile
Date: Sun, 29 Nov 2009 23:06:21 +0000

> It compiles ok on my system. 
> [snip]
> In the declaration of FastSearchFormat::AddPattern() includes the 
> scope FastSearchFormat::. This should not be there but unfortunately 
> is a form accepted by Visual C++ without any warning.

Wow. I guess I get to eat my foot here :-) I'll post the errors I'm
seeing below.

>From svgformat.cpp:
CMakeFiles/svgformat.dir/svgformat.o: In function 
`OpenBabel::SVGFormat::WriteMolecule(OpenBabel::OBBase*, 
OpenBabel::OBConversion*)':
/tmp/trunk/src/formats/svgformat.cpp:294: undefined reference to 
`OpenBabel::SVGPainter::SVGPainter(std::basic_ostream<char, 
std::char_traits<char> >&, bool, double, double, double, double)'
/tmp/trunk/src/formats/svgformat.cpp:295: undefined reference to 
`OpenBabel::OBDepict::OBDepict(OpenBabel::OBPainter*)'
/tmp/trunk/src/formats/svgformat.cpp:298: undefined reference to 
`OpenBabel::OBDepict::SetDrawingTerminalCarbon(bool)'
/tmp/trunk/src/formats/svgformat.cpp:302: undefined reference to 
`OpenBabel::OBDepict::SetAliasMode(bool)'
/tmp/trunk/src/formats/svgformat.cpp:304: undefined reference to 
`OpenBabel::SVGPainter::SetFontFamily(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)'
/tmp/trunk/src/formats/svgformat.cpp:305: undefined reference to 
`OpenBabel::SVGPainter::SetPenColor(OpenBabel::OBColor const&)'
/tmp/trunk/src/formats/svgformat.cpp:306: undefined reference to 
`OpenBabel::OBDepict::SetBondColor(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)'
/tmp/trunk/src/formats/svgformat.cpp:307: undefined reference to 
`OpenBabel::SVGPainter::SetPenWidth(double)'
/tmp/trunk/src/formats/svgformat.cpp:309: undefined reference to 
`OpenBabel::OBDepict::DrawMolecule(OpenBabel::OBMol*)'
/tmp/trunk/src/formats/svgformat.cpp:313: undefined reference to 
`OpenBabel::SVGPainter::~SVGPainter()'
/tmp/trunk/src/formats/svgformat.cpp:313: undefined reference to 
`OpenBabel::SVGPainter::~SVGPainter()'
/tmp/trunk/src/formats/svgformat.cpp:321: undefined reference to 
`OpenBabel::SVGPainter::SVGPainter(std::basic_ostream<char, 
std::char_traits<char> >&, bool, double, double, double, double)'
/tmp/trunk/src/formats/svgformat.cpp:322: undefined reference to 
`OpenBabel::OBDepict::OBDepict(OpenBabel::OBPainter*)'
/tmp/trunk/src/formats/svgformat.cpp:327: undefined reference to 
`OpenBabel::OBDepict::GetBondLength() const'
/tmp/trunk/src/formats/svgformat.cpp:329: undefined reference to 
`OpenBabel::OBDepict::SetBondLength(double)'
/tmp/trunk/src/formats/svgformat.cpp:332: undefined reference to 
`OpenBabel::OBDepict::GetBondSpacing() const'
/tmp/trunk/src/formats/svgformat.cpp:332: undefined reference to 
`OpenBabel::OBDepict::SetBondSpacing(double)'
/tmp/trunk/src/formats/svgformat.cpp:333: undefined reference to 
`OpenBabel::OBDepict::GetFontSize(bool) const'
/tmp/trunk/src/formats/svgformat.cpp:333: undefined reference to 
`OpenBabel::OBDepict::SetFontSize(int, bool)'
/tmp/trunk/src/formats/svgformat.cpp:336: undefined reference to 
`OpenBabel::OBDepict::SetDrawingTerminalCarbon(bool)'
/tmp/trunk/src/formats/svgformat.cpp:340: undefined reference to 
`OpenBabel::OBDepict::SetAliasMode(bool)'
/tmp/trunk/src/formats/svgformat.cpp:343: undefined reference to 
`OpenBabel::SVGPainter::SetFontFamily(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)'
/tmp/trunk/src/formats/svgformat.cpp:344: undefined reference to 
`OpenBabel::SVGPainter::SetPenColor(OpenBabel::OBColor const&)'
/tmp/trunk/src/formats/svgformat.cpp:345: undefined reference to 
`OpenBabel::OBDepict::SetBondColor(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&)'
/tmp/trunk/src/formats/svgformat.cpp:346: undefined reference to 
`OpenBabel::SVGPainter::SetFillColor(OpenBabel::OBColor const&)'
/tmp/trunk/src/formats/svgformat.cpp:347: undefined reference to 
`OpenBabel::SVGPainter::SetPenWidth(double)'
/tmp/trunk/src/formats/svgformat.cpp:349: undefined reference to 
`OpenBabel::OBDepict::DrawMolecule(OpenBabel::OBMol*)'
/tmp/trunk/src/formats/svgformat.cpp:365: undefined reference to 
`OpenBabel::SVGPainter::~SVGPainter()'
/tmp/trunk/src/formats/svgformat.cpp:365: undefined reference to 
`OpenBabel::SVGPainter::~SVGPainter()'


> There seems to be something going wrong in alias.h/alias.cpp, possibly 
> the conditional #include for gcc, which I can't test. Have you an 
> error message?
> 
> Similarly I don't understand the error in cmlformat.cpp caused 
> presumably by adding to an enum in base.h.

The changes you commit a few moments ago seem to have fixed the
rest. Thanks for taking care of this. I apologize if I came off a bit
hateful earlier -- I was very frustrated at the time and could have
been more cooperative.

> With the first change it compiles for me with CMake (Visual Studio form).
> 
> These are compiler/build system problems, and I agree with Geoff that 
> everybody using CMake would help. However the Visual Studio form needs 
> more work and already the CMakeList.txt file have quite a number of 
> system dependent sections, so it will not guarantee compatibility.

I agree -- I had no idea that Visual C++ was so lax. As Marcus
mentioned on IRC earlier, a CDash setup would be very helpful for
catching these sort of errors.

Dave

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
OpenBabel-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to