Skip to content

blassic 0.11 fails to build on 10.6: graphics.cpp:259: error: extra qualification ‘blassic::graphics_impl::ScreenMap::’ on member ‘create’ #2

@barracuda156

Description

@barracuda156

I tried to build Blassic 0.11 for ppc on 10.6, and it failed, both with gcc-4.2 and with gcc11.
With gcc-4.2 result, strangely, depended on whether --disable-graphics or --enable-graphics=NO was used. In the latter case build failed with:

if /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I.   -I/opt/local/include  -pipe -Os -arch ppc -MT blassic-graphics_win.o -MD -MP -MF ".deps/blassic-graphics_win.Tpo" -c -o blassic-graphics_win.o `test -f 'graphics_win.cpp' || echo './'`graphics_win.cpp; \
	then mv -f ".deps/blassic-graphics_win.Tpo" ".deps/blassic-graphics_win.Po"; else rm -f ".deps/blassic-graphics_win.Tpo"; exit 1; fi
graphics.cpp:259: error: extra qualification ‘blassic::graphics_impl::ScreenMap::’ on member ‘create’
if /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I.   -I/opt/local/include  -pipe -Os -arch ppc -MT blassic-graphics_xlib.o -MD -MP -MF ".deps/blassic-graphics_xlib.Tpo" -c -o blassic-graphics_xlib.o `test -f 'graphics_xlib.cpp' || echo './'`graphics_xlib.cpp; \
	then mv -f ".deps/blassic-graphics_xlib.Tpo" ".deps/blassic-graphics_xlib.Po"; else rm -f ".deps/blassic-graphics_xlib.Tpo"; exit 1; fi
make[1]: *** [blassic-graphics.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_blassic/blassic/work/blassic-0.11.0'
make: *** [all] Error 2

In the former:

graphics.cpp:209: error: expected constructor, destructor, or type conversion before ‘*’ token
graphics.cpp:376: error: expected constructor, destructor, or type conversion before ‘*’ token
graphics.cpp:540: error: ‘Inkset’ does not name a type
graphics.cpp:545: error: ‘TransformType’ does not name a type
graphics.cpp:548: error: ‘Inkset’ has not been declared
graphics.cpp:550: error: ‘TransformType’ has not been declared
graphics.cpp: In constructor ‘blassic::graphics_impl::SpecialMode::SpecialMode(const std::string&, int, int, int, int, int, int, int, int)’:
graphics.cpp:551: error: class ‘blassic::graphics_impl::SpecialMode’ does not have any field named ‘inkset’
graphics.cpp:553: error: class ‘blassic::graphics_impl::SpecialMode’ does not have any field named ‘transform’
graphics.cpp: At global scope:
graphics.cpp:558: error: ‘InkSpectrum’ was not declared in this scope
graphics.cpp:559: error: ‘TrInvertY’ was not declared in this scope
graphics.cpp:560: error: ‘InkCpc’ was not declared in this scope
graphics.cpp:561: error: ‘TrInvertY’ was not declared in this scope
graphics.cpp:562: error: ‘InkCpc’ was not declared in this scope
graphics.cpp:563: error: ‘TrInvertY’ was not declared in this scope
graphics.cpp:564: error: ‘InkCpc’ was not declared in this scope
graphics.cpp:565: error: ‘TrInvertY’ was not declared in this scope
graphics.cpp:566: error: ‘InkStandard’ was not declared in this scope
graphics.cpp:567: error: ‘TrIdentity’ was not declared in this scope
graphics.cpp:568: error: ‘InkStandard’ was not declared in this scope
graphics.cpp:569: error: ‘TrIdentity’ was not declared in this scope
graphics.cpp: In function ‘void blassic::graphics::origin(int, int)’:
graphics.cpp:720: error: ‘getcurrentscreen’ was not declared in this scope
graphics.cpp: In function ‘void blassic::graphics::limits(int, int, int, int)’:
graphics.cpp:727: error: ‘getcurrentscreen’ was not declared in this scope
graphics.cpp: In function ‘std::string blassic::graphics::screenchr(int, int)’:
graphics.cpp:4819: error: ‘getcurrentscreen’ was not declared in this scope
if /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I.   -I/opt/local/include  -pipe -Os -arch ppc -MT blassic-key.o -MD -MP -MF ".deps/blassic-key.Tpo" -c -o blassic-key.o `test -f 'key.cpp' || echo './'`key.cpp; \
	then mv -f ".deps/blassic-key.Tpo" ".deps/blassic-key.Po"; else rm -f ".deps/blassic-key.Tpo"; exit 1; fi
make[1]: *** [blassic-graphics.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_blassic/blassic/work/blassic-0.11.0'
make: *** [all] Error 2

With gcc11 the build failed with:

cursor.cpp: In function 'const char* {anonymous}::newstr(const char*)':
cursor.cpp:141:19: error: 'strlen' was not declared in this scope
  141 |         size_t l= strlen (str);
      |                   ^~~~~~
cursor.cpp:84:1: note: 'strlen' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
   83 | #include <sys/ioctl.h>
  +++ |+#include <cstring>
   84 | #include <termios.h>
cursor.cpp:143:9: error: 'strcpy' was not declared in this scope
  143 |         strcpy (n, str);
      |         ^~~~~~
cursor.cpp:143:9: note: 'strcpy' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
cursor.cpp: In function 'void {anonymous}::wait_event()':
cursor.cpp:1167:51: error: 'strerror' was not declared in this scope; did you mean 'perror'?
 1167 |                 std::cerr << "Error in poll: " << strerror (errno) <<
      |                                                   ^~~~~~~~
      |                                                   perror
cursor.cpp: In member function 'bool {anonymous}::Cstring_less::operator()(const char*, const char*)':
cursor.cpp:1474:18: error: 'strcmp' was not declared in this scope
 1474 |         { return strcmp (p, q) < 0; }
      |                  ^~~~~~
cursor.cpp:1474:18: note: 'strcmp' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
In file included from /opt/local/include/gcc11/c++/map:60,
                 from cursor.cpp:19:
/opt/local/include/gcc11/c++/bits/stl_tree.h: In instantiation of 'static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = const char*; _Val = std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)>; _KeyOfValue = std::_Select1st<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >; _Compare = {anonymous}::Cstring_less; _Alloc = std::allocator<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >*]':
/opt/local/include/gcc11/c++/bits/stl_tree.h:2435:62:   required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const char*&&>, std::tuple<>}; _Key = const char*; _Val = std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)>; _KeyOfValue = std::_Select1st<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >; _Compare = {anonymous}::Cstring_less; _Alloc = std::allocator<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<const char*, std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)>, std::_Select1st<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >, {anonymous}::Cstring_less, std::allocator<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> > >::iterator; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator = std::_Rb_tree<const char*, std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)>, std::_Select1st<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >, {anonymous}::Cstring_less, std::allocator<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> > >::const_iterator]'
/opt/local/include/gcc11/c++/bits/stl_map.h:520:37:   required from 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](std::map<_Key, _Tp, _Compare, _Alloc>::key_type&&) [with _Key = const char*; _Tp = void (*)(const std::__cxx11::basic_string<char>&); _Compare = {anonymous}::Cstring_less; _Alloc = std::allocator<std::pair<const char* const, void (*)(const std::__cxx11::basic_string<char>&)> >; std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type = void (*)(const std::__cxx11::basic_string<char>&); std::map<_Key, _Tp, _Compare, _Alloc>::key_type = const char*]'
cursor.cpp:1482:19:   required from here
/opt/local/include/gcc11/c++/bits/stl_tree.h:770:15: error: static assertion failed: comparison object must be invocable as const
  770 |               is_invocable_v<const _Compare&, const _Key&, const _Key&>,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/gcc11/c++/bits/stl_tree.h:770:15: note: 'std::is_invocable_v<const {anonymous}::Cstring_less&, const char* const&, const char* const&>' evaluates to false
if /opt/local/bin/g++-mp-11 -DHAVE_CONFIG_H -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I. -I.   -I/opt/local/include  -pipe -Os -arch ppc -MT blassic-directory.o -MD -MP -MF ".deps/blassic-directory.Tpo" -c -o blassic-directory.o `test -f 'directory.cpp' || echo './'`directory.cpp; \
	then mv -f ".deps/blassic-directory.Tpo" ".deps/blassic-directory.Po"; else rm -f ".deps/blassic-directory.Tpo"; exit 1; fi
make[1]: *** [blassic-cursor.o] Error 1
make[1]: *** Waiting for unfinished jobs....
blassic.cpp: In member function 'bool {anonymous}::Options::handle_option_print(int&)':
blassic.cpp:469:21: error: 'strcmp' was not declared in this scope
  469 |                 if (strcmp (argv [n], "--") == 0)
      |                     ^~~~~~
blassic.cpp:46:1: note: 'strcmp' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
   45 | #include <fcntl.h>
  +++ |+#include <cstring>
   46 | 
blassic.cpp: In function 'int {anonymous}::blassic_main(int, char**)':
blassic.cpp:753:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  753 |         std::auto_ptr <Program> pprogram (newProgram () );
      |              ^~~~~~~~
In file included from /opt/local/include/gcc11/c++/memory:76,
                 from blassic.cpp:28:
/opt/local/include/gcc11/c++/bits/unique_ptr.h:57:28: note: declared here
   57 |   template<typename> class auto_ptr;
      |                            ^~~~~~~~
make[1]: *** [blassic-blassic.o] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_blassic/blassic/work/blassic-0.11.0'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_blassic/blassic/work/blassic-0.11.0'
Command failed:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_lang_blassic/blassic/work/blassic-0.11.0" && /usr/bin/make -j4 -w all 
Exit code: 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions