Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
barracuda156 opened this issue May 21, 2022 · 2 comments

Comments

@barracuda156
Copy link

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
@NotFound
Copy link
Owner

NotFound commented Jun 27, 2022 via email

@barracuda156
Copy link
Author

@NotFound Thank you for responding.

I am not 100% sure right now, since I am away from my PPC machines, but I will check later once I am back.
Basically, I wanted to update blassic port in Macports, it still has 0.10: https://ports.macports.org/port/blassic/
So I used whatever build of 0.11 was available at the time I tried.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants