Menu

#160 Error compiling trunk on ubuntu: "error: ‘it’ was not declared in this scope"

v1.7.1.0
closed-works-for-me
None
5
2015-03-14
2015-03-14
No

I get an error compiling revision 4110 on Ubuntu 14.04 using gcc 4.8.2 and Anaconda Python 2.7.9. The error happens when compiling layer1/Scene.cpp:

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall \
    -Wstrict-prototypes -fPIC -D_PYMOL_LIBPNG -D_PYMOL_INLINE \
    -D_PYMOL_OPENGL_SHADERS -D_PYMOL_VMD_PLUGINS -D_HAVE_LIBXML -D_PYMOL_FREETYPE \
    -DNO_MMLIBS -D_PYMOL_NUMPY -Iov/src -Ilayer0 -Ilayer1 -Ilayer2 -Ilayer3 \
    -Ilayer4 -Ilayer5 -Imodules/cealign/src -Ibuild/generated -Icontrib/uiuc/plugins/include \
    -Icontrib/uiuc/plugins/molfile_plugin/src -I/xxx/anaconda/lib/python2.7/site-packages/numpy/core/include \
    -I/usr/include -I/usr/include/freetype2 -I/usr/include/libxml2 -I/xxx/anaconda/include/python2.7 \
    -c layer1/Scene.cpp -o build/temp.linux-x86_64-2.7/layer1/Scene.o -Werror=implicit-function-declaration \
    -Werror=declaration-after-statement -Wno-write-strings -Wno-unused-function \
    -Wno-empty-body -Wno-char-subscripts -ffast-math -funroll-loops -O3 -fcommon

The error look like this:

In file included from layer0/Field.cpp:24:0:
layer1/PConv.h: In function PyObject* PConvToPyObject(const std::set<T>&):
layer1/PConv.h:246:8: warning: auto changes meaning in C++11; please remove it [-Wc++0x-compat]
   for (auto it = v.begin(); it != v.end(); ++it) {
        ^
layer1/PConv.h:246:13: error: it does not name a type
   for (auto it = v.begin(); it != v.end(); ++it) {
             ^
layer1/PConv.h:246:29: error: expected ; before ‘it’
   for (auto it = v.begin(); it != v.end(); ++it) {
                             ^
layer1/PConv.h:246:29: error: it was not declared in this scope

Full stdout and stderr are attached.

2 Attachments

Discussion

  • Thomas Holder

    Thomas Holder - 2015-03-14
    • status: open --> closed-works-for-me
    • assigned_to: Thomas Holder
     
  • Thomas Holder

    Thomas Holder - 2015-03-14

    before running setup.py, do:

    export CPPFLAGS="-std=c++0x"
    

    See also https://sourceforge.net/p/pymol/bugs/159/#58a5

     

Log in to post a comment.