Previous Thread
Next Thread
Print Thread
Joined: Feb 2014
Posts: 1,034
Likes: 119
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,034
Likes: 119
It looks like ubuntu 20.04 won't compile 265 since it now requires GCC 10.3.

GCC 9.4.0 detected
GCC version 10.3 or later needed


I commented out the check in scripts/genie.lua

if version < 100300 then
print("GCC version 10.3 or later needed")
-- os.exit(-1)
end

but then it fails on compiling src/osd/modules/input/input_sdl.cpp

../../../../../src/osd/modules/input/input_sdl.cpp: In member function ‘virtual void osd::{anonymous}::sdl_game_controller_device::configure(osd::input_device&)’:
../../../../../src/osd/modules/input/input_sdl.cpp:1293:25: error: ‘SDL_GameControllerGetType’ was not declared in this scope; did you mean ‘SDL_GameControllerGetAxis’?
1293 | auto const ctrltype = SDL_GameControllerGetType(m_ctrldevice);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| SDL_GameControllerGetAxis
../../../../../src/osd/modules/input/input_sdl.cpp:1296:8: error: ‘SDL_CONTROLLER_TYPE_UNKNOWN’ was not declared in this scope; did you mean ‘SDL_CONTROLLERBUTTONDOWN’?
1296 | case SDL_CONTROLLER_TYPE_UNKNOWN:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| SDL_CONTROLLERBUTTONDOWN
../../../../../src/osd/modules/input/input_sdl.cpp:1299:8: error: ‘SDL_CONTROLLER_TYPE_XBOX360’ was not declared in this scope; did you mean ‘CONTROLLER_BUTTON_XBOX360’?
1299 | case SDL_CONTROLLER_TYPE_XBOX360:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| CONTROLLER_BUTTON_XBOX360
../../../../../src/osd/modules/input/input_sdl.cpp:1304:8: error: ‘SDL_CONTROLLER_TYPE_XBOXONE’ was not declared in this scope; did you mean ‘SDL_CONTROLLER_BINDTYPE_NONE’?
1304 | case SDL_CONTROLLER_TYPE_XBOXONE:
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| SDL_CONTROLLER_BINDTYPE_NONE
../../../../../src/osd/modules/input/input_sdl.cpp:1309:8: error: ‘SDL_CONTROLLER_TYPE_PS3’ was not declared in this scope; did you mean ‘SDL_CONTROLLER_AXIS_MAX’?
1309 | case SDL_CONTROLLER_TYPE_PS3:
| ^~~~~~~~~~~~~~~~~~~~~~~
| SDL_CONTROLLER_AXIS_MAX
../../../../../src/osd/modules/input/input_sdl.cpp:1314:8: error: ‘SDL_CONTROLLER_TYPE_PS4’ was not declared in this scope; did you mean ‘SDL_CONTROLLER_AXIS_MAX’?
1314 | case SDL_CONTROLLER_TYPE_PS4:
| ^~~~~~~~~~~~~~~~~~~~~~~
| SDL_CONTROLLER_AXIS_MAX


434 Compiling src/osd/sdl/window.cpp...
../../../../../src/osd/sdl/osdsdl.cpp: In member function ‘virtual void sdl_osd_interface::process_events()’:
../../../../../src/osd/sdl/osdsdl.cpp:619:54: error: ‘SDL_TouchFingerEvent’ {aka ‘struct SDL_TouchFingerEvent’} has no member named ‘windowID’
619 | auto const window = window_from_id(event.tfinger.windowID);
|


Looks like I'm going to have to upgrade to 22.04 to keep up for 265.

Joined: Mar 2001
Posts: 17,163
Likes: 205
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,163
Likes: 205
Yes, we didn't raise the compiler version for fun, the newer features are actually used :-)

Those particular errors are from a too-low SDL version though.

Joined: Feb 2014
Posts: 1,034
Likes: 119
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,034
Likes: 119
Ubuntu releases 24.04 tomorrow, so this is a good reason to give it a spin.

I suppose 4 years is a long time now. 8-) And ubuntu officially drops normal support after 5 years.

Joined: Feb 2004
Posts: 2,561
Likes: 263
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,561
Likes: 263
Announced weeks ago: https://www.mamedev.org/?p=536

If you really want to keep using 20.04, install the GCC 10 packages (gcc-10, g++-10, cpp-10, etc.) and install a more recent version of SDL somewhere in /opt.

Joined: Sep 2007
Posts: 148
A
Village Idiot
Senior Member
Offline
Village Idiot
Senior Member
A
Joined: Sep 2007
Posts: 148
MAME Ubuntu compiled
add-apt-repository -y ppa:c.falco/alpha

If you want compile
GCC 11 20.04.6
add-apt-repository ppa:ubuntu-toolchain-r/test

for compatibility with proprietary drivers the gcc version need be the same version as gcc version used when compiling the kernel.
installing new gcc will point /usr/bin/gcc to gcc 11 ... thus need install and after create an symbolic link /usr/bin/gcc pointing to /usr/bin/gcc-9 avoinding problems.
When compiling MAME use make HOSTCC=gcc-11 CC=gcc-11

About SDL try search in
add-apt-repository ppa:savoury1/multimedia

Good luck.


title Village Idiot is bug of bad understand,but was forgotten to fix it.
Joined: Feb 2014
Posts: 1,034
Likes: 119
G
Very Senior Member
OP Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,034
Likes: 119
I decided to make a system with 24.04 and so far it seems to work fine with 265. Ubuntu 24.04 has pipewire instead of pulseaudio and it seems better with not having audio buffer underflows like my old 20.04 system.


Moderated by  R. Belmont 

Link Copied to Clipboard
Who's Online Now
3 members (AJR, Cpt. Pugwash, 1 invisible), 64 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,293
Posts121,521
Members5,067
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com