Thread: [pygccxml-development] Error while including standart lib <complex>
Brought to you by:
mbaas,
roman_yakovenko
From: Vincent F. <vin...@gm...> - 2008-06-05 14:51:11
|
gccxml seems not to be able to parse the file "complex" which is a standart C++ library. I've googled a long long time, found some people which had a similar problem with no answer. I'm using gcc 4.1.2, on a Debian system, with gcc-xml 0.7.0. I have the following error : (the file result.h just import it at line 25 : #include <complex>) INFO Parsing source file "/people/ferries/ferespost/SRC/COMMON/algebra/matrix3.h" ... INFO gccxml cmd: /usr/bin/gccxml -I"/people/ferries/ferespost/SRC" -I"/people/ferries/ferespost/SRC" "/people/ferries/ferespost/SRC/COMMON/algebra/matrix3.h" -fxml="/tmp/tmp3uS2qo.xml" Traceback (most recent call last): File "generate_code.py", line 63, in ? export() File "generate_code.py", line 43, in export mb = module_builder.module_builder_t(header_files, gccxml_path=settings.gccxml_path, working_directory=settings.ferespost_path, include_paths=[settings.ferespost_path], define_symbols=[]) File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 90, in __init__ , indexing_suite_version) File "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", line 144, in __parse_declarations decls = reader.read_files( files, compilation_mode ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 225, in read_files return self.__parse_file_by_file(files) File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", line 250, in __parse_file_by_file decls = reader.read_file( header ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", line 198, in read_file return self.read_gccxml_file( source_file ) File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", line 225, in read_gccxml_file raise error pygccxml.parser.source_reader.gccxml_runtime_error_t: Error occured while running GCC-XML: In file included from /people/ferries/ferespost/SRC/COMMON/result/result.h:25, from /people/ferries/ferespost/SRC/COMMON/algebra/matrix3.h:28: /usr/include/c++/4.1.2/complex: In function `__complex__ float std::__complex_log(__complex__ float)': /usr/include/c++/4.1.2/complex:754: error: `__builtin_clogf' undeclared (first use this function) /usr/include/c++/4.1.2/complex:754: error: (Each undeclared identifier is reported only once for each function it appears in.) /usr/include/c++/4.1.2/complex: In function `__complex__ double std::__complex_log(__complex__ double)': /usr/include/c++/4.1.2/complex:757: error: `__builtin_clog' undeclared (first use this function) /usr/include/c++/4.1.2/complex: In function `__complex__ long double std::__complex_log(__complex__ long double&)': /usr/include/c++/4.1.2/complex:761: error: `__builtin_clogl' undeclared (first use this function) Any workaround? |
From: Vincent F. <vin...@gm...> - 2008-06-05 15:52:10
|
Ok Mea Culpa, RTFM as they say... I just found that : Version 0.7.1 Attention - this going to be last version that is tested with Python 2.3 New fundamental types has been added complex float complex double complex long double I'll upgrade it soon and test again. 2008/6/5, Vincent Ferries <vin...@gm...>: > gccxml seems not to be able to parse the file "complex" which is a > standart C++ library. > I've googled a long long time, found some people which had a similar > problem with no answer. > > I'm using gcc 4.1.2, on a Debian system, with gcc-xml 0.7.0. > > I have the following error : > > (the file result.h just import it at line 25 : #include <complex>) > > > > > > INFO Parsing source file > "/people/ferries/ferespost/SRC/COMMON/algebra/matrix3.h" ... > > INFO gccxml cmd: /usr/bin/gccxml -I"/people/ferries/ferespost/SRC" > -I"/people/ferries/ferespost/SRC" > "/people/ferries/ferespost/SRC/COMMON/algebra/matrix3.h" > -fxml="/tmp/tmp3uS2qo.xml" > Traceback (most recent call last): > File "generate_code.py", line 63, in ? > export() > File "generate_code.py", line 43, in export > mb = module_builder.module_builder_t(header_files, > gccxml_path=settings.gccxml_path, > working_directory=settings.ferespost_path, > include_paths=[settings.ferespost_path], define_symbols=[]) > File > "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", > line 90, in __init__ > , indexing_suite_version) > File > "/usr/lib/python2.4/site-packages/pyplusplus/module_builder/builder.py", > line 144, in __parse_declarations > decls = reader.read_files( files, compilation_mode ) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", > line 225, in read_files > return self.__parse_file_by_file(files) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/project_reader.py", > line 250, in __parse_file_by_file > decls = reader.read_file( header ) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", > line 198, in read_file > return self.read_gccxml_file( source_file ) > File "/usr/lib/python2.4/site-packages/pygccxml/parser/source_reader.py", > line 225, in read_gccxml_file > raise error > pygccxml.parser.source_reader.gccxml_runtime_error_t: Error occured > while running GCC-XML: In file included from > /people/ferries/ferespost/SRC/COMMON/result/result.h:25, > from > /people/ferries/ferespost/SRC/COMMON/algebra/matrix3.h:28: > /usr/include/c++/4.1.2/complex: In function `__complex__ float > std::__complex_log(__complex__ float)': > /usr/include/c++/4.1.2/complex:754: error: `__builtin_clogf' undeclared > (first > use this function) > /usr/include/c++/4.1.2/complex:754: error: (Each undeclared identifier is > reported only once for each function it appears in.) > /usr/include/c++/4.1.2/complex: In function `__complex__ double > std::__complex_log(__complex__ double)': > /usr/include/c++/4.1.2/complex:757: error: `__builtin_clog' undeclared > (first > use this function) > /usr/include/c++/4.1.2/complex: In function `__complex__ long double > std::__complex_log(__complex__ long double&)': > /usr/include/c++/4.1.2/complex:761: error: `__builtin_clogl' undeclared > (first > use this function) > > > Any workaround? > |