You are here

Build problem "Never include <bits/libio.h> directly; use <stdio.h> instead."

5 posts / 0 new
Last post
Build problem "Never include <bits/libio.h> directly; use <stdio.h> instead."
#1

Hi everyone,

I am trying to build Pyrosetta from source in Ubuntu 18.04 x64, but  I am having a compilation error, as indicated in the title.

Does anyone have a clue about what could be the issue or has a better idea to compile it?

I am using python 2.7.15, rosetta build 2018.33.60351, ninja 1.8.2, cmake 3.12.1 and gcc 4.8, specified with the global variables: CC=gcc-4.8 and CXX=g++-4.8. The error log is:

$ python build.py -j8 --serialization --create-package $HOME/pyrosettaSerialization
Creating PyRosetta in "Release" mode in: $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization
Getting main repository root...
cd $HOME/rosetta_src_2018.33.60351_bundle/main/source && git rev-parse --show-toplevel
fatal: Not a git repository (or any of the parent directories): .git

fatal: Not a git repository (or any of the parent directories): .git

LLVM:4.0.0 + Binder install is detected at $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/prefix/llvm-4.0.0/llvm-4.0.0.linux.-GL62M-7RDX.release, skipping LLVM installation and Binder building procedures...

Updating version, options and residue-type-enum files...
cd $HOME/rosetta_src_2018.33.60351_bundle/main/source && ./version.py && ./update_options.sh && ./update_ResidueType_enum_files.sh
Running versioning script ... Release package detected, using rosetta/main/.release.json to acquire version information...
Done. (0.0 seconds)
file ./options.dox being updated
file ./full-options-list.md being updated
Number of option files updated: 2
Total 4257 options.
Finished updating ResidueProperty code
-- no changes needed
Finished updating VariantType code
-- no changes needed

No changes in include files detected, skipping Binder run...
No changes in source files detected, skipping CMake run...
Building...
cd $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/build/ && ninja -j8
[1/5215] Building CXX object CMakeFiles/rosetta.dir/libxml/tree.cpp.o
FAILED: CMakeFiles/rosetta.dir/libxml/tree.cpp.o 
/usr/bin/clang++  -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -DPTR_STD -DPYROSETTA -DSERIALIZATION -Drosetta_EXPORTS -I/usr/include/python2.7 -I$HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/pybind11/include -I$HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src -I$HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src/platform/linux -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/include -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/boost_1_55_0 -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio/sqlite3 -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/libxml2/include -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/external/pybind11/include -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/rosetta.dir/libxml/tree.cpp.o -MF CMakeFiles/rosetta.dir/libxml/tree.cpp.o.d -o CMakeFiles/rosetta.dir/libxml/tree.cpp.o -c $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/libxml/tree.cpp
In file included from $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/libxml/tree.cpp:1:
/usr/include/x86_64-linux-gnu/bits/libio.h:32:3: error: "Never include <bits/libio.h> directly; use <stdio.h> instead."
# error "Never include <bits/libio.h> directly; use <stdio.h> instead."
  ^
1 error generated.
[2/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/residue_datacache.cpp.o
[3/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/ppo_torsion_bin_fwd.cpp.o
[4/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/ParametrizationCalculator.cpp.o
[5/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/SizeValuedParameter.cpp.o
[6/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/RealVectorValuedParameter.cpp.o
[7/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/SizeVectorValuedParameter.cpp.o
[8/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/RealValuedParameter.cpp.o
ninja: build stopped: subcommand failed.


Encounter error while executing: cd $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/build/ && ninja -j8

Encounter error while executing: cd $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/build/ && ninja -j8
[1/5215] Building CXX object CMakeFiles/rosetta.dir/libxml/tree.cpp.o
FAILED: CMakeFiles/rosetta.dir/libxml/tree.cpp.o 
/usr/bin/clang++  -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -DPTR_STD -DPYROSETTA -DSERIALIZATION -Drosetta_EXPORTS -I/usr/include/python2.7 -I$HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/pybind11/include -I$HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src -I$HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src/platform/linux -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/include -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/boost_1_55_0 -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio/sqlite3 -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/libxml2/include -isystem $HOME/rosetta_src_2018.33.60351_bundle/main/source/external/pybind11/include -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/rosetta.dir/libxml/tree.cpp.o -MF CMakeFiles/rosetta.dir/libxml/tree.cpp.o.d -o CMakeFiles/rosetta.dir/libxml/tree.cpp.o -c $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/libxml/tree.cpp
In file included from $HOME/rosetta_src_2018.33.60351_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/libxml/tree.cpp:1:
/usr/include/x86_64-linux-gnu/bits/libio.h:32:3: error: "Never include <bits/libio.h> directly; use <stdio.h> instead."
# error "Never include <bits/libio.h> directly; use <stdio.h> instead."
  ^
1 error generated.
[2/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/residue_datacache.cpp.o
[3/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/ppo_torsion_bin_fwd.cpp.o
[4/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/ParametrizationCalculator.cpp.o
[5/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/SizeValuedParameter.cpp.o
[6/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/RealVectorValuedParameter.cpp.o
[7/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/SizeVectorValuedParameter.cpp.o
[8/5215] Building CXX object CMakeFiles/rosetta.dir/core/conformation/parametric/RealValuedParameter.cpp.o
ninja: build stopped: subcommand failed.

 

Category: 
Post Situation: 
Mon, 2019-01-21 00:48
Martin Floor

I already fixed this in Rosetta upstream, could you please try our latest weekly release and see if it works? I think r207+ should work.

Tue, 2019-01-22 15:13
Sergey

Thanks for your reply Sergey.

I downloaded the last build of Rosetta at rosettacommons.org (2018.48.60516) and I am not encountering the previous error, however I got new errors during the compilation. I am using the same command and compilers as before. The log is the following:

$ python build.py -j4 --serialization --create-package $HOME/pyrosettaSerialization
Creating PyRosetta in "Release" mode in: $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization
Getting main repository root...
cd $HOME/rosetta_src_2018.48.60516_bundle/main/source && git rev-parse --show-toplevel
fatal: Not a git repository (or any of the parent directories): .git

fatal: Not a git repository (or any of the parent directories): .git

LLVM:4.0.0 + Binder install is detected at $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/prefix/llvm-4.0.0/llvm-4.0.0.linux.-GL62M-7RDX.release, skipping LLVM installation and Binder building procedures...

Updating version, options and residue-type-enum files...
cd $HOME/rosetta_src_2018.48.60516_bundle/main/source && ./version.py && ./update_options.sh && ./update_ResidueType_enum_files.sh
Running versioning script ... Release package detected, using rosetta/main/.release.json to acquire version information...
Done. (0.0 seconds)
Number of option files updated: 0
Total 4288 options.
Finished updating ResidueProperty code
-- no changes needed
Finished updating VariantType code
-- no changes needed

No changes in include files detected, skipping Binder run...
No changes in source files detected, skipping CMake run...
Building...
cd $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/build/ && ninja -j4
[1/5658] Building CXX object CMakeFiles/rosetta.dir/std/typeinfo.cpp.o
FAILED: CMakeFiles/rosetta.dir/std/typeinfo.cpp.o 
/usr/bin/clang++  -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -DPTR_STD -DPYROSETTA -DSERIALIZATION -Drosetta_EXPORTS -I/usr/include/python2.7 -I$HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/pybind11/include -I$HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src -I$HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src/platform/linux -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/include -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/boost_1_55_0 -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio/sqlite3 -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/libxml2/include -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/external/pybind11/include -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/rosetta.dir/std/typeinfo.cpp.o -MF CMakeFiles/rosetta.dir/std/typeinfo.cpp.o.d -o CMakeFiles/rosetta.dir/std/typeinfo.cpp.o -c $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/std/typeinfo.cpp
In file included from $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/std/typeinfo.cpp:1:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:54:5: error: unknown type name 'exception_ptr'
    exception_ptr _M_ptr;
    ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:74:5: error: unknown type name 'exception_ptr'
    exception_ptr
    ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:57:42: error: use of undeclared identifier 'current_exception'
    nested_exception() noexcept : _M_ptr(current_exception()) { }
                                         ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:71:12: error: no member named 'terminate' in namespace 'std'; did you mean 'template'?
      std::terminate();
      ~~~~~^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:71:21: error: expected unqualified-id
      std::terminate();
                    ^
5 errors generated.
[2/5658] Building CXX object CMakeFiles/rosetta.dir/bits/types/struct_tm.cpp.o
[3/5658] Building CXX object CMakeFiles/rosetta.dir/std/unknown/unknown.cpp.o
[4/5658] Building CXX object CMakeFiles/rosetta.dir/std/locale_classes.cpp.o
ninja: build stopped: subcommand failed.


Encounter error while executing: cd $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/build/ && ninja -j4

Encounter error while executing: cd $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/build/ && ninja -j4
[1/5658] Building CXX object CMakeFiles/rosetta.dir/std/typeinfo.cpp.o
FAILED: CMakeFiles/rosetta.dir/std/typeinfo.cpp.o 
/usr/bin/clang++  -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -DPTR_STD -DPYROSETTA -DSERIALIZATION -Drosetta_EXPORTS -I/usr/include/python2.7 -I$HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/pybind11/include -I$HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src -I$HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/src/platform/linux -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/include -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/boost_1_55_0 -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/dbio/sqlite3 -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/external/libxml2/include -isystem $HOME/rosetta_src_2018.48.60516_bundle/main/source/external/pybind11/include -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/rosetta.dir/std/typeinfo.cpp.o -MF CMakeFiles/rosetta.dir/std/typeinfo.cpp.o.d -o CMakeFiles/rosetta.dir/std/typeinfo.cpp.o -c $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/std/typeinfo.cpp
In file included from $HOME/rosetta_src_2018.48.60516_bundle/main/source/build/PyRosetta/linux/clang/python-2.7/release.serialization/source/std/typeinfo.cpp:1:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:54:5: error: unknown type name 'exception_ptr'
    exception_ptr _M_ptr;
    ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:74:5: error: unknown type name 'exception_ptr'
    exception_ptr
    ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:57:42: error: use of undeclared identifier 'current_exception'
    nested_exception() noexcept : _M_ptr(current_exception()) { }
                                         ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:71:12: error: no member named 'terminate' in namespace 'std'; did you mean 'template'?
      std::terminate();
      ~~~~~^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0/../../../../include/c++/7.3.0/bits/nested_exception.h:71:21: error: expected unqualified-id
      std::terminate();
                    ^
5 errors generated.
[2/5658] Building CXX object CMakeFiles/rosetta.dir/bits/types/struct_tm.cpp.o
[3/5658] Building CXX object CMakeFiles/rosetta.dir/std/unknown/unknown.cpp.o
[4/5658] Building CXX object CMakeFiles/rosetta.dir/std/locale_classes.cpp.o
ninja: build stopped: subcommand failed.

Any ideas about what could be wrong this time?

Wed, 2019-01-23 09:38
Martin Floor

that version (2018.48.60516) does not have full range of latest patches, we need at least *.60546+ for that. 

Martin, i will ping our release manager but it could take sometime for him to create a new release... in meanwhile: is there is any particular reason why you want to compile PyRosetta on your own instead of using pre-build Ubuntu binaries that we provide here: http://www.pyrosetta.org/dow ?

Wed, 2019-01-23 15:39
Sergey

Yes, actually I want to use MPI parallelization for a function that contains Pyrosetta functions itself. I was trying to use the pool.map method for this, but i keep getting a NotImplementedError that says I need to compile PyRosetta with serialization option. Maybe there are other ways to do this that could be more advantageous and do not require a new compiled version. I am pasting my error here:

---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-29-9d422ffd2f7a> in <module>()
      4     works.append(input)
      5 
----> 6 print pool.map(lambda x: backrubPerturbationMPI(x), works)

/python2.7/site-packages/multiprocess/pool.pyc in map(self, func, iterable, chunksize)
    251         '''
    252         assert self._state == RUN
--> 253         return self.map_async(func, iterable, chunksize).get()
    254 
    255     def imap(self, func, iterable, chunksize=1):

/python2.7/site-packages/multiprocess/pool.pyc in get(self, timeout)
    570             return self._value
    571         else:
--> 572             raise self._value
    573 
    574     def _set(self, i, obj):

NotImplementedError: __cereal_getstate__ requires pyrosetta '--serialization' build.

 

Wed, 2019-01-23 23:01
Martin Floor