Author Topic: Compiling Attract Mode on Fedora 34  (Read 2908 times)

jarz

  • Newbie
  • *
  • Posts: 5
    • View Profile
Compiling Attract Mode on Fedora 34
« on: September 27, 2021, 12:49:58 PM »
Created this issue on the github repo.    https://github.com/mickelson/attract/issues/687

Thought I would drop a post here to see if anyone has it successfully installed on fedora.


When I compile i get the following...
Code: [Select]
make
flags: -Wl,--export-dynamic -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -DDATA_PATH=\"/usr/local/share/attract/\" -O2 -DNDEBUG -Iextlibs/miniz -Iextlibs/audio/include -D__STDC_CONSTANT_MACROS -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -I/usr/include/libxml2 -I/usr/include/ffmpeg -I/usr/include/AL  -Iextlibs/squirrel/include -Iextlibs/sqrat/include -Iextlibs/nowide -Iextlibs/nvapi -Iextlibs/rapidjson/include -Iextlibs/gameswf -DUSE_XLIB -DUSE_FONTCONFIG -DUSE_SWRESAMPLE
Compiling obj/swf.o...
In file included from /usr/include/c++/11/backward/hash_map:60,
                 from extlibs/gameswf/base/container.h:75,
                 from extlibs/gameswf/base/tu_file.h:18,
                 from src/swf.cpp:26:
/usr/include/c++/11/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
   32 | #warning \
      |  ^~~~~~~
In file included from extlibs/gameswf/gameswf/gameswf_action.h:13,
                 from extlibs/gameswf/gameswf/gameswf_impl.h:14,
                 from src/swf.cpp:28:
extlibs/gameswf/gameswf/gameswf_environment.h:150:17: error: ‘class array<gameswf::as_value> array<gameswf::as_value>::array’ is private within this context
  150 |                 array<as_value> m_local_register;       // function2 uses this
      |                 ^~~~~~~~~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>
      |                ^~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:162:17: error: ‘class array<gameswf::as_value> array<gameswf::as_value>::array’ is private within this context
  162 |                 array<frame_slot>       m_local_frames;
      |                 ^~~~~~~~~~~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>
      |                ^~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:179:78: error: ‘class array<gameswf::as_value> array<gameswf::as_value>::array’ is private within this context
  179 |                 as_value        get_variable(const tu_string& varname, const array<with_stack_entry>& with_stack) const;
      |                                                                              ^~~~~~~~~~~~~~~~~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>
      |                ^~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:181:82: error: ‘class array<gameswf::as_value> array<gameswf::as_value>::array’ is private within this context
  181 |                 as_value        get_variable_raw(const tu_string& varname, const array<with_stack_entry>& with_stack) const;
      |                                                                                  ^~~~~~~~~~~~~~~~~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>
      |                ^~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:183:88: error: ‘class array<gameswf::as_value> array<gameswf::as_value>::array’ is private within this context
  183 |                 void    set_variable(const tu_string& path, const as_value& val, const array<with_stack_entry>& with_stack);
      |                                                                                        ^~~~~~~~~~~~~~~~~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>
      |                ^~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:185:92: error: ‘class array<gameswf::as_value> array<gameswf::as_value>::array’ is private within this context
  185 |                 void    set_variable_raw(const tu_string& path, const as_value& val, const array<with_stack_entry>& with_stack);
      |                                                                                            ^~~~~~~~~~~~~~~~~~~~~~~
extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>
      |                ^~~~~~~~
make: *** [Makefile:460: obj/swf.o] Error 1

cyneater

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: Compiling Attract Mode on Fedora 34
« Reply #1 on: November 27, 2021, 03:22:50 PM »
I get the same error on ubuntu 20.10 and 21.10
as well as lubuntu
found all .deb files which will not install
but when you try and install them with dpkg -i comes up that it uses old dependencies libcurl3 but the latest is libcurl4

Spent ages going in circles

Works on older versions of ubuntu 18.10 but has issues no 20.10

looks like ill just go back to using the keyboard and mouse and launching emulators by them selves
Retro pie is a steaming pile etc etc

I literally want a front end I can choose the emulator and the roms  which attact mode does
I don't want to run windows either...




silverhawk1

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Compiling Attract Mode on Fedora 34
« Reply #2 on: December 29, 2021, 09:36:16 AM »
I have this running on Fedora 35. I ran into the same issue at first, but the key is this line right here:

extlibs/gameswf/gameswf/gameswf_environment.h:51:16: note: declared private here
   51 |         struct vm_stack : private array<as_value>

If you go into that file: extlibs/gameswf/gameswf/gameswf_environment.h
Line 51: struct vm_stack : private array<as_value>

and change private to public, it will compile without issue.