Giter Site home page Giter Site logo

autc04 / executor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maddthesane/executor

131.0 131.0 9.0 15.23 MB

A modern fork of the classic Mac emulator

License: MIT License

C 7.68% Objective-C++ 0.53% Objective-C 0.25% C++ 87.74% Shell 1.26% Roff 0.07% Makefile 0.01% Perl 1.02% M4 0.04% Awk 0.01% Ruby 0.15% CMake 0.91% sed 0.27% AppleScript 0.01% Nix 0.04% Rez 0.01%

executor's People

Contributors

autc04 avatar ctm avatar davidludwig avatar maddthesane avatar r-lind avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

executor's Issues

Idea to improve rootless mode

It seems like there is some sort of fully transparent window. On systems that draw shadows behind windows this results in an ugly "ghost shadow". Can that transparent window be made fullscreen?

This is the Qt version:

image

Making it fullscreen would also have the advantage that hopefully the Mac menu bar would end up at the real top of the screen.

Build error with Ubuntu 16.04

I'm trying to build in Ubuntu 16.04 and I'm got this error

It seems like this is some problem with Ubuntu, but I'm not very sure how to fix them

the error

/usr/include/c++/5/bits/stl_pair.h:141:38: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’

seems very similar to this one, but since I'm not a c++ developer, I don't know how to fix it.
cmu-db/peloton#651

[  3%] Building CXX object CMakeFiles/resources.dir/__cmrc_resources/lib.cpp.o
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::directory&}; _Tp = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >]’:
/usr/include/c++/5/bits/alloc_traits.h:530:4:   required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::directory&}; _Tp = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> > >]’
/usr/include/c++/5/bits/stl_tree.h:529:32:   required from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_construct_node(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, _Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::directory&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >*]’
/usr/include/c++/5/bits/stl_tree.h:546:21:   required from ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::directory&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >*]’
/usr/include/c++/5/bits/stl_tree.h:2123:33:   required from ‘std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_unique(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::directory&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >]’
/usr/include/c++/5/bits/stl_map.h:559:64:   required from ‘std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::emplace(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::directory&}; _Key = std::__cxx11::basic_string<char>; _Tp = cmrc::detail::file_or_directory; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >]’
/home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:119:46:   required from here
/usr/include/c++/5/ext/new_allocator.h:120:4: error: no matching function for call to ‘std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>::pair(std::__cxx11::basic_string<char>&, cmrc::detail::directory&)’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:206:9: note: candidate: template<class ... _Args1, long unsigned int ..._Indexes1, class ... _Args2, long unsigned int ..._Indexes2> std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>)
         pair(tuple<_Args1...>&, tuple<_Args2...>&,
         ^
/usr/include/c++/5/bits/stl_pair.h:206:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   ‘std::__cxx11::basic_string<char>’ is not derived from ‘std::tuple<_Elements ...>’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:155:9: note: candidate: template<class ... _Args1, class ... _Args2> std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>)
         pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
         ^
/usr/include/c++/5/bits/stl_pair.h:155:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   cannot convert ‘std::forward<std::__cxx11::basic_string<char>&>((* & __args#0))’ (type ‘std::__cxx11::basic_string<char>’) to type ‘std::piecewise_construct_t’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:150:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&)
  constexpr pair(pair<_U1, _U2>&& __p)
            ^
/usr/include/c++/5/bits/stl_pair.h:150:12: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   ‘std::__cxx11::basic_string<char>’ is not derived from ‘std::pair<_T1, _T2>’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:144:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&)
  constexpr pair(_U1&& __x, _U2&& __y)
            ^
/usr/include/c++/5/bits/stl_pair.h:144:12: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_pair.h:141:38: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
       template<class _U1, class _U2, class = typename
                                      ^
/usr/include/c++/5/bits/stl_pair.h:138:12: note: candidate: template<class _U2, class> constexpr std::pair<_T1, _T2>::pair(const _T1&, _U2&&)
  constexpr pair(const _T1& __x, _U2&& __y)
            ^
/usr/include/c++/5/bits/stl_pair.h:138:12: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_pair.h:136:27: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
       template<class _U2, class = typename
                           ^
/usr/include/c++/5/bits/stl_pair.h:133:12: note: candidate: template<class _U1, class> constexpr std::pair<_T1, _T2>::pair(_U1&&, const _T2&)
  constexpr pair(_U1&& __x, const _T2& __y)
            ^
/usr/include/c++/5/bits/stl_pair.h:133:12: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   cannot convert ‘std::forward<cmrc::detail::directory&>((* & __args#1))’ (type ‘cmrc::detail::directory’) to type ‘const cmrc::detail::file_or_directory&’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:128:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       constexpr pair(pair&&) = default;
                 ^
/usr/include/c++/5/bits/stl_pair.h:128:17: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/5/bits/stl_pair.h:127:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       constexpr pair(const pair&) = default;
                 ^
/usr/include/c++/5/bits/stl_pair.h:127:17: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/5/bits/stl_pair.h:124:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&)
  constexpr pair(const pair<_U1, _U2>& __p)
            ^
/usr/include/c++/5/bits/stl_pair.h:124:12: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   ‘std::__cxx11::basic_string<char>’ is not derived from ‘const std::pair<_T1, _T2>’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:112:26: note: candidate: constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b)
                          ^
/usr/include/c++/5/bits/stl_pair.h:112:26: note:   no known conversion for argument 2 from ‘cmrc::detail::directory’ to ‘const cmrc::detail::file_or_directory&’
/usr/include/c++/5/bits/stl_pair.h:108:26: note: candidate: constexpr std::pair<_T1, _T2>::pair() [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       _GLIBCXX_CONSTEXPR pair()
                          ^
/usr/include/c++/5/bits/stl_pair.h:108:26: note:   candidate expects 0 arguments, 2 provided
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::file_data&}; _Tp = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >]’:
/usr/include/c++/5/bits/alloc_traits.h:530:4:   required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::file_data&}; _Tp = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> > >]’
/usr/include/c++/5/bits/stl_tree.h:529:32:   required from ‘void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_construct_node(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, _Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::file_data&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >*]’
/usr/include/c++/5/bits/stl_tree.h:546:21:   required from ‘std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_create_node(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::file_data&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >*]’
/usr/include/c++/5/bits/stl_tree.h:2123:33:   required from ‘std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_unique(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::file_data&}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >]’
/usr/include/c++/5/bits/stl_map.h:559:64:   required from ‘std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool> std::map<_Key, _Tp, _Compare, _Alloc>::emplace(_Args&& ...) [with _Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cmrc::detail::file_data&}; _Key = std::__cxx11::basic_string<char>; _Tp = cmrc::detail::file_or_directory; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >; typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<std::pair<const _Key, _Tp> >::other>::iterator = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory> >]’
/home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:126:51:   required from here
/usr/include/c++/5/ext/new_allocator.h:120:4: error: no matching function for call to ‘std::pair<const std::__cxx11::basic_string<char>, cmrc::detail::file_or_directory>::pair(std::__cxx11::basic_string<char>&, cmrc::detail::file_data&)’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:206:9: note: candidate: template<class ... _Args1, long unsigned int ..._Indexes1, class ... _Args2, long unsigned int ..._Indexes2> std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>)
         pair(tuple<_Args1...>&, tuple<_Args2...>&,
         ^
/usr/include/c++/5/bits/stl_pair.h:206:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   ‘std::__cxx11::basic_string<char>’ is not derived from ‘std::tuple<_Elements ...>’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:155:9: note: candidate: template<class ... _Args1, class ... _Args2> std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>)
         pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
         ^
/usr/include/c++/5/bits/stl_pair.h:155:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   cannot convert ‘std::forward<std::__cxx11::basic_string<char>&>((* & __args#0))’ (type ‘std::__cxx11::basic_string<char>’) to type ‘std::piecewise_construct_t’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:150:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&)
  constexpr pair(pair<_U1, _U2>&& __p)
            ^
/usr/include/c++/5/bits/stl_pair.h:150:12: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   ‘std::__cxx11::basic_string<char>’ is not derived from ‘std::pair<_T1, _T2>’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:144:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&)
  constexpr pair(_U1&& __x, _U2&& __y)
            ^
/usr/include/c++/5/bits/stl_pair.h:144:12: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_pair.h:141:38: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
       template<class _U1, class _U2, class = typename
                                      ^
/usr/include/c++/5/bits/stl_pair.h:138:12: note: candidate: template<class _U2, class> constexpr std::pair<_T1, _T2>::pair(const _T1&, _U2&&)
  constexpr pair(const _T1& __x, _U2&& __y)
            ^
/usr/include/c++/5/bits/stl_pair.h:138:12: note:   template argument deduction/substitution failed:
/usr/include/c++/5/bits/stl_pair.h:136:27: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
       template<class _U2, class = typename
                           ^
/usr/include/c++/5/bits/stl_pair.h:133:12: note: candidate: template<class _U1, class> constexpr std::pair<_T1, _T2>::pair(_U1&&, const _T2&)
  constexpr pair(_U1&& __x, const _T2& __y)
            ^
/usr/include/c++/5/bits/stl_pair.h:133:12: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   cannot convert ‘std::forward<cmrc::detail::file_data&>((* & __args#1))’ (type ‘cmrc::detail::file_data’) to type ‘const cmrc::detail::file_or_directory&’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:128:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       constexpr pair(pair&&) = default;
                 ^
/usr/include/c++/5/bits/stl_pair.h:128:17: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/5/bits/stl_pair.h:127:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       constexpr pair(const pair&) = default;
                 ^
/usr/include/c++/5/bits/stl_pair.h:127:17: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/5/bits/stl_pair.h:124:12: note: candidate: template<class _U1, class _U2, class> constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&)
  constexpr pair(const pair<_U1, _U2>& __p)
            ^
/usr/include/c++/5/bits/stl_pair.h:124:12: note:   template argument deduction/substitution failed:
In file included from /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:33:0,
                 from /usr/include/c++/5/bits/allocator.h:46,
                 from /usr/include/c++/5/string:41,
                 from /usr/include/c++/5/stdexcept:39,
                 from /usr/include/c++/5/array:38,
                 from /usr/include/c++/5/tuple:39,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/ext/new_allocator.h:120:4: note:   ‘std::__cxx11::basic_string<char>’ is not derived from ‘const std::pair<_T1, _T2>’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^
In file included from /usr/include/c++/5/utility:70:0,
                 from /usr/include/c++/5/tuple:38,
                 from /usr/include/c++/5/functional:55,
                 from /home/andy/executor/build/_cmrc/include/cmrc/cmrc.hpp:5,
                 from /home/andy/executor/build/__cmrc_resources/lib.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:112:26: note: candidate: constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b)
                          ^
/usr/include/c++/5/bits/stl_pair.h:112:26: note:   no known conversion for argument 2 from ‘cmrc::detail::file_data’ to ‘const cmrc::detail::file_or_directory&’
/usr/include/c++/5/bits/stl_pair.h:108:26: note: candidate: constexpr std::pair<_T1, _T2>::pair() [with _T1 = const std::__cxx11::basic_string<char>; _T2 = cmrc::detail::file_or_directory]
       _GLIBCXX_CONSTEXPR pair()
                          ^
/usr/include/c++/5/bits/stl_pair.h:108:26: note:   candidate expects 0 arguments, 2 provided
CMakeFiles/resources.dir/build.make:127: recipe for target 'CMakeFiles/resources.dir/__cmrc_resources/lib.cpp.o' failed
make[2]: *** [CMakeFiles/resources.dir/__cmrc_resources/lib.cpp.o] Error 1
CMakeFiles/Makefile2:453: recipe for target 'CMakeFiles/resources.dir/all' failed
make[1]: *** [CMakeFiles/resources.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Something's rotten in the state of the Resource Manager

Strange things happen when resource files are written to disk. This affects both files created/modified by ResEdit and THINK C project files (which are a mostly resource-based file format)

  • ResEdit reports that "The resources in file ... are locked." when the file is opened again
  • Resources seem to randomly disappear

CMake outputs an error when using Boost 1.76 on Mac OS X Catalina

Using boost 1.76, installed via MacPorts, gave me this error on CMake during compilation:

CMake Error at /opt/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake:141 (find_package):
  Found package configuration file:

    /opt/local/lib/cmake/boost_filesystem-1.76.0/boost_filesystem-config.cmake

  but it set boost_filesystem_FOUND to FALSE so package "boost_filesystem" is
  considered to be NOT FOUND.  Reason given by package:

  No suitable build variant has been found.

  The following variants have been tried and rejected:

  * libboost_filesystem.dylib (shared, Boost_USE_STATIC_LIBS=YES)

Call Stack (most recent call first):
  /opt/local/lib/cmake/Boost-1.76.0/BoostConfig.cmake:258 (boost_find_component)
  /opt/local/share/cmake-3.22/Modules/FindBoost.cmake:594 (find_package)
  src/CMakeLists.txt:16 (find_package)

My instincts say that this is probably a problem with Boost 1.70 and up.

I am using an Intel Mac running Mac OS X 10.15.7. The other dependencies have already been installed.

Cannot compile on RHEL 8.6 + boost 1.66

Hi,
Trying to build executor from source on RHEL 8.6 + libboost 1.66, I get a C++ error:

[raistlin@daltigoth ~/rpmbuild/BUILD/executor/build]$ gmake
[  1%] Built target lmdb
[  6%] Built target resources
[  9%] Built target syngen
[ 14%] Built target syn68k
[ 15%] Built target powergenerator
[ 16%] Built target PowerCore
[ 16%] Built target CountInstructions
[ 16%] Built target testbed
[ 17%] Built target test-powerpc
[ 19%] Built target mon
[ 19%] Built target cxmon
[ 19%] Built target mksspairtable
[ 20%] Built target mkseedtables
[ 21%] Built target mkultable
[ 21%] Built target map_to_c
[ 89%] Built target romlib
[ 89%] Built target front-end-headless
[ 90%] Built target front-end-x
Consolidate compiler generated dependencies of target executor-x
[ 90%] Building CXX object src/CMakeFiles/executor-x.dir/main.cpp.o
In file included from /usr/include/boost/config.hpp:61,
                 from /usr/include/boost/filesystem/config.hpp:28,
                 from /usr/include/boost/filesystem.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp: In instantiation of ‘const bool boost::detail::has_right_shift_impl::operator_exists<std::basic_istream<wchar_t>, MemorySize>::value’:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care, false>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:   required from ‘struct boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:   required from ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:158:70: error: ambiguous overload for ‘operator>>’ (operand types are ‘std::basic_istream<wchar_t>’ and ‘MemorySize’)
    BOOST_STATIC_CONSTANT(bool, value = (sizeof(s_check(((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>()),make<has_operator>())))==sizeof(::boost::type_traits::yes_type)));
                                                                     ^
In file included from /usr/include/c++/8/iterator:65,
                 from /usr/include/boost/filesystem/path_traits.hpp:28,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/c++/8/istream:120:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:124:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/config.hpp:61,
                 from /usr/include/boost/filesystem/config.hpp:28,
                 from /usr/include/boost/filesystem.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp: In instantiation of ‘const bool boost::detail::has_right_shift_impl::operator_returns_void<std::basic_istream<wchar_t>, MemorySize>::value’:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care, false>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:   required from ‘struct boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:   required from ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:95:114: error: ambiguous overload for ‘operator>>’ (operand types are ‘std::basic_istream<wchar_t>’ and ‘MemorySize’)
    BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
                                                                                                                  ^
In file included from /usr/include/c++/8/iterator:65,
                 from /usr/include/boost/filesystem/path_traits.hpp:28,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/c++/8/istream:120:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:124:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/iterator/iterator_categories.hpp:21,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:28,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp: In instantiation of ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   required from ‘struct boost::detail::deduce_target_char<MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:   required from ‘struct boost::detail::lexical_cast_stream_traits<std::__cxx11::basic_string<char>, MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13: error: ‘value’ is not a member of ‘boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
             BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
             ^~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [src/CMakeFiles/executor-x.dir/build.make:76: src/CMakeFiles/executor-x.dir/main.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:762: src/CMakeFiles/executor-x.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2
[raistlin@daltigoth ~/rpmbuild/BUILD/executor/build]$ gmake
  06/26/2022 21:43:13 .: 7.81 6.38 5.27 :.  0 raistlin@daltigoth:~  1 coyote@daltigoth:~  2 root@daltigoth:~  3 raistlin@daltigoth:~  4 raistlin@daltigoth:~  5 root@daltigoth:~/Bui  6 root@daltigoth:~  7 raistlin@daltigoth:~  
raits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’ 
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/config.hpp:61,
                 from /usr/include/boost/filesystem/config.hpp:28,
                 from /usr/include/boost/filesystem.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp: In instantiation of ‘const bool boost::detail::has_right_shift_impl::operator_returns_void<std::basic_istream<wchar_t>, MemorySize>::value’:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:179:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl1<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care, false>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:208:4:   required from ‘const bool boost::detail::has_right_shift_impl::trait_impl<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>::value’
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:216:8:   required from ‘struct boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:   required from ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:95:114: error: ambiguous overload for ‘operator>>’ (operand types are ‘std::basic_istream<wchar_t>’ and ‘MemorySize’)
    BOOST_STATIC_CONSTANT(bool, value = (sizeof(::boost::type_traits::yes_type)==sizeof(returns_void((make<Lhs>() BOOST_TT_TRAIT_OP make<Rhs>(),returns_void_t())))));
                                                                                                                  ^
In file included from /usr/include/c++/8/iterator:65,
                 from /usr/include/boost/filesystem/path_traits.hpp:28,
                 from /usr/include/boost/filesystem/path.hpp:25,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/c++/8/istream:120:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:124:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<wchar_t>]’ 
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/8/istream:131:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<wchar_t>]’
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/8/istream:259:7: note: candidate: ‘std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = wchar_t; _Traits = std::char_traits<wchar_t>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<wchar_t>]’
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
In file included from /usr/include/boost/type_traits/has_right_shift.hpp:43,
                 from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:39,
                 from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
                 from /usr/include/boost/lexical_cast.hpp:32,
                 from /usr/include/boost/program_options/value_semantic.hpp:14,
                 from /usr/include/boost/program_options/options_description.hpp:13,
                 from /usr/include/boost/program_options.hpp:15,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./commandline/program_options_extended.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:58:
/usr/include/boost/type_traits/detail/has_binary_operator.hpp:70:13: note: candidate: ‘boost::detail::has_right_shift_impl::no_operator boost::detail::has_right_shift_impl::operator>>(const boost::detail::has_right_shift_impl::any&, const boost::detail::has_right_shift_impl::any&)’
 no_operator operator BOOST_TT_TRAIT_OP (const any&, const any&);
             ^~~~~~~~
In file included from /usr/include/boost/iterator/iterator_categories.hpp:21,
                 from /usr/include/boost/iterator/iterator_facade.hpp:13,
                 from /usr/include/boost/filesystem/path.hpp:28,
                 from /usr/include/boost/filesystem.hpp:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/include/rsys/filesystem.h:3,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/./file/file.h:16,
                 from /export/home/raistlin/rpmbuild/BUILD/executor/src/main.cpp:37:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp: In instantiation of ‘struct boost::detail::deduce_target_char_impl<boost::detail::deduce_character_type_later<MemorySize> >’:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:270:89:   required from ‘struct boost::detail::deduce_target_char<MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:407:92:   required from ‘struct boost::detail::lexical_cast_stream_traits<std::__cxx11::basic_string<char>, MemorySize>’
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:468:15:   required from ‘struct boost::detail::lexical_converter_impl<MemorySize, std::__cxx11::basic_string<char> >’
/usr/include/boost/lexical_cast/try_lexical_convert.hpp:196:44:   required from ‘bool boost::conversion::detail::try_lexical_convert(const Source&, Target&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char> ’
/usr/include/boost/lexical_cast.hpp:41:60:   required from ‘Target boost::lexical_cast(const Source&) [with Target = MemorySize; Source = std::__cxx11::basic_string<char>]’
/usr/include/boost/program_options/detail/value_semantic.hpp:92:36:   required from ‘void boost::program_options::validate(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&, T*, long int) [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:184:21:   required from ‘void boost::program_options::typed_value<T, charT>::xparse(boost::any&, const std::vector<std::__cxx11::basic_string<charT> >&) const [with T = MemorySize; charT = char]’
/usr/include/boost/program_options/detail/value_semantic.hpp:174:5:   required from here
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13: error: ‘value’ is not a member of ‘boost::has_right_shift<std::basic_istream<wchar_t>, MemorySize, boost::detail::has_right_shift_impl::dont_care>’
             BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
             ^~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [src/CMakeFiles/executor-x.dir/build.make:76: src/CMakeFiles/executor-x.dir/main.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:762: src/CMakeFiles/executor-x.dir/all] Error 2
gmake: *** [Makefile:166: all] Error 2

24-bit addressing support

Originally, Macs used 24-bit addressing. Apple introduced 32-bit addressing as an option with System 7 on 68020 and later processors, and made it mandatory some time later. This caused compatibility problems for quite a few applications.
Executor only implements 32-bit addressing and shows a warning for applications that are not explicitly marked as 32-bit compatible by their developers.

Background: The original 68000 processor ignored the upper 8 bits of every 32-bit address. Some programs took advantage of that and stored other information there, others even relied on the Memory Manager storing some information there in some situations.

TODO:

  • implement a 24-bit address mapping mode for syn68k
  • make sure that executor's memory use "fits" in 4 * 4MB
  • make the memory manager store its attribute bits where old apps expect them

Affected Apps (that are known to crash for this reason):

  • Turbo Pascal 1.0

Test case failure: FileTest.SetFInfo_CrDat

Creation dates are not currently emulated.

Standard UNIX does not track creation dates, but they are of course available on macOS, and AppleDouble stores them within the file.

Hypercard 1.2.5 crash the Heap when loading a stack

I'm not 100% sure as Hypercard 1.2.5 don't claim to be 32-bit clean, so it may be linked with #12, but when it try to load a stack it generate a HEAP_DEATH assert in mmansubr.cpp:866:

    /* Search from start to the end. */
    for(b = start;
        b != ZONE_BK_LIM(current_zone);
        b = BLOCK_NEXT(b))
    {
        if(PSIZE(b) < MIN_BLOCK_SIZE)
        {
            HEAP_DEATH(); // <<<< HERE
        }

        /* Is it free and big enough? */
        if(USE(b) == FREE)
        {
            ROMlib_coalesce(b);
            if(PSIZE(b) >= (uint32_t)size)
            {
                *newblk = b;
                return noErr;
            }
        }
    }

I've added some trace to check what is happening, and it seems that the current block of the heap which is looked for report a "PSIZE" of 0, which obviously is lower than the 12 bytes of the "MIN_BLOCK_SIZE".

I'm not really sure what's happening there, I would more suspect a bug in executor more than being an issue with the 24-bit vs 23-bit mode.

I don't understand enough how the internal debugger work to try to diagnose the heap (not even sure if we can)

Linux: Debian testing - 64 bit - kernel 4.19.28-2
Build from heads/master-0-gbd19a127

Build failed on macOS (debugger.h/debugger.cpp/mon_debugger.cpp)

With commit 3171cb4 building on macOS failed with following errors:

In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:369:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:880:5: error:
      static_assert failed due to requirement '__check_hash_requirements<basic_string<char, char_traits<char>,
      allocator<char> >, hash<basic_string<char, char_traits<char>, allocator<char> > > >::value' "the specified hash
      does not meet the Hash requirements"
    static_assert(__check_hash_requirements<_Key, _Hash>::value,
    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:962:77: note:
      in instantiation of member function 'std::__1::__diagnose_hash_table_helper<std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> > >,
      std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, Executor::traps::Entrypoint *> > >::__trigger_diagnostics' requested here
    static_assert(__diagnose_hash_table_helper<_Tp, _Hash, _Equal, _Alloc>::__trigger_diagnostics(), "");
                                                                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:769:13: note:
      in instantiation of template class
      'std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, Executor::traps::Entrypoint *>,
      std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, Executor::traps::Entrypoint *>, std::__1::hash<std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> > >, true>,
      std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, Executor::traps::Entrypoint *>, std::__1::equal_to<std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> > >, true>,
      std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> >, Executor::traps::Entrypoint *> > >' requested here
    __table __table_;
            ^
/Development/executor/src/base/debugger.cpp:29:23: note: in instantiation of template class
      'std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >,
      Executor::traps::Entrypoint *, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >, Executor::traps::Entrypoint *> > >' requested here
    traps::entrypoints["Debugger"]->breakpoint = true;
                      ^
/Development/executor/src/base/debugger.cpp:29:23: error: no viable overloaded operator[] for type
      'std::unordered_map<std::string, traps::Entrypoint *>' (aka 'unordered_map<basic_string<char, char_traits<char>,
      allocator<char> >, Executor::traps::Entrypoint *>')
    traps::entrypoints["Debugger"]->breakpoint = true;
    ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:1114:18: note:
      candidate function not viable: no known conversion from 'const char [9]' to 'const
      std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >,
      Executor::traps::Entrypoint *, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >, Executor::traps::Entrypoint *> > >::key_type' (aka
      'const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >') for 1st argument
    mapped_type& operator[](const key_type& __k);
                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:1116:18: note:
      candidate function not viable: no known conversion from 'const char [9]' to
      'std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >,
      Executor::traps::Entrypoint *, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
      std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<const std::__1::basic_string<char,
      std::__1::char_traits<char>, std::__1::allocator<char> >, Executor::traps::Entrypoint *> > >::key_type' (aka
      'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >') for 1st argument
    mapped_type& operator[](key_type&& __k);
                 ^
2 errors generated.
make[2]: *** [src/CMakeFiles/romlib.dir/base/debugger.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/romlib.dir/all] Error 2
make: *** [all] Error 2

X-Wing Collector's CD-ROM segfaults

I'm trying to run X-Wing Collector's CD-ROM with latest Executor 2000 but it is giving me segmentation fault upon execution.

Requirements according to the box:

  • COMPUTER: Apple Macintosh and 100% compatibles.
  • OPERATING SYSTEM: Mac OS 7.1 or higher.
  • CPU: 25Mhz 68040 or PowerPC required. 33Mhz 68040 recommended.
  • GRAPHICS: 256 color 13" or larger display required.
  • MEMORY: 8MB RAM (with 4.5 MB free RAM available.) (5.5 MB free RAM available on PowerPC machines.)
  • CD-ROM DRIVE: Double-speed (2x) or faster required.
  • INPUT DEVICES: Mouse, and joystick suported. Joystick highly recommended.

I've compiled Executor 2000 with Debian GNU/Linux sid with all the bells and whistles detected by "cd build;cmake .." and prefer running "./executor-wayland". I have succesfully mounted the cdrom on startup preparing it with "dd if=/dev/cdrom of=~/.executor/images/X-Wing\ CD.img". I have successfully run some of the LEC demos like The Dig from this volume, but X-Wing gives me a segmentation fault.

I'm skilled in Intel assembler, low level audio programming and a bit of reverse engineering, but new to m68k and PowerPC. How do we (I) proceed?

Add support for IPX networking

One of the possible networking solutions used by early Mac games for compatibility with DOS games was IPX. Getting an IPX set up working would be difficult. DOSBox does have support for IPX games by emulating it over TCP.
Perhaps some of the code could be lifted from DOSBox so the IPX-over-IP could also talk with DOSBox games?

Support for the Mac version of Warcraft: Orcs & Humans?

A while ago I was playing around with the old releases of Executor for DOS and Windows, and was able to run the demo, and then the full version, of the Macintosh release of Blizzard's Warcraft: Orcs & Humans. This release features revamped high-res graphics and other differences from the original DOS version of that game.

While both the demo and the full version (included in the GOG.com release) do play, there's a huge glitch in that almost no screen is shown in the correct palette (I posted some screenshots here). It seems that the problem is caused by fade-in and fade-out effects which may be based on palette cycling.

Could you please look into this sometime? It would be nice to have full support for the game because of its unique differences from the DOS version, and Executor is AFAIK the only option that allows you to run Mac software without the need for an actual copy of MacOS and the BIOS ROM.

Trying to build on FreeBSD

Trying to build on FreeBSD, compilation stops at

[  5%] Built target resources
[  6%] Building C object CMakeFiles/lmdb.dir/lmdb/libraries/liblmdb/mdb.c.o
/tmp/executor/lmdb/libraries/liblmdb/mdb.c:5169:14: error: variable has incomplete
      type 'union semun'
        union semun semu;
                    ^
/tmp/executor/lmdb/libraries/liblmdb/mdb.c:5169:8: note: forward declaration of       
      'union semun'
        union semun semu;
              ^
1 error generated.                                                                    
gmake[2]: *** [CMakeFiles/lmdb.dir/build.make:82: CMakeFiles/lmdb.dir/lmdb/libraries/liblmdb/mdb.c.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:445: CMakeFiles/lmdb.dir/all] Error 2
gmake: *** [Makefile:182: all] Error 2

Source for Browser?

Do we have the sources for the default Browser?

If we don't have the source of the current (and so being able to rebuild it as needed) it would probably be worth to make a new one which is Open Source.

Couple problems

  • Sound doesn't work, and seems to be disabled.
  • Opening SimpleText, the "Sound" menu is greyed out and disabled. The Cmd-Shift-5 trick to get the preferences doesn't work (to at least try to enable sound support).

Is there a way to hex edit the prefs file to enable it?

Boost not listed in README dependencies but required by cmake

When running the cmake .. step on a recently reinstalled Kubuntu 20.04 LTS system, I encountered this error message:

CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem system)
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.16/Modules/FindBoost.cmake:2179 (find_package_handle_standard_args)
  src/CMakeLists.txt:16 (find_package)

Boost isn't in the list of dependencies in the README so one of them is wrong.

(sudo apt-get install libboost-filesystem-dev libboost-system-dev got me past it.)

Missing branch?

Per this link, the 'twentyfourbits' branch hasn't been merged yet, but strangely, said branch is nowhere to be found.

Has it been merged?

ClarisWorks 3 / Lotus 1-2-3: Problem with field checks (numeric)

If i open the preferences of both apps and want to make changes there are always an error on settings that depends on numeric values.
In the case of CW 3 it's for example "Starting Footnote #".
In the case of Lotus 1-2-3 it's "Column with".

It doesn't matter what is entered in this fields.

bildschirmfoto_2019-02-17_16-35-07
bildschirmfoto_2019-02-17_16-35-23
bildschirmfoto_2019-02-17_16-38-53

Several Apps don't work (Claris Works 3, MacWrite Pro 1.5)

These Apps work in original Executor without a problem. i copied them on normal file system (%Claris Works 3.0) and wanted to run them from command line like on the original executor 2:

./executor.app/Contents/MacOS/executor -sticky -memory 128M -keyboard Deutsch -system 7 -nobrowser ./Office/MacWrite\ Pro\ 1.5/MacWrite\ Pro

bildschirmfoto 2019-02-13 um 14 09 37

Host: macOS 10.14.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.