Attract-Mode Support Forum
Attract-Mode Support => General => Topic started by: cyneater on November 27, 2021, 02:38:58 PM
-
Is there anyway to compile attact mode for ubuntu or lubuntu
Every time I try I keep getting errors
Or is there any other front end I can chose the emulator and configure?
Also the capture verification are a PIA
-
Please try to install as below dependency and then building AM. It works on Lubuntu 20.04
sudo apt-get -y install make g++ git libsfml-dev libopenal-dev libavformat-dev libfontconfig1-dev libfreetype6-dev libswscale-dev libavresample-dev libarchive-dev libjpeg-dev libglu1-mesa-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libcurl4-openssl-dev
-
Tried that..
Although couldn't install for libavresample-dev
Package 'libavresample-dev' has no installation candidate #1038
https://githubmemory.com/index.php/repo/darlinghq/darling/issues/1038
after messing around with that I kept getting the following error/s:
make
flags: -Wl,--export-dynamic -I/usr/include/freetype2 -I/usr/include/libpng16 -DDATA_PATH=\"/usr/local/share/attract/\" -O2 -DNDEBUG -Iextlibs/audio/include -D__STDC_CONSTANT_MACROS -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/AL -I/usr/include/x86_64-linux-gnu -Iextlibs/squirrel/include -Iextlibs/sqrat/include -Iextlibs/nowide -Iextlibs/nvapi -Iextlibs/rapidjson/include -Iextlibs/gameswf -DUSE_XLIB -DUSE_XINERAMA -DUSE_FONTCONFIG -DUSE_LIBARCHIVE -DUSE_LIBCURL -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
-
Check your gcc version, unfortunately, doesn't compile using gcc-11, you will need gcc 9.
I run Debian on my systems, package names may be different.
Install "gcc-9 and cpp-9"
apt install gcc-9 cpp-9
Build using g++9 (cpp-9), to speed up the build i use j4 since i have 4 cores, this is the number of build jobs to run simultaneously.
make -j4 CXX="g++-9"