James - 2013-05-05

I have my own build of python 2.7 and Qt 4.7.4 so I'm building the generator. I get a really odd error in parser/rpp/pp-engine-bits.h that makes no sense to me. It's complaining on lines that output a std::string to std::cerr which seems pretty run of the mill. The error is "no definition available". If I change

std::cout << env.current_file << std::endl;

to

std::cout << env.current_file.c_str() << std::endl;

It compiles with no errors or warnings. But this seems like a really strange problem that might be indicating something is seriously messed up?

This is the full error for that one line above(!)

PythonQtRoot jrb$ make
cd generator/ && make -f Makefile
make -f Makefile.Release
g++ -c -pipe -O2 -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Wall -W -DRXX_ALLOCATOR_INIT_0 -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../ratnih/installs/Qt-4.7.4/mkspecs/macx-g++ -I. -I../../../ratnih/installs/Qt-4.7.4/include/QtCore -I../../../ratnih/installs/Qt-4.7.4/include/QtXml -I../../../ratnih/installs/Qt-4.7.4/include -I. -I. -I/data/jrb/Downloads/PythonQtRoot/generator/../common -Iparser -Iparser/rpp -Iparser/rpp -Irelease -o release/preprocessor.o parser/rpp/preprocessor.cpp
parser/rpp/pp-engine-bits.h: In member function ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: At global scope:
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char
, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char
, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
parser/rpp/pp-engine-bits.h: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
parser/rpp/pp-engine-bits.h:391: instantiated from ‘_InputIterator rpp::pp::handle_include(bool, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:354: instantiated from ‘_InputIterator rpp::pp::handle_directive(const char, size_t, _InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/pp-engine-bits.h:502: instantiated from ‘void rpp::pp::operator()(_InputIterator, _InputIterator, _OutputIterator) [with _InputIterator = const char*, _OutputIterator = std::back_insert_iterator<QByteArray>]
parser/rpp/preprocessor.cpp:104: instantiated from here
parser/rpp/pp-engine-bits.h:391: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
make[2]: [release/preprocessor.o] Error 1
make[1]:
[release] Error 2
make:
** [sub-generator-make_default-ordered] Error 2
PythonQtRoot jrb$