I tried to use netgen-master for a conda-package.
1. without any changes I get compile errors (I think this is gcc4.8 relevant, but maybe we can find a solution):
Code: Select all
/home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp: In function ‘void Ng_LoadMesh(const char*)’:
/home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:122:39: error: use of deleted function ‘std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)’
auto infile = ifstream (filename);
^
In file included from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:6:0,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/fstream:427:11: note: ‘std::basic_ifstream<char>::basic_ifstream(const std::basic_ifstream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
class basic_ifstream : public basic_istream<_CharT, _Traits>
^
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/fstream:427:11: error: use of deleted function ‘std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)’
In file included from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/iostream:40:0,
from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:4,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/istream:58:11: note: ‘std::basic_istream<char>::basic_istream(const std::basic_istream<char>&)’ is implicitly deleted because the default definition would be ill-formed:
class basic_istream : virtual public basic_ios<_CharT, _Traits>
^
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/istream:58:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
In file included from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ios:44:0,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ostream:38,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/iostream:39,
from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:4,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/bits/basic_ios.h:66:11: note: ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’ is implicitly deleted because the default definition would be ill-formed:
class basic_ios : public ios_base
^
In file included from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ios:42:0,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ostream:38,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/iostream:39,
from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:4,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/bits/ios_base.h:786:5: error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
ios_base(const ios_base&);
^
In file included from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ios:44:0,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ostream:38,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/iostream:39,
from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:4,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/bits/basic_ios.h:66:11: error: within this context
class basic_ios : public ios_base
^
In file included from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:6:0,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/fstream:427:11: error: use of deleted function ‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’
class basic_ifstream : public basic_istream<_CharT, _Traits>
^
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/fstream:427:11: error: use of deleted function ‘std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)’
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/fstream:72:11: note: ‘std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)’ is implicitly deleted because the default definition would be ill-formed:
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
^
In file included from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ios:43:0,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/ostream:38,
from /opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/iostream:39,
from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:4,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/streambuf:802:7: error: ‘std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits = std::char_traits<char>]’ is private
basic_streambuf(const basic_streambuf& __sb)
^
In file included from /home/conda/projects/netgen-1/libsrc/include/mystdlib.h:6:0,
from /home/conda/projects/netgen-1/libsrc/interface/nginterface.cpp:1:
/opt/conda/conda-bld/netgen_1516797311421/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/gcc/include/c++/fstream:72:11: error: within this context
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
2. applying
https://github.com/looooo/netgen-1/comm ... 75f9ff25b3 and compiling with
Code: Select all
-DUSE_PYTHON=OFF -DUSE_GUI=OFF -DCMAKE_CXX_FLAGS='-fabi-version=6'
finish build. For usage in FreeCAD we need the additional patch as I already mentioned in the previous post.
3. building with
Code: Select all
DUSE_PYTHON=ON -DUSE_GUI=OFF -DCMAKE_CXX_FLAGS='-fabi-version=6'
doesn't find pybind11 headers. I suggest to find pythonheader location with this:
Code: Select all
find_package(PythonInterp)
find_package(PythonLibs)
include_directories( ${PYTHON_INCLUDE_DIRS})
This is maybe not working in a multi-python environment (like ubuntu) where python2 is default. Maybe it would be possible to use a custom variable for pybind11 headers like already available in the current master, and only check for default python-headers if no custom location for pybind11 headers are given. But the best is maybe to not depend on netgens-python binding until python2 is dead.