|
Joined: Mar 2010
Posts: 155 Likes: 1
Senior Member
|
Senior Member
Joined: Mar 2010
Posts: 155 Likes: 1 |
Ah yes. I have 8GB and was using -j9, but mame does compile with -j6 so I'll use that from now on. Thanks!
|
|
|
|
Joined: Jul 2013
Posts: 10
Member
|
Member
Joined: Jul 2013
Posts: 10 |
Good morning all, I have some difficulties to compile the last version of mame (mame0227). Here are the errors i get : Compiling src/emu/emumem_mud.cpp... Compiling src/emu/emumem_mview.cpp... Compiling src/emu/emuopts.cpp... Compiling src/emu/emupal.cpp... Compiling src/emu/fileio.cpp... Compiling src/emu/hashfile.cpp... Compiling src/emu/http.cpp... In file included from ../../../../../src/emu/http.cpp:19:0: ../../../../../src/lib/util/server_http_impl.hpp: In instantiation of ‘webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&)::<lambda(const std::error_code&, size_t)> [with socket_type = asio::basic_stream_socket<asio::ip::tcp>; size_t = long unsigned int]’: ../../../../../src/lib/util/server_http_impl.hpp:268:30: required from ‘struct webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&) [with socket_type = asio::basic_stream_socket<asio::ip::tcp>]::<lambda(const struct std::error_code&, size_t)>’ ../../../../../src/lib/util/server_http_impl.hpp:267:26: required from ‘void webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&) [with socket_type = asio::basic_stream_socket<asio::ip::tcp>]’ ../../../../../src/lib/util/server_http_impl.hpp:470:37: required from here ../../../../../src/lib/util/server_http_impl.hpp:284:26: error: uninitialized variable ‘content_length’ in ‘constexpr’ function unsigned long long content_length; ^~~~~~~~~~~~~~ In file included from ../../../../../3rdparty/asio/include/asio/read.hpp:945:0, from ../../../../../3rdparty/asio/include/asio.hpp:109, from ../../../../../src/osd/asio.h:34, from ../../../../../src/lib/util/server_ws_impl.hpp:9, from ../../../../../src/emu/http.cpp:18: ../../../../../3rdparty/asio/include/asio/impl/read.hpp:700:1: error: ‘typename asio::async_result<typename std::decay<WriteHandler>::type, void(std::error_code, long unsigned int)>::return_type asio::async_read(AsyncReadStream&, asio::basic_streambuf<Allocator>&, CompletionCondition, ReadHandler&&) [with AsyncReadStream = asio::basic_stream_socket<asio::ip::tcp>; Allocator = std::allocator<char>; CompletionCondition = asio::detail::transfer_exactly_t; ReadHandler = webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&)::<lambda(const std::error_code&, size_t)> [with socket_type = asio::basic_stream_socket<asio::ip::tcp>; size_t = long unsigned int]::<lambda(const std::error_code&, size_t)>; typename asio::async_result<typename std::decay<WriteHandler>::type, void(std::error_code, long unsigned int)>::return_type = void]’, declared using local type ‘webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&)::<lambda(const std::error_code&, size_t)> [with socket_type = asio::basic_stream_socket<asio::ip::tcp>; size_t = long unsigned int]::<lambda(const std::error_code&, size_t)>’, is used but never defined [-fpermissive] async_read(AsyncReadStream& s, basic_streambuf<Allocator>& b, ^~~~~~~~~~ In file included from ../../../../../3rdparty/asio/include/asio/read_until.hpp:1822:0, from ../../../../../3rdparty/asio/include/asio.hpp:111, from ../../../../../src/osd/asio.h:34, from ../../../../../src/lib/util/server_ws_impl.hpp:9, from ../../../../../src/emu/http.cpp:18: ../../../../../3rdparty/asio/include/asio/impl/read_until.hpp:1456:1: error: ‘typename asio::async_result<typename std::decay<WriteHandler>::type, void(std::error_code, long unsigned int)>::return_type asio::async_read_until(AsyncReadStream&, asio::basic_streambuf<Allocator>&, std::experimental::fundamentals_v1::string_view, ReadHandler&&) [with AsyncReadStream = asio::basic_stream_socket<asio::ip::tcp>; Allocator = std::allocator<char>; ReadHandler = webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&) [with socket_type = asio::basic_stream_socket<asio::ip::tcp>]::<lambda(const std::error_code&, size_t)>; typename asio::async_result<typename std::decay<WriteHandler>::type, void(std::error_code, long unsigned int)>::return_type = void; std::experimental::fundamentals_v1::string_view = std::experimental::fundamentals_v1::basic_string_view<char>]’, declared using local type ‘webpp::ServerBase<socket_type>::read_request_and_content(const std::shared_ptr<_Tp>&) [with socket_type = asio::basic_stream_socket<asio::ip::tcp>]::<lambda(const std::error_code&, size_t)>’, is used but never defined [-fpermissive] async_read_until(AsyncReadStream& s, ^~~~~~~~~~~~~~~~ make[2]: *** [emu.make:1280: ../../../../linux_gcc/obj/x64/Release/src/emu/http.o] Error 1 make[1]: *** [Makefile:91: emu] Error 2 make: *** [makefile:1379: linux_x64] Error 2 just for information, the machine on which I am compiling has gcc 7.2.0. I did not have any problem to compile the previous releases of mame (by the way, I've been compiling each version of mame on this machine for several years with the same compiler without error). According to the documentation, mame is still supposed to support gcc 7.2.0 (I did not have this problem to install mame on another machine with gcc 9.3.0). If anyone has an idea to solve this problem (without upgrading gcc), thanks !
Last edited by LA GLOBULE; 01/05/21 12:51 PM.
|
|
|
|
Joined: Jun 2001
Posts: 520 Likes: 33
Senior Member
|
Senior Member
Joined: Jun 2001
Posts: 520 Likes: 33 |
Upgrade gcc.
I know, it's not the answer you want, but 7.2 was released August 14, 2017, and we're now requiring C++17 and using it more and more intensively. We're not entirely sure where the cutoff should be, but you've just proven it's after 7.2. We're not going to spend time supporting borderline compilers (or OSes, I'm looking at you OSX < 10.14).
Last edited by Olivier Galibert; 01/05/21 12:45 PM.
|
|
|
|
Joined: Mar 2001
Posts: 17,215 Likes: 234
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,215 Likes: 234 |
AFAIK the files that are failing didn't change from 0.226, and Vas said GCC 7 is minspec, so this doesn't add up.
|
|
|
|
Joined: Jul 2013
Posts: 10
Member
|
Member
Joined: Jul 2013
Posts: 10 |
I understand.
I am using an old version of gentoo linux. My distribution is not at all up to date. And this is wanted : I use old versions of xorg / mesa. The newers versions caused tearing issues on my 15kz crt TV (but I admit that I have not retested recent versions for a while to see if the problem still exists).
I will find a solution (maybe install a newer version of gcc in a new slot, or upgrade my distribution, and find another solution for this tearing problem).
thank you !
Last edited by LA GLOBULE; 01/05/21 01:18 PM.
|
|
|
|
Joined: Jul 2013
Posts: 10
Member
|
Member
Joined: Jul 2013
Posts: 10 |
Belmont: I also noticed that there was no diff between mame0226 and mame0227 on this file (src/emu/http.cpp). That's why I found it weird.
But I am not comfortable with programming C ++ to assert something. Maybe the problem comes from files that would be imported ? I don't know, and I don't prefer to say bullshit.
|
|
|
|
Joined: Jun 2001
Posts: 520 Likes: 33
Senior Member
|
Senior Member
Joined: Jun 2001
Posts: 520 Likes: 33 |
AFAIK the files that are failing didn't change from 0.226, and Vas said GCC 7 is minspec, so this doesn't add up. 7.2 is not at all the latest of the 7.x, it’s probably a compiler bug that got fixed. I very much doubt Vas meant 7.0 :-) OG
|
|
|
|
Joined: Mar 2001
Posts: 17,215 Likes: 234
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,215 Likes: 234 |
When we find out which 7.x works, we should update the documentation :-)
|
|
|
|
Joined: Mar 2010
Posts: 155 Likes: 1
Senior Member
|
Senior Member
Joined: Mar 2010
Posts: 155 Likes: 1 |
Encountered (out-of-memory related?) issue compiling mame 0.228, again using gcc 10.2.0:
{standard input}: Assembler messages:
{standard input}:369098: Warning: end of file not at end of a line; newline inserted
{standard input}:369548: Warning: missing operand; zero assumed
{standard input}:369053: Error: invalid operands (*UND* and .gcc_except_table sections) for `-'
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [emu.make:1196: ../../../../linux_gcc/obj/x64/Release/src/emu/emumem_aspace.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Based on previous discussions this seems to be the same out-of-memory error as before. However, this system has 16GB with not much else running at the same time, and I'm using -j6 rather than -j9 as I used to before I first encountered this issue with 0.227. I can try with -j5 I guess, but is compilation really using up that much memory now, and if so, why the sudden and dramatic increase in requirements?
Last edited by Shoegazer; 01/26/21 06:44 PM.
|
|
|
|
Joined: Jun 2001
Posts: 76 Likes: 8
Member
|
Member
Joined: Jun 2001
Posts: 76 Likes: 8 |
FWIW it builds fine with -j9 here on WIN10 64 bit with 16GB RAM.
|
|
|
2 members (Kale, 1 invisible),
233
guests, and
1
robot. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,320
Posts121,923
Members5,074
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|