Package: mame Version: 0.175-1 Tags: patch User: debian-...@lists.debian.org Usertags: kfreebsd Forwarded: https://github.com/mamedev/mame/pull/1093
Hi, mame currently FTBFS on kfreebsd-* with: | ../../../../../3rdparty/bgfx/3rdparty/ocornut-imgui/imgui_draw.cpp:439:100: error: 'alloca' was not declared in this scope https://buildd.debian.org/status/fetch.php?pkg=mame&arch=kfreebsd-amd64&ver=0.175-1&stamp=1468325637 There are many other small issues later in the build. Please find patches in the attached kfreebsd.patch or upstream pull request at Please avoid building a bundled libuv if possible, as it has portability bugs that are fixed in the Debian-packaged libuv. (see attached use_system_lib_uv.patch) And please consider showing the compile and link command lines in the build output. debian/rules does already set VERBOSE=1, but it seems that should rather be verbose=1 (attached verbose_build_log.patch) Thanks! -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: kfreebsd-amd64 (x86_64) Kernel: kFreeBSD 10.1-0-amd64 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init)
diff --git a/3rdparty/bx/include/bx/thread.h b/3rdparty/bx/include/bx/thread.h index add66ab..9e105db 100644 --- a/3rdparty/bx/include/bx/thread.h +++ b/3rdparty/bx/include/bx/thread.h @@ -8,7 +8,7 @@ #if BX_PLATFORM_POSIX # include <pthread.h> -# if BX_PLATFORM_BSD +# if defined(BX_PLATFORM_BSD) && !defined(__GLIBC__) # include <pthread_np.h> # endif # if defined(__GLIBC__) && !( (__GLIBC__ > 2) || ( (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 12) ) ) @@ -157,12 +157,10 @@ namespace bx { #if BX_PLATFORM_OSX || BX_PLATFORM_IOS pthread_setname_np(_name); -#elif BX_PLATFORM_LINUX -# if defined(__GLIBC__) && (__GLIBC__ > 2) || ( (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 12) ) +#elif defined(__GLIBC__) && (__GLIBC__ > 2) || ( (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 12) ) pthread_setname_np(m_handle, _name); -# else +#elif BX_PLATFORM_LINUX prctl(PR_SET_NAME,_name, 0, 0, 0); -# endif // defined(__GLIBC__) ... #elif BX_PLATFORM_BSD #ifdef __NetBSD__ pthread_setname_np(m_handle, "%s", (void *)_name); diff --git a/3rdparty/bx/include/compat/freebsd/alloca.h b/3rdparty/bx/include/compat/freebsd/alloca.h index c8b49f2..12a69ea 100644 --- a/3rdparty/bx/include/compat/freebsd/alloca.h +++ b/3rdparty/bx/include/compat/freebsd/alloca.h @@ -1 +1,5 @@ +#ifdef __GLIBC__ +#include_next <alloca.h> +#else #include <stdlib.h> +#endif diff --git a/3rdparty/bx/include/compat/freebsd/signal.h b/3rdparty/bx/include/compat/freebsd/signal.h index fd7d90f..3040b56 100644 --- a/3rdparty/bx/include/compat/freebsd/signal.h +++ b/3rdparty/bx/include/compat/freebsd/signal.h @@ -1 +1,5 @@ +#ifdef __GLIBC__ +#include_next <signal.h> +#else #include <sys/signal.h> +#endif diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua index 4094e48..ce45034 100644 --- a/scripts/src/osd/sdl.lua +++ b/scripts/src/osd/sdl.lua @@ -340,7 +340,7 @@ project ("qtdbg_" .. _OPTIONS["osd"]) MAME_DIR .. "src/osd/modules/render", MAME_DIR .. "3rdparty", } - configuration { "linux-*" } + configuration { "linux-* or freebsd" } buildoptions { "-fPIC", } diff --git a/src/osd/modules/file/posixptty.cpp b/src/osd/modules/file/posixptty.cpp index 164c2fc..3eab9e4 100644 --- a/src/osd/modules/file/posixptty.cpp +++ b/src/osd/modules/file/posixptty.cpp @@ -19,7 +19,7 @@ #include <unistd.h> #include <stdlib.h> -#if defined(__FreeBSD__) || defined(__DragonFly__) +#if defined(__FreeBSD_kernel__) || defined(__DragonFly__) #include <termios.h> #include <libutil.h> #elif defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__ANDROID__)
diff -Nru a/mame-0.175/debian/control b/mame-0.175/debian/control --- a/mame-0.175/debian/control 2016-07-05 10:07:37.000000000 +0100 +++ b/mame-0.175/debian/control 2016-07-13 13:23:26.128012799 +0100 @@ -15,6 +15,7 @@ libsdl2-ttf-dev, libsdl2-dev, libsqlite3-dev, + libuv1-dev, libxinerama-dev, portaudio19-dev, python-dev, diff -Nru a/mame-0.175/debian/rules b/mame-0.175/debian/rules --- a/mame-0.175/debian/rules 2016-07-05 17:12:42.000000000 +0100 +++ b/mame-0.175/debian/rules 2016-07-13 13:11:55.683060773 +0100 @@ -45,7 +45,8 @@ USE_SYSTEM_LIB_LUA=lua5.3:/usr/include/lua5.3 \ USE_SYSTEM_LIB_SQLITE3=1 \ USE_SYSTEM_LIB_PORTMIDI=1 \ - USE_SYSTEM_LIB_PORTAUDIO=1 + USE_SYSTEM_LIB_PORTAUDIO=1 \ + USE_SYSTEM_LIB_UV=1 # Override make variables for specific archs # Linux architectures
diff -Nru a/mame-0.175/debian/rules b/mame-0.175/debian/rules --- a/mame-0.175/debian/rules 2016-07-05 17:12:42.000000000 +0100 +++ b/mame-0.175/debian/rules 2016-07-13 13:11:55.683060773 +0100 @@ -153,7 +154,7 @@ # Enable full building log when verbose output required ifdef DH_VERBOSE -DEB_OPTS += VERBOSE=1 +DEB_OPTS += verbose=1 endif DEB_MAME_OPTS = \