Ubuntu & SDL Platform: joystick_ and gamepad_ functions do not exist

Reporter: mikeypro83  |  Status: closed  |  Last Modified: August 02, 2020, 02:24:37 PM

Describe the bug

Ubuntu & SDL Platform: joystick_ and gamepad_ functions do not exist

Steps To Reproduce

Steps to reproduce the behavior:

  1. In Ubuntu, select project platform as SDL
  2. Use any of the joystick or gamepad functions, or a combination of both.
  3. Compile/Run the project
  4. Failure!

ENIGMA Configuration:

OS: Ubuntu
Platform: SDL
(X11 compiles and runs but has performance issues)
latergm_joystick_bug

fundies  
I never implemented those in SDL I guess. However, I did do the gamepad_button_check variations so you can use those for now
mikeypro83  

Enigma 1.8.89, is there an updated version I'm missing? Both gamepad_button_check and gamepad_button_check_pressed fail to compile projects on Ubuntu with the SDL platform.

ENIGMA-GAMEPAD-BUTTON-CHECK-FAIL
ENIGMA-GAMEPAD-BUTTON-CHECK-PRESSED-FAIL

RobertBColton  

This seems to be a bug because I can see that SDL does have gamepad_button_check_pressed and the like.
bool gamepad_button_check_pressed(int id, int btn) {

That's quite odd because it also looks like the include is correct and they are in the correct namespace. Can you double check the platform setting is SDL? It is not saved by GMX or GMK format.

RobertBColton  

I sent #2088 but I'm not sure if it's the cause of this.
mikeypro83  

This seems to be a bug because I can see that SDL does have gamepad_button_check_pressed and the like.

bool gamepad_button_check_pressed(int id, int btn) {

That's quite odd because it also looks like the include is correct and they are in the correct namespace. Can you double check the platform setting is SDL? It is not saved by GMX or GMK format.

Yes sir. I only have the issues when I set it to SDL. If I set the platform to X11 it compiles and runs fine (albeit with performance issues)

ENIGMA-SDL-PLATFORM

mikeypro83  

What source file declares the external references to those functions? Or at least, where does the compiler look for them when it is compiling to verify they are there? I'm looking around but this could be awhile for me to find what I'm looking for...
RobertBColton  

The compiler scans for include.h in each platform, you can see then that SDL's includes "Platforms/General/include.h" which includes all of the general ones, even PFgamepad.h, all in one go. This is a really strange bug it's not obvious what's wrong.
mikeypro83  

The compiler scans for include.h in each platform, you can see then that SDL's includes "Platforms/General/include.h" which includes all of the general ones, even PFgamepad.h, all in one go. This is a really strange bug it's not obvious what's wrong.

So in the About.ay for SDL it doesn't include Linux builds for platform builds.. I don't know if that is required or what, but I figured I'd let you know that Linux is not included as a represented build-platform for the SDL platform.

mikeypro83  

make emake..
./emake -list :

...
bool font_replace(int ind, string name, int size, bool bold, bool italic, uint32_t first, uint32_t last);bool font_replace_sprite(int ind, int spr, uint32_t first, bool prop, int sep);
inline ma_scalar frac(ma_scalar x);void game_end(int ret = 0);
void game_load_buffer(int buffer);
inline void game_restart();
void game_save_buffer(int buffer);
int get_color(int defcol, bool advanced = 0);

...
but it does interestingly list a few of the joystick_ functions.:
...int joystick_axes(int id);
double joystick_axis(int id, int axis);
bool joystick_button(int id, int button);
int joystick_buttons(int id);
int joystick_direction(int id, int axis1 = 0, int axis2 = 1);
bool joystick_exists(int id);
bool joystick_has_pov(int id);
bool joystick_load(int id);
void joystick_map_axis(int id, int axisnum, char keyneg, char keypos);
void joystick_map_button(int id, int butnum, char key);
string joystick_name(int id);
double joystick_pov(int id); (And 1 overloads)

...
On Thursday, July 23, 2020, 1:52:49 PM MDT, Greg Williamson notifications@github.com wrote:

Functions appear in emake for me. Can you try this command on your system? If emake isn't found please make emake
int gamepad_axis_count(int device);
float gamepad_axis_value(int device, int axis);
bool gamepad_button_check(int device, int button);
bool gamepad_button_check_pressed(int device, int button);
bool gamepad_button_check_released(int device, int button);
int gamepad_button_count(int device);
float gamepad_button_value(int device, int button);
int gamepad_get_battery_charge(int device);
int gamepad_get_battery_type(int device);
float gamepad_get_button_threshold(int device);
string gamepad_get_description(int device);
int gamepad_get_device_count();
bool gamepad_is_connected(int num);
bool gamepad_is_supported();
void gamepad_set_axis_deadzone(int device, float deadzone);
void gamepad_set_button_threshold(int device, float threshold);
void gamepad_set_color(int device, int color);
void gamepad_set_vibration(int device, float left, float right);```


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

time-killer-games  

I wrote joysticks for SDL a while ago, although there might be some missing functions here and there, and a for loop fundies wanted me to add iirc. So I'll check it out later tonight if I have time, if not early tomorrow.
time-killer-games  

After further analysis, I have no idea why it isn't working for this guy.

rip

RobertBColton  

@mikeypro83 where did you download ENIGMA from? Looks like you got a stale version.
mikeypro83  

From the website, then I run the install script. 

Sent from Yahoo Mail on Android

On Sun, Jul 26, 2020 at 1:27 PM, Robert Coltonnotifications@github.com wrote:

@mikeypro83 where did you download ENIGMA from? Looks like you got a stale version.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

RobertBColton  

Did you try/do you want to try doing a git pull maybe?
mikeypro83  

Yeah that was my next thought, I'm doing a pull and make today. 

Sent from Yahoo Mail on Android

On Sun, Jul 26, 2020 at 6:40 PM, Robert Coltonnotifications@github.com wrote:

Did you try/do you want to try doing a git pull maybe?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

mikeypro83  

had to remove everything... ran enigma_install.sh and this happened...
....
mkdir -p .eobjs/syntax/
g++ -std=c++17 -Wall -Wextra -Wpedantic -g -I. -fPIC -I./JDI/src -I../shared/protos/.eobjs  -I../shared  -MMD -c -o .eobjs/settings.o settings.cpp
In file included from settings.cpp:29:0:
settings.h:35:10: fatal error: filesystem: No such file or directory
 #include
          ^~~~~~~~~~~~
compilation terminated.
../Default.mk:37: recipe for target '.eobjs/settings.o' failed
make[1]: *** [.eobjs/settings.o] Error 1
make[1]: Leaving directory '/home/mikey/enigma-dev/CompilerSource'
Makefile:10: recipe for target 'ENIGMA' failed
make: *** [ENIGMA] Error 2
Done, to start Enigma just run ~/enigma-dev/start.sh

On Sunday, July 26, 2020, 6:44:09 PM MDT, Michael Stuart <michaelscottstuart@yahoo.com> wrote:  

Yeah that was my next thought, I'm doing a pull and make today. 

Sent from Yahoo Mail on Android

On Sun, Jul 26, 2020 at 6:40 PM, Robert Coltonnotifications@github.com wrote:

Did you try/do you want to try doing a git pull maybe?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

time-killer-games  

@mikeypro83 you need to be on a newer version of ubuntu which includes the standard filesystem library either that or install gcc-8/g++-8 via a trusted ppa.

Ubuntu 16.04 to 18.04 can use this:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8

mikeypro83  

Okay. I have installed g++8 and forced Ubuntu to use it as the default, updated every possible thing I can. re-ran enigma_install.sh script and everything installs, compiles. Run up the editor, load my project and now X11 no longer has the gamepad functions and fails to compile, but the SDL platform DOES have them! Woo victory! But not really. While all my tiles are correct in the editor, when I run my project all the tiles are off in my rooms.
x11 compile log -------------------------------------------------------
Full command line: make -C "." Game WORKDIR="/home/mikey/.enigma/" CODEGEN="/home/mikey/.enigma/" GMODE="Run" GRAPHICS="OpenGL1" AUDIO="OpenAL" COLLISION="Precise" WIDGETS="None" NETWORKING="None" PLATFORM="xlib" TARGET-PLATFORM="Linux" CC="gcc" CXX="g++" CXXFLAGS="-fdiagnostics-color=always" MAKE="make" COMPILEPATH="Linux/Linux/GNU_GCC_G++" EXTENSIONS=" Universal_System/Extensions/IniFilesystem Universal_System/Extensions/DateTime Universal_System/Extensions/Paths Universal_System/Extensions/MotionPlanning Universal_System/Extensions/DataStructures Universal_System/Extensions/Alarms Universal_System/Extensions/libpng Universal_System/Extensions/Timelines Universal_System/Extensions/ParticleSystems" OUTPUTNAME="/tmp/egm2547285963578660454.tmp"
make: Entering directory '/home/mikey/enigma-dev'
make[1]: Entering directory '/home/mikey/enigma-dev/ENIGMAsystem/SHELL'
-e
################ Compiler Info ################
g++ (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

CXXFLAGS="-fdiagnostics-color=always -std=c++17 -Wall -s -O3 -fno-rtti -fno-exceptions  -IBridges/OpenGL -IGraphics_Systems/OpenGL-Common/ -DPATH_EXT_SET -I../../shared/libpng-util -IPlatforms/xlib/Info -IGraphics_Systems/OpenGL1/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -I/home/mikey/.enigma/ -I../../shared "
CFLAGS="-Wall -s -O3 -fno-exceptions  -IPlatforms/xlib/Info -IGraphics_Systems/OpenGL1/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -I/home/mikey/.enigma/ -I../../shared"
LDFLAGS=""
LDLIBS=""
-e ################################################

[g++] SHELLmain.cpp
[g++] Platforms/xlib/XLIBsystem.cpp
[g++] Platforms/xlib/XDisplayGetters.cpp
[g++] Platforms/xlib/XLIBwindow.cpp
[g++] Platforms/xlib/LINUXjoystick.cpp
[01m[KPlatforms/xlib/LINUXjoystick.cpp:[m[K In function ‘[01m[Kbool enigma_user::joystick_load(int)[m[K’:
[01m[KPlatforms/xlib/LINUXjoystick.cpp:170:34:[m[K [01;35m[Kwarning: [m[Kcomparison of integer expressions of different signedness: ‘[01m[Kstd::vector<std::unique_ptrenigma::e_joystick >::size_type[m[K’ {aka ‘[01m[Klong unsigned int[m[K’} and ‘[01m[Kint[m[K’ [[01;35m[K-Wsign-compare[m[K]
     if ([01;35m[Kenigma::joysticks.size() <= id[m[K) enigma::joysticks.resize(id);
         [01;35m[K~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~[m[K
[g++] Platforms/xlib/XLIBmain.cpp
[g++] Platforms/xlib/XLIBicon.cpp
[g++] Platforms/General/POSIX/POSIXproccess.cpp
[g++] Platforms/General/POSIX/main.cpp
[g++] Platforms/General/POSIX/POSIXthreads.cpp
[g++] Universal_System/image_formats.cpp
[g++] Universal_System/fileio.cpp
[01m[KUniversal_System/fileio.cpp:[m[K In function ‘[01m[Kstd::__cxx11::string enigma_user::file_text_read_all(int)[m[K’:
[01m[KUniversal_System/fileio.cpp:144:8:[m[K [01;35m[Kwarning: [m[Kignoring return value of ‘[01m[Ksize_t fread(void*, size_t, size_t, FILE*)[m[K’, declared with attribute warn_unused_result [[01;35m[K-Wunused-result[m[K]
   [01;35m[Kfread(&contents[0],1,contents.size(),enigma::files[fileid].f)[m[K;
   [01;35m[K~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[m[K
[g++] Universal_System/Object_Tiers/planar_object.cpp
[g++] Universal_System/Resources/backgroundinit.cpp
[g++] Universal_System/Resources/asset_index.cpp
[g++] Universal_System/Resources/loading.cpp
[g++] Universal_System/Resources/fontinit.cpp
[g++] Universal_System/Resources/spriteinit.cpp
[g++] Universal_System/Resources/soundinit.cpp
[g++] Bridges/xlib-OpenGL/graphics_bridge.cpp
[g++] Bridges/xlib-OpenGL1/attribs.cpp
Linking /tmp/egm2547285963578660454.tmp
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/SHELLmain.o: In function enigma::OBJ_obj_mm::_SCR_scr_UpdateMenuButtons()': SHELLmain.cpp:(.text+0x88df): undefined reference to enigma_user::gamepad_button_check(int, int)'
SHELLmain.cpp:(.text+0x890c): undefined reference to enigma_user::gamepad_button_check(int, int)' SHELLmain.cpp:(.text+0x8987): undefined reference to enigma_user::gamepad_button_check(int, int)'
SHELLmain.cpp:(.text+0x89b4): undefined reference to enigma_user::gamepad_button_check(int, int)' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/SHELLmain.o: In function _SCR_scr_UpdateMenuButtons(variant, variant, variant, variant, variant, variant, variant, variant, variant, variant, variant, variant, variant, variant, variant, variant)':
SHELLmain.cpp:(.text+0x8efd): undefined reference to enigma_user::gamepad_button_check(int, int)' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/SHELLmain.o:SHELLmain.cpp:(.text+0x8f28): more undefined references to enigma_user::gamepad_button_check(int, int)' follow
collect2: error: ld returned 1 exit status
make[1]: *** [compile_game] Error 1
Makefile:24: recipe for target 'Game' failed
make: *** [Game] Error 2
make: Leaving directory '/home/mikey/enigma-dev'
Makefile:171: recipe for target 'compile_game' failed
make[1]: Leaving directory '/home/mikey/enigma-dev/ENIGMAsystem/SHELL'

screenshots of corrupted tiles in SDL are attached. As you can see the objects are okay, but every tile is wrong. I have reloaded the background image used for the tiles and re-saved everything but nothing has fixed it.

On Sunday, July 26, 2020, 7:55:03 PM MDT, time-killer-games <notifications@github.com> wrote:  

@mikeypro83 you need to be on a newer version of ubuntu which includes the standard filesystem library either that or install gcc-8/g++-8 via a trusted ppa.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

mikeypro83  

enigma_game_tiles_bad
enigma_room_editor_ok_tiles

mikeypro83  

I'm leaving the issue open because of two problems arising: X11 no longer has gamepad functions and that after updating my room tiles display properly in the editor but not in the game.
fundies  

Can you try your game against #2008 and see if that helps with the tiles any?
mikeypro83  

how do I pull and merge that into my local repository? (save me an hour of looking to figure it out)

On Saturday, August 1, 2020, 9:18:01 AM MDT, Greg Williamson <notifications@github.com> wrote:  

Can you try your game against #2008 and see if that helps with the tiles any?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

fundies  

git fetch origin pull/2008/head:test-fix
git checkout test-fix
mikeypro83  

doing that, I received new issues:
CXXFLAGS="-fdiagnostics-color=always -std=c++17 -Wall -s -O3 -fno-rtti -fno-exceptions -D_REENTRANT -I/usr/include/SDL2 -DENIGMA_PLATFORM_SDL -IBridges/OpenGL -IGraphics_Systems/OpenGL-Common/ -DPATH_EXT_SET -I../../shared/libpng-util -IPlatforms/SDL/Info -IGraphics_Systems/OpenGL1/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -I/home/mikey/.enigma/ -I../../shared "
CFLAGS="-Wall -s -O3 -fno-exceptions -IPlatforms/SDL/Info -IGraphics_Systems/OpenGL1/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -I/home/mikey/.enigma/ -I../../shared"
LDFLAGS="-lstdc++fs"
LDLIBS=""
-e ################################################

[g++] SHELLmain.cpp
[g++] Universal_System/Resources/asset_index.cpp
Linking /tmp/egm4726461794370261250.tmp
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Graphics_Systems/General/GStextures.o: In function enigma_user::texture_save(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': GStextures.cpp:(.text+0xdb8): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Graphics_Systems/General/GStextures.o: In function enigma_user::texture_add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)': GStextures.cpp:(.text+0x15d5): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Graphics_Systems/General/GSsurface.o: In function enigma_user::surface_save(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': GSsurface.cpp:(.text+0x216e): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Graphics_Systems/General/GSsurface.o: In function enigma_user::surface_save_part(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned int, unsigned int, unsigned int)': GSsurface.cpp:(.text+0x22b2): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Graphics_Systems/General/GSscreen.o: In function enigma_user::screen_save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': GSscreen.cpp:(.text+0x360): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Graphics_Systems/General/GSscreen.o:GSscreen.cpp:(.text+0x532): more undefined references to std::filesystem::__cxx11::path::_M_split_cmpts()' follow /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/image_formats.o: In function enigma::image_save(std::filesystem::__cxx11::path const&, unsigned char const*, unsigned int, unsigned int, unsigned int, unsigned int, bool)':
image_formats.cpp:(.text+0x127e): undefined reference to std::filesystem::__cxx11::path::_M_find_extension() const' image_formats.cpp:(.text+0x1373): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
image_formats.cpp:(.text+0x14fd): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' image_formats.cpp:(.text+0x1534): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const'
image_formats.cpp:(.text+0x1559): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/image_formats.o: In function enigma::image_load(std::filesystem::__cxx11::path const&)':
image_formats.cpp:(.text+0x2610): undefined reference to std::filesystem::__cxx11::path::_M_find_extension() const' image_formats.cpp:(.text+0x2705): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
image_formats.cpp:(.text+0x2845): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' image_formats.cpp:(.text+0x2879): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const'
image_formats.cpp:(.text+0x28a1): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' image_formats.cpp:(.text+0x2e1c): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
image_formats.cpp:(.text+0x2fb0): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/image_formats.o: In function enigma::image_add_loader(std::filesystem::__cxx11::path const&, std::function<std::vector<enigma::RawImage, std::allocatorenigma::RawImage > (std::filesystem::__cxx11::path const&)>)':
image_formats.cpp:(.text+0x37b4): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' image_formats.cpp:(.text+0x37d6): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const'
image_formats.cpp:(.text+0x3a76): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/image_formats.o: In function enigma::image_add_saver(std::filesystem::__cxx11::path const&, std::function<int (std::filesystem::__cxx11::path const&, unsigned char const*, unsigned int, unsigned int, unsigned int, unsigned int, bool)>)':
image_formats.cpp:(.text+0x3af4): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' image_formats.cpp:(.text+0x3b16): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const'
/home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/image_formats.o:image_formats.cpp:(.text+0x3db6): more undefined references to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' follow /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/image_formats.o: In function __static_initialization_and_destruction_0(int, int) [clone .constprop.161]':
image_formats.cpp:(.text.startup+0xc6): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' image_formats.cpp:(.text.startup+0x136): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()'
image_formats.cpp:(.text.startup+0x43b): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' image_formats.cpp:(.text.startup+0x718): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const'
image_formats.cpp:(.text.startup+0x738): undefined reference to std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/Resources/backgrounds.o: In function enigma_user::background_save(int, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':
backgrounds.cpp:(.text+0xd9): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/Resources/backgrounds.o: In function (anonymous namespace)::background_add_helper(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool, bool, bool, bool) [clone .constprop.123]':
backgrounds.cpp:(.text+0x99e): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/Resources/sprites.o: In function (anonymous namespace)::sprite_add_helper(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int, bool, bool, bool, bool, int, int, bool) [clone .constprop.156]':
sprites.cpp:(.text+0x1fa1): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/Resources/sprites.o: In function enigma_user::sprite_save(int, unsigned int, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)':
sprites.cpp:(.text+0x2d86): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/Extensions/libpng/libpng-ext.o: In function enigma::extension_libpng_init()':
libpng-ext.cpp:(.text+0x3b5): undefined reference to std::filesystem::__cxx11::path::_M_split_cmpts()' /home/mikey/.enigma/.eobjs/Linux/Linux/GNU_GCC_G++/Run/Universal_System/Extensions/libpng/libpng-ext.o:libpng-ext.cpp:(.text+0x493): more undefined references to std::filesystem::__cxx11::path::_M_split_cmpts()' follow
collect2: error: ld returned 1 exit status
Makefile:24: recipe for target 'Game' failed
make: *** [Game] Error 2
make: Leaving directory '/home/mikey/enigma-dev'
make[1]: *** [compile_game] Error 1
Makefile:171: recipe for target 'compile_game' failed
make[1]: Leaving directory '/home/mikey/enigma-dev/ENIGMAsystem/SHELL'

On Saturday, August 1, 2020, 10:06:06 AM MDT, Greg Williamson <notifications@github.com> wrote:  

git fetch origin pull/2008/head:test-fix
git checkout test-fix


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

fundies  

I think that's still an issue with your gcc version. The current right now is 10. Please try and get on the latest ubuntu as I can't really support prehistoric packages.
mikeypro83  

Okay. I have Ubuntu 20.whatever. Went through some troubleshooting. I can't make emake because it wants yamlcpp-0.5 library but the system has, and as far as I can see, there is only a package for yamlcpp-0.6 I can get which is default installed.. Biggest issue now is when I try to run the project from inside lateralGM it compiles then tells me the program returned 0 with no window or anything showing up for the game. However, I can compile it and run the executable itself and it works. Also, the gamepad functions are (now) still missing for the x11 platform, but as long as SDL is there I don't really care but someone may? That's up to you guys. Let me get you the log from running, it's not very informative of why it quits out immediately instead of running the game...

  here is the progress log when I attempt to run the game from inside the editor (it doesnt run it):

Building for mode (0)
Cleaning up from previous executions
 - Cleared event info.
Loading shared locals from extensions list
The IDE didn't tell ENIGMA what extensions were selected before requesting a build....Continuing anyway...
Copying resources:
Copying sprite names [16]
Copying sound names [0]
Copying background names [1]
Copying path names [0]
Copying script names [4]
Copying shader names [0]
Copying font names [3]
Copying timeline names [0]
Copying object names [21]
Copying room names [5]
Copying constant names [0]
SYNTAX CHECKING AND PRIMARY PARSING:
4 Scripts:
Parsed scr_Globals': 0 locals, 0 globals Parsed scr_window': 0 locals, 0 globals
Parsed scr_UpdateMenuButtons': 0 locals, 0 globals Parsed scr_CheckInput': 0 locals, 0 globals
"Linking" scripts
Linking' 4 scripts and 0 timelines in 2 passes... Completing script "Link" Linking scr_Globals':
Linking scr_window': Linking scr_UpdateMenuButtons':
Linking scr_CheckInput': Done. Completing timeline "Link" Done. 21 Objects:  obj_p1: 4 events:   Event[0, 0] Check obj_p1::create... Done. Parse... Done.
  Event[3, 0] Check obj_p1::step... Done. Parse... Done.   Event[4, 9] Check obj_p1::collision_9... Done. Parse... Done.
  Event[8, 64] Check obj_p1::drawgui... Done. Parse... Done.  obj_rock: 2 events:   Event[0, 0] Check obj_rock::create... Done. Parse... Done.
  Event[1, 0] Check obj_rock::destroy... Done. Parse... Done.  obj_nugget: 1 events:   Event[4, 0] Check obj_nugget::collision_0... Done. Parse... Done.
 obj_crystal: 2 events:
  Event[0, 0] Check obj_crystal::create... Done. Parse... Done.   Event[4, 0] Check obj_crystal::collision_0... Done. Parse... Done.
 obj_doorexit: 3 events:
  Event[0, 0] Check obj_doorexit::create... Done. Parse... Done.   Event[3, 0] Check obj_doorexit::step... Done. Parse... Done.
  Event[4, 0] Check obj_doorexit::collision_0... Done. Parse... Done.  obj_doorentrance: 3 events:   Event[0, 0] Check obj_doorentrance::create... Done. Parse... Done.
  Event[3, 0] Check obj_doorentrance::step... Done. Parse... Done.   Event[4, 0] Check obj_doorentrance::collision_0... Done. Parse... Done.
 obj_doorhome: 3 events:
  Event[0, 0] Check obj_doorhome::create... Done. Parse... Done.   Event[3, 0] Check obj_doorhome::step... Done. Parse... Done.
  Event[4, 0] Check obj_doorhome::collision_0... Done. Parse... Done.  obj_heart: 1 events:   Event[4, 0] Check obj_heart::collision_0... Done. Parse... Done.
 obj_wall_brickA: 0 events:
 obj_water: 2 events:
  Event[0, 0] Check obj_water::create... Done. Parse... Done.   Event[3, 0] Check obj_water::step... Done. Parse... Done.
 obj_water_trickle: 3 events:
  Event[0, 0] Check obj_water_trickle::create... Done. Parse... Done.   Event[3, 0] Check obj_water_trickle::step... Done. Parse... Done.
  Event[8, 64] Check obj_water_trickle::drawgui... Done. Parse... Done.  obj_blockall: 0 events:  obj_mine: 4 events:   Event[0, 0] Check obj_mine::create... Done. Parse... Done.
  Event[3, 0] Check obj_mine::step... Done. Parse... Done.   Event[7, 4] Check obj_mine::roomstart... Done. Parse... Done.
  Event[8, 64] Check obj_mine::drawgui... Done. Parse... Done.  obj_mm: 3 events:   Event[0, 0] Check obj_mm::create... Done. Parse... Done.
  Event[3, 0] Check obj_mm::step... Done. Parse... Done.   Event[8, 64] Check obj_mm::drawgui... Done. Parse... Done.
 obj_entrance: 1 events:
  Event[3, 0] Check obj_entrance::step... Done. Parse... Done.  obj_house: 1 events:   Event[3, 0] Check obj_house::step... Done. Parse... Done.
 obj_beach: 1 events:
  Event[3, 0] Check obj_beach::step... Done. Parse... Done.  obj_menu_button: 1 events:   Event[0, 0] Check obj_menu_button::create... Done. Parse... Done.
 obj_mm_exit_btn: 1 events:
  Event[3, 0] Check obj_mm_exit_btn::step... Done. Parse... Done.  obj_mm_start_btn: 1 events:   Event[3, 0] Check obj_mm_start_btn::step... Done. Parse... Done.
 obj_bed: 0 events:
Creating room creation code scope and parsing
"Linking" scripts into the objects...
"Linking" timelines into the objects...
"Link" complete.
Tabulating maximum argument passes to each script
Finished
Writing executable information and resources.
Writing modes and settings
Writing object switch
Writing resource names and maxima
Writing timeline control information
Linking globals and ambiguous variables
Running Secondary Parse Passes
Add dot accessed local maxhp
 var
Add dot accessed local hp
 var
Add dot accessed local bonwater
 var
Add dot accessed local bdeathscene
 var
Add dot accessed local key_up
 var
Add dot accessed local key_down
 var
Add dot accessed local key_left
 var
Add dot accessed local key_right
 var
Add dot accessed local oplayer
 var
Add dot accessed local owater
 var
Add dot accessed local level_rocks_left
 var
Add dot accessed local level_waterrocks
 var
Add dot accessed local level_nugs_total
 var
Add dot accessed local level_nugs_found
 var
Add dot accessed local level_crys_total
 var
Add dot accessed local level_crys_found
 var
Add dot accessed local level
 var
Add dot accessed local mine_topy
 var
Add dot accessed local mine_boty
 var
Add dot accessed local level_oplayer
 var
Add dot accessed local key_accept
 var
Add dot accessed local key_back
 var
Add dot accessed local level_odoorexit
 var
Add dot accessed local level_waterchance_mod
 var
Add dot accessed local globals_init
 var
Add dot accessed local mm_start_btn
 var
Add dot accessed local mm_exit_btn
 var
Add dot accessed local oprevbtn
 var
Add dot accessed local onextbtn
 var
Add dot accessed local menu_button
 var
Add dot accessed local ExitGame
 var
Add dot accessed local perform_accept
 var
Add dot accessed local in_up
 var
Add dot accessed local in_down
 var
Add dot accessed local in_left
 var
Add dot accessed local in_right
 var
Add dot accessed local in_accept
 var
Add dot accessed local in_back
 var
Add dot accessed local in_check
 var
Add dot accessed local in_pressed
 var
Add dot accessed local in_released
 var
Add dot accessed local gp_device
 var
Add dot accessed local gp_up
 var
Add dot accessed local gp_down
 var
Add dot accessed local gp_left
 var
Add dot accessed local gp_right
 var
Add dot accessed local gp_accept
 var
Add dot accessed local gp_back
 var
Add dot accessed local total_nugs_found
 var
Add dot accessed local total_crys_found
 var
Add dot accessed local level_odoorhome
 var
Add dot accessed local vk_esc
 var
Add dot accessed local tile_size
 var
Add dot accessed local ind
 var
Add dot accessed local win_x
 var
Add dot accessed local argument
 var
Add dot accessed local win_y
 var
Add dot accessed local win_w
 var
Add dot accessed local win_h
 var
Add dot accessed local wtot
 var
Add dot accessed local htot
 var
Add dot accessed local hcnt
 var
Add dot accessed local next
 var
Add dot accessed local prev
 var
Add dot accessed local inst
 var
Writing events
Writing object data
Writing local accessors
Writing font data
Writing room data
Writing shader data
Running make from `make'
Full command line: make -C "." Game WORKDIR="/home/mikey/.enigma/" CODEGEN="/home/mikey/.enigma/" GMODE="Run" GRAPHICS="OpenGL1" AUDIO="OpenAL" COLLISION="Precise" WIDGETS="None" NETWORKING="None" PLATFORM="SDL" TARGET-PLATFORM="Linux" CC="gcc" CXX="g++" CXXFLAGS="-fdiagnostics-color=always" LDFLAGS="-lstdc++fs" MAKE="make" COMPILEPATH="Linux/Linux/GNU_GCC_G++" EXTENSIONS=" Universal_System/Extensions/IniFilesystem Universal_System/Extensions/Paths Universal_System/Extensions/DateTime Universal_System/Extensions/DataStructures Universal_System/Extensions/MotionPlanning Universal_System/Extensions/Alarms Universal_System/Extensions/Timelines Universal_System/Extensions/libpng Universal_System/Extensions/ParticleSystems" OUTPUTNAME="/tmp/egm7453268409794327719.tmp"
make: Entering directory '/home/mikey/enigma-dev'
make[1]: Entering directory '/home/mikey/enigma-dev/ENIGMAsystem/SHELL'
-e
################ Compiler Info ################
g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

CXXFLAGS="-fdiagnostics-color=always -std=c++17 -Wall -s -O3 -fno-rtti -fno-exceptions -D_REENTRANT -I/usr/include/SDL2 -DENIGMA_PLATFORM_SDL -IBridges/OpenGL -IGraphics_Systems/OpenGL-Common/ -DPATH_EXT_SET -I../../shared/libpng-util -IPlatforms/SDL/Info -IGraphics_Systems/OpenGL1/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -I/home/mikey/.enigma/ -I../../shared "
CFLAGS="-Wall -s -O3 -fno-exceptions -IPlatforms/SDL/Info -IGraphics_Systems/OpenGL1/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -I/home/mikey/.enigma/ -I../../shared"
LDFLAGS="-lstdc++fs"
LDLIBS=""
-e ################################################

[g++] SHELLmain.cpp
[g++] Universal_System/Resources/asset_index.cpp
Linking /tmp/egm7453268409794327719.tmp
Built to /tmp/egm7453268409794327719.tmp
make[1]: Leaving directory '/home/mikey/enigma-dev/ENIGMAsystem/SHELL'
make: Leaving directory '/home/mikey/enigma-dev'
******** Make Completed Successfully ********
16 Adding Sprites to Game Module:
Done writing sprites.
Finalized sprites.
0 Sounds:
Done writing sounds.
1 Adding Backgrounds to Game Module:
Done writing backgrounds.
3 Adding Fonts to Game Module:
Done writing fonts.
Adding 0 Paths to Game Module:
Done writing paths.
Closing game module and running if requested.
Running "/tmp/egm7453268409794327719.tmp"

Game returned 0
On Saturday, August 1, 2020, 2:18:32 PM MDT, Greg Williamson notifications@github.com wrote:

I think that's still an issue with your gcc version. The current right now is 10. Please try and get on the latest ubuntu as I can't really support prehistoric packages.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

fundies  

In the new issue tracker I have instructions for running gdb
mikeypro83  

new issue tracker? where is that located?
On Saturday, August 1, 2020, 10:25:54 PM MDT, Greg Williamson notifications@github.com wrote:

In the new issue tracker I have instructions for running gdb


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

fundies  

click new issue here on github it will show instructions in the default message
mikeypro83  

I see. Thank you for your patience. I will close this since SDL & Ubuntu has been proven to work through with your help and my stumbling around.
Please sign in to post comments, or you can view this issue on GitHub.