libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.82k stars 1.78k forks source link

Can't build from master with WIMP UI support (Ubuntu 18.10 x64) #8028

Closed ofry closed 5 years ago

ofry commented 5 years ago

First and foremost consider this:

Description

Can't build from master with WIMP UI support (Ubuntu 18.10 x64)

Expected behavior

Retroarch should build successfully.

Actual behavior

ofryak@ofryak-virtual-machine:~/CLionProjects/RetroArch$ make clean && ./configure && make DEBUG=1
rm -rf obj-unix
rm -f retroarch
rm -f *.d
Checking operating system ... Linux (Ubuntu 18.10 18.10)
Checking for suitable working C compiler ... /usr/bin/gcc works
Checking for suitable working C++ compiler ... /usr/bin/g++ works
Checking for moc ... /usr/bin/moc
Checking for pkg-config ... /usr/bin/pkg-config
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-variable in /usr/bin/gcc ... yes
Checking function sd_get_machine_names in -lsystemd ... no
Checking presence of package bcm_host ... no
Checking function bcm_host_init in -lbcm_host ... no
Checking presence of package egl ... 18.2.8
Checking function ass_library_init in -lass ... no
Checking function pthread_create in -lpthread ... yes
Checking function pthread_key_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking existence of -lminiupnpc ... no
Checking function fcntl in -lc ... yes
Checking function getopt_long in -lc ... yes
Checking presence of package alsa ... 1.1.6
Checking presence of predefined macro AUDIO_SETINFO in sys/audioio.h ... no
Checking presence of header file sys/soundcard.h ... yes
Checking presence of header file soundcard.h ... no
Checking existence of -lossaudio ... no
Checking function alcOpenDevice in -lopenal ... yes
Checking presence of package rsound >= 1.1 ... no
Checking presence of package libroar ... no
Checking presence of package jack >= 0.120.1 ... 1.9.12
Checking presence of package libpulse ... 12.2
Checking presence of package sdl >= 1.2.10 ... no
Checking presence of package sdl2 >= 2.0.0 ... 2.0.8
Checking existence of -lSDL ... no
Checking presence of package Qt5Core >= 5.2 ... 5.11.1
Checking presence of package Qt5Gui >= 5.2 ... 5.11.1
Checking presence of package Qt5Widgets >= 5.2 ... 5.11.1
Checking presence of package Qt5Concurrent >= 5.2 ... 5.11.1
Checking presence of package Qt5Network >= 5.2 ... 5.11.1
Checking presence of package openssl >= 1.0.0 ... 1.0.2n
Checking presence of package flac ... no
Checking existence of -lFLAC ... no
Checking presence of header file mbedtls/entropy.h ... no
Checking existence of -lmbedx509 ... no
Checking existence of -lmbedcrypto ... no
Checking presence of package libusb-1.0 >= 1.0.13 ... 1.0.22
Checking presence of header file GL/gl.h ... yes
Checking existence of -lGL ... yes
Checking function cgCreateContext in -lCg -lCgGL ... yes
Checking presence of package zlib ... 1.2.11
Checking presence of package libavcodec >= 54 ... 58.18.100
Checking presence of package libavformat >= 54 ... 58.12.100
Checking presence of package libavdevice ... 58.3.100
Checking presence of package libswresample ... 3.1.100
Checking presence of package libavresample ... no
Checking presence of package libavutil >= 51 ... 56.14.100
Checking presence of package libswscale >= 2.1 ... 5.1.100
Checking existence of -lavresample ... no
Checking presence of header file libavutil/channel_layout.h ... yes
Checking function dlopen in -ldl ... yes
Checking presence of package gbm >= 9.0 ... 18.2.8
Checking presence of package libdrm ... 2.4.95
Checking presence of package libxml-2.0 ... 2.9.4
Checking presence of package vg ... no
Checking existence of -lOpenVG ... no
Checking presence of package libv4l2 ... 1.14.2
Checking presence of package freetype2 ... 21.0.15
Checking presence of package x11 ... 1.6.7
Checking presence of package xcb ... 1.13.1
Checking presence of package wayland-egl >= 1.15 ... 18.1.0
Checking presence of package wayland-cursor >= 1.15 ... 1.16.0
Checking presence of package wayland-protocols >= 1.15 ... 1.16
Checking presence of package xkbcommon >= 0.3.2 ... 0.8.2
Checking presence of package xext ... 1.3.3
Checking presence of package xxf86vm ... 1.1.4
Checking presence of package wayland-scanner >= 1.15 ... 1.16.0
Checking existence of -lXrandr ... yes
Checking presence of package xinerama ... 1.1.4
Checking presence of package xv ... 1.0.11
Checking presence of package libudev ... 239
Checking presence of header file linux/parport.h ... yes
Checking presence of header file linux/ppdev.h ... yes
Checking function strcasestr in -lc ... yes
Checking function mmap in -lc ... yes
Checking function vkCreateInstance in -lvulkan ... yes
Creating make config: config.mk
Creating config header: config.h
CC input/drivers/linuxraw_input.c
CC input/common/linux_common.c
CC input/drivers_joypad/linuxraw_joypad.c
CC frontend/drivers/platform_unix.c
CC version_git.c
CC frontend/frontend.c
CC frontend/frontend_driver.c
CC frontend/drivers/platform_null.c
CC ui/ui_companion_driver.c
CC ui/drivers/ui_null.c
CC ui/drivers/null/ui_null_window.c
CC ui/drivers/null/ui_null_browser_window.c
CC ui/drivers/null/ui_null_msg_window.c
CC ui/drivers/null/ui_null_application.c
CC core_impl.c
CC retroarch.c
CC dirs.c
CC paths.c
CC command.c
CC msg_hash.c
CC intl/msg_hash_us.c
CC libretro-common/queues/task_queue.c
CC tasks/task_content.c
CC tasks/task_save.c
CC tasks/task_file_transfer.c
CC tasks/task_image.c
CC tasks/task_audio_mixer.c
CC libretro-common/encodings/encoding_utf.c
CC libretro-common/encodings/encoding_crc32.c
CC libretro-common/compat/fopen_utf8.c
CC libretro-common/lists/file_list.c
CC libretro-common/lists/dir_list.c
CC libretro-common/file/retro_dirent.c
CC libretro-common/streams/stdin_stream.c
CC libretro-common/streams/file_stream.c
CC libretro-common/streams/file_stream_transforms.c
CC libretro-common/streams/interface_stream.c
CC libretro-common/streams/memory_stream.c
CC libretro-common/vfs/vfs_implementation.c
CC libretro-common/lists/string_list.c
CC libretro-common/string/stdstring.c
CC libretro-common/memmap/memalign.c
CC setting_list.c
CC list_special.c
CC libretro-common/file/nbio/nbio_stdio.c
CC libretro-common/file/nbio/nbio_linux.c
CC libretro-common/file/nbio/nbio_unixmmap.c
CC libretro-common/file/nbio/nbio_windowsmmap.c
CC libretro-common/file/nbio/nbio_orbis.c
CC libretro-common/file/nbio/nbio_intf.c
CC libretro-common/file/file_path.c
CC file_path_special.c
CC file_path_str.c
CC libretro-common/hash/rhash.c
CC audio/audio_driver.c
CC libretro-common/audio/audio_mixer.c
CC input/common/input_common.c
CC input/input_driver.c
CC input/input_mapper.c
CC led/led_driver.c
CC led/drivers/led_null.c
CC gfx/video_coord_array.c
CC gfx/video_display_server.c
CC gfx/video_driver.c
CC gfx/video_crt_switch.c
CC camera/camera_driver.c
CC wifi/wifi_driver.c
CC location/location_driver.c
CC driver.c
CC configuration.c
CC libretro-common/dynamic/dylib.c
CC dynamic.c
CC cores/dynamic_dummy.c
CC libretro-common/queues/message_queue.c
CC managers/core_manager.c
CC managers/state_manager.c
CC gfx/drivers_font_renderer/bitmapfont.c
CC tasks/task_autodetect.c
CC input/input_autodetect_builtin.c
CC input/input_keymaps.c
CC input/input_remapping.c
input/input_remapping.c: In function ‘input_remapping_load_file’:
input/input_remapping.c:113:23: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size between 64 and 127 [-Wformat-truncation=]
                   "%s_%s",
                       ^~
input/input_remapping.c:111:13: note: ‘snprintf’ output between 2 and 192 bytes into a destination of size 128
             snprintf(stk_ident[k],
             ^~~~~~~~~~~~~~~~~~~~~~
                   sizeof(stk_ident[k]),
                   ~~~~~~~~~~~~~~~~~~~~~
                   "%s_%s",
                   ~~~~~~~~
                   s3,
                   ~~~
                   key_strings[j]);
                   ~~~~~~~~~~~~~~~
CC libretro-common/queues/fifo_queue.c
CC managers/core_option_manager.c
CC libretro-common/compat/compat_fnmatch.c
CC libretro-common/compat/compat_posix_string.c
CC managers/cheat_manager.c
CC core_info.c
CC libretro-common/file/config_file.c
CC libretro-common/file/config_file_userdata.c
CC tasks/task_screenshot.c
CC tasks/task_powerstate.c
CC libretro-common/gfx/scaler/scaler.c
CC gfx/drivers_shader/shader_null.c
CC gfx/video_shader_parse.c
gfx/video_shader_parse.c: In function ‘video_shader_write_conf_cgp’:
gfx/video_shader_parse.c:1073:46: warning: ‘_linear’ directive output may be truncated writing 7 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
                snprintf(key, sizeof(key), "%s_linear", shader->lut[i].id);
                                              ^~~~~~~
gfx/video_shader_parse.c:1073:16: note: ‘snprintf’ output between 8 and 71 bytes into a destination of size 64
                snprintf(key, sizeof(key), "%s_linear", shader->lut[i].id);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfx/video_shader_parse.c:1079:22: warning: ‘_wrap_mode’ directive output may be truncated writing 10 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
                   "%s_wrap_mode", shader->lut[i].id);
                      ^~~~~~~~~~
gfx/video_shader_parse.c:1078:13: note: ‘snprintf’ output between 11 and 74 bytes into a destination of size 64
             snprintf(key, sizeof(key),
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
                   "%s_wrap_mode", shader->lut[i].id);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfx/video_shader_parse.c:1084:22: warning: ‘_mipmap’ directive output may be truncated writing 7 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
                   "%s_mipmap", shader->lut[i].id);
                      ^~~~~~~
gfx/video_shader_parse.c:1083:13: note: ‘snprintf’ output between 8 and 71 bytes into a destination of size 64
             snprintf(key, sizeof(key),
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
                   "%s_mipmap", shader->lut[i].id);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC libretro-common/gfx/scaler/pixconv.c
CC libretro-common/gfx/scaler/scaler_int.c
CC libretro-common/gfx/scaler/scaler_filter.c
CC gfx/font_driver.c
CC gfx/video_filter.c
CC libretro-common/audio/resampler/audio_resampler.c
CC libretro-common/audio/dsp_filter.c
CC libretro-common/audio/resampler/drivers/sinc_resampler.c
CC libretro-common/audio/resampler/drivers/nearest_resampler.c
CC libretro-common/audio/resampler/drivers/null_resampler.c
CC libretro-common/utils/md5.c
CC location/drivers/nulllocation.c
CC camera/drivers/nullcamera.c
CC wifi/drivers/nullwifi.c
CC gfx/drivers/nullgfx.c
CC gfx/display_servers/dispserv_null.c
CC audio/drivers/nullaudio.c
CC input/drivers/nullinput.c
CC input/drivers_hid/null_hid.c
CC input/drivers_joypad/null_joypad.c
CC playlist.c
CC movie.c
CC record/record_driver.c
CC record/drivers/record_null.c
CC libretro-common/features/features_cpu.c
CC performance_counters.c
CC verbosity.c
CC midi/midi_driver.c
CC midi/drivers/null_midi.c
CC runahead/copy_load_info.c
CC runahead/dirty_input.c
CC runahead/mem_util.c
CC runahead/mylist.c
CC runahead/run_ahead.c
CC runahead/secondary_core.c
CC audio/drivers_resampler/cc_resampler.c
CC intl/msg_hash_de.c
CC intl/msg_hash_eo.c
CC intl/msg_hash_es.c
CC intl/msg_hash_fr.c
CC intl/msg_hash_it.c
CC intl/msg_hash_ja.c
CC intl/msg_hash_ko.c
CC intl/msg_hash_nl.c
CC intl/msg_hash_pl.c
CC intl/msg_hash_pt_br.c
CC intl/msg_hash_pt_pt.c
CC intl/msg_hash_ru.c
CC intl/msg_hash_vn.c
CC intl/msg_hash_chs.c
CC intl/msg_hash_cht.c
CC intl/msg_hash_ar.c
CC intl/msg_hash_el.c
CC libretro-common/compat/compat_strl.c
CC libretro-common/formats/image_texture.c
CC cores/libretro-imageviewer/image_core.c
CXX ui/drivers/ui_qt.cpp
CXX ui/drivers/qt/ui_qt_application.cpp
CXX ui/drivers/qt/ui_qt_window.cpp
CXX ui/drivers/qt/ui_qt_browser_window.cpp
CXX ui/drivers/qt/ui_qt_load_core_window.cpp
CXX ui/drivers/qt/ui_qt_msg_window.cpp
CXX ui/drivers/qt/gridview.cpp
CXX ui/drivers/qt/shaderparamsdialog.cpp
CXX ui/drivers/qt/coreoptionsdialog.cpp
CXX ui/drivers/qt/filedropwidget.cpp
CXX ui/drivers/qt/coreinfodialog.cpp
CXX ui/drivers/qt/playlistentrydialog.cpp
CXX ui/drivers/qt/viewoptionsdialog.cpp
CXX ui/drivers/qt/qt_playlist.cpp
CXX ui/drivers/qt/updateretroarch.cpp
CXX ui/drivers/qt/thumbnaildownload.cpp
CXX ui/drivers/qt/thumbnailpackdownload.cpp
CXX ui/drivers/qt/playlistthumbnaildownload.cpp
CC libretro-db/bintree.c
CC libretro-db/libretrodb.c
CC libretro-db/query.c
CC libretro-db/rmsgpack.c
CC libretro-db/rmsgpack_dom.c
CC database_info.c
CC tasks/task_database.c
CC tasks/task_database_cue.c
CC deps/mbedtls/aes.c
CC deps/mbedtls/aesni.c
CC deps/mbedtls/arc4.c
CC deps/mbedtls/asn1parse.c
CC deps/mbedtls/asn1write.c
CC deps/mbedtls/base64.c
CC deps/mbedtls/bignum.c
CC deps/mbedtls/blowfish.c
CC deps/mbedtls/camellia.c
CC deps/mbedtls/ccm.c
CC deps/mbedtls/cipher.c
CC deps/mbedtls/cipher_wrap.c
CC deps/mbedtls/cmac.c
CC deps/mbedtls/ctr_drbg.c
CC deps/mbedtls/des.c
CC deps/mbedtls/dhm.c
CC deps/mbedtls/ecdh.c
CC deps/mbedtls/ecdsa.c
CC deps/mbedtls/ecjpake.c
CC deps/mbedtls/ecp.c
CC deps/mbedtls/ecp_curves.c
CC deps/mbedtls/entropy.c
CC deps/mbedtls/entropy_poll.c
CC deps/mbedtls/error.c
CC deps/mbedtls/gcm.c
CC deps/mbedtls/havege.c
CC deps/mbedtls/hmac_drbg.c
CC deps/mbedtls/md.c
CC deps/mbedtls/md2.c
CC deps/mbedtls/md4.c
CC deps/mbedtls/md5.c
CC deps/mbedtls/md_wrap.c
CC deps/mbedtls/memory_buffer_alloc.c
CC deps/mbedtls/oid.c
CC deps/mbedtls/padlock.c
CC deps/mbedtls/pem.c
CC deps/mbedtls/pk.c
CC deps/mbedtls/pk_wrap.c
CC deps/mbedtls/pkcs12.c
CC deps/mbedtls/pkcs5.c
CC deps/mbedtls/pkparse.c
CC deps/mbedtls/pkwrite.c
CC deps/mbedtls/platform.c
CC deps/mbedtls/ripemd160.c
CC deps/mbedtls/rsa.c
CC deps/mbedtls/sha1.c
CC deps/mbedtls/sha256.c
CC deps/mbedtls/sha512.c
CC deps/mbedtls/threading.c
CC deps/mbedtls/timing.c
CC deps/mbedtls/version.c
CC deps/mbedtls/version_features.c
CC deps/mbedtls/xtea.c
CC deps/mbedtls/certs.c
CC deps/mbedtls/pkcs11.c
CC deps/mbedtls/x509.c
CC deps/mbedtls/x509_create.c
CC deps/mbedtls/x509_crl.c
CC deps/mbedtls/x509_crt.c
CC deps/mbedtls/x509_csr.c
CC deps/mbedtls/x509write_crt.c
CC deps/mbedtls/x509write_csr.c
CC deps/mbedtls/debug.c
CC deps/mbedtls/net_sockets.c
CC deps/mbedtls/ssl_cache.c
CC deps/mbedtls/ssl_ciphersuites.c
CC deps/mbedtls/ssl_cli.c
CC deps/mbedtls/ssl_cookie.c
CC deps/mbedtls/ssl_srv.c
CC deps/mbedtls/ssl_ticket.c
CC deps/mbedtls/ssl_tls.c
CC audio/drivers/oss.c
CC audio/drivers/alsa.c
CC midi/drivers/alsa_midi.c
CC audio/drivers/alsathread.c
CC audio/drivers/tinyalsa.c
CC audio/drivers/openal.c
CC audio/drivers/jack.c
CC audio/drivers/pulse.c
CC libretro-common/audio/conversion/s16_to_float.c
CC libretro-common/audio/conversion/float_to_s16.c
CC libretro-common/audio/audio_mix.c
CC libretro-common/formats/wav/rwav.c
CC menu/drivers/rgui.c
CC menu/drivers/materialui.c
CC menu/drivers/xmb.c
CC menu/drivers/ozone/ozone.c
CC menu/drivers/ozone/ozone_entries.c
CC menu/drivers/ozone/ozone_display.c
CC menu/drivers/ozone/ozone_texture.c
CC menu/drivers/ozone/ozone_theme.c
CC menu/drivers/ozone/ozone_sidebar.c
CC menu/menu_shader.c
CC menu/menu_driver.c
CC menu/menu_content.c
CC menu/menu_input.c
CC menu/menu_entries.c
CC menu/menu_setting.c
CC menu/menu_networking.c
CC menu/widgets/menu_filebrowser.c
CC menu/widgets/menu_dialog.c
CC menu/widgets/menu_input_dialog.c
CC menu/widgets/menu_input_bind_dialog.c
CC menu/widgets/menu_entry.c
CC menu/widgets/menu_osk.c
CC menu/menu_cbs.c
CC menu/cbs/menu_cbs_ok.c
CC menu/cbs/menu_cbs_cancel.c
CC menu/cbs/menu_cbs_select.c
CC menu/cbs/menu_cbs_start.c
CC menu/cbs/menu_cbs_info.c
CC menu/cbs/menu_cbs_refresh.c
CC menu/cbs/menu_cbs_left.c
CC menu/cbs/menu_cbs_right.c
CC menu/cbs/menu_cbs_deferred_push.c
CC menu/cbs/menu_cbs_scan.c
CC menu/cbs/menu_cbs_get_value.c
CC menu/cbs/menu_cbs_label.c
CC menu/cbs/menu_cbs_sublabel.c
CC menu/cbs/menu_cbs_title.c
CC menu/cbs/menu_cbs_up.c
CC menu/cbs/menu_cbs_down.c
CC menu/cbs/menu_cbs_contentlist_switch.c
CC menu/menu_displaylist.c
CC menu/menu_animation.c
CC menu/drivers/menu_generic.c
CC menu/drivers/null.c
CC menu/drivers_display/menu_display_null.c
CC tasks/task_overlay.c
CC input/input_overlay.c
CC led/drivers/led_overlay.c
CC gfx/drivers_font_renderer/stb.c
CC gfx/drivers_font_renderer/stb_unicode.c
CC gfx/drivers_font_renderer/freetype.c
CC libretro-common/rthreads/rthreads.c
CC gfx/video_thread_wrapper.c
CC audio/audio_thread_wrapper.c
CC gfx/drivers_context/wayland_ctx.c
CC input/drivers/wayland_input.c
CC gfx/common/wayland/xdg-shell.c
CC gfx/common/wayland/xdg-shell-unstable-v6.c
CC gfx/common/wayland/idle-inhibit-unstable-v1.c
CC gfx/common/wayland/xdg-decoration-unstable-v1.c
CC input/common/input_x11_common.c
CC input/drivers/x11_input.c
CC gfx/common/x11_common.c
CC gfx/common/xinerama_common.c
CC gfx/display_servers/dispserv_x11.c
CC gfx/drivers_context/x_ctx.c
CC input/drivers_keyboard/keyboard_event_xkb.c
CC input/drivers/udev_input.c
CC input/drivers_joypad/udev_joypad.c
CC input/drivers_hid/libusb_hid.c
CC input/drivers_joypad/hid_joypad.c
CC input/connect/joypad_connection.c
CC input/connect/connect_ps2adapter.c
CC input/connect/connect_psxadapter.c
CC input/connect/connect_ps3.c
CC input/connect/connect_ps4.c
CC input/connect/connect_wii.c
CC input/connect/connect_nesusb.c
CC input/connect/connect_snesusb.c
CC input/connect/connect_wiiupro.c
CC input/connect/connect_wiiugca.c
CC input/drivers_joypad/parport_joypad.c
CC gfx/drivers_context/gfx_null_ctx.c
CC gfx/video_state_tracker.c
CC gfx/drivers_context/drm_ctx.c
CC gfx/drivers/gl.c
CC gfx/drivers_renderchain/gl2_renderchain.c
CC libretro-common/gfx/gl_capabilities.c
CC gfx/common/gl_common.c
CC gfx/drivers_font/gl_raster_font.c
CC libretro-common/glsym/rglgen.c
CC menu/drivers_display/menu_display_gl.c
CC gfx/drivers_context/xegl_ctx.c
CC cores/libretro-ffmpeg/ffmpeg_fft.c
CC libretro-common/glsym/glsym_gl.c
CC gfx/drivers_shader/shader_glsl.c
CC gfx/common/egl_common.c
CC gfx/drivers/sdl2_gfx.c
CC input/drivers/sdl_input.c
CC input/drivers_joypad/sdl_joypad.c
CC audio/drivers/sdl_audio.c
CC gfx/drivers_context/sdl_gl_ctx.c
CC gfx/drivers/vulkan.c
CC gfx/common/vulkan_common.c
CC libretro-common/vulkan/vulkan_symbol_wrapper.c
CC gfx/drivers_font/vulkan_raster_font.c
CXX gfx/drivers_shader/shader_vulkan.cpp
CC gfx/drivers_context/khr_display_ctx.c
CC menu/drivers_display/menu_display_vulkan.c
CC gfx/common/drm_common.c
CC gfx/drivers/xvideo.c
CC gfx/drivers_shader/shader_gl_cg.c
CXX gfx/drivers_shader/slang_process.cpp
CXX gfx/drivers_shader/slang_preprocess.cpp
CXX gfx/drivers_shader/glslang_util.cpp
CXX gfx/drivers_shader/slang_reflection.cpp
CXX deps/glslang/glslang.cpp
CXX deps/glslang/glslang/SPIRV/SpvBuilder.cpp
In file included from deps/glslang/glslang/SPIRV/hex_float.h:39,
                 from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/bitutils.h: In instantiation of ‘Dest spvutils::BitwiseCast(Src) [with Dest = spvutils::Float16; Src = short unsigned int]’:
deps/glslang/glslang/SPIRV/hex_float.h:138:47:   required from ‘T spvutils::FloatProxy<T>::getAsFloat() const [with T = spvutils::Float16]’
deps/glslang/glslang/SPIRV/hex_float.h:821:52:   required from here
deps/glslang/glslang/SPIRV/bitutils.h:29:14: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class spvutils::Float16’; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   std::memcpy(&dest, &source, sizeof(dest));
   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/hex_float.h:43:7: note: ‘class spvutils::Float16’ declared here
 class Float16 {
       ^~~~~~~
In file included from deps/glslang/glslang/SPIRV/hex_float.h:39,
                 from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/bitutils.h: In instantiation of ‘Dest spvutils::BitwiseCast(Src) [with Dest = spvutils::FloatProxy<spvutils::Float16>; Src = short unsigned int]’:
deps/glslang/glslang/SPIRV/hex_float.h:431:28:   required from ‘void spvutils::HexFloat<T, Traits>::setFromSignUnbiasedExponentAndNormalizedSignificand(bool, spvutils::HexFloat<T, Traits>::int_type, spvutils::HexFloat<T, Traits>::uint_type, bool) [with T = spvutils::FloatProxy<spvutils::Float16>; Traits = spvutils::HexFloatTraits<spvutils::FloatProxy<spvutils::Float16> >; spvutils::HexFloat<T, Traits>::int_type = short int; spvutils::HexFloat<T, Traits>::uint_type = short unsigned int]’
deps/glslang/glslang/SPIRV/hex_float.h:633:5:   required from ‘void spvutils::HexFloat<T, Traits>::castTo(other_T&, spvutils::round_direction) [with other_T = spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>, spvutils::HexFloatTraits<spvutils::FloatProxy<spvutils::Float16> > >; T = spvutils::FloatProxy<float>; Traits = spvutils::HexFloatTraits<spvutils::FloatProxy<float> >]’
deps/glslang/glslang/SPIRV/hex_float.h:817:39:   required from here
deps/glslang/glslang/SPIRV/bitutils.h:29:14: warning: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘class spvutils::FloatProxy<spvutils::Float16>’ from an array of ‘short unsigned int’ [-Wclass-memaccess]
   std::memcpy(&dest, &source, sizeof(dest));
   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/hex_float.h:115:7: note: ‘class spvutils::FloatProxy<spvutils::Float16>’ declared here
 class FloatProxy {
       ^~~~~~~~~~
CXX deps/glslang/glslang/SPIRV/SPVRemapper.cpp
CXX deps/glslang/glslang/SPIRV/InReadableOrder.cpp
CXX deps/glslang/glslang/SPIRV/doc.cpp
CXX deps/glslang/glslang/SPIRV/Logger.cpp
CXX deps/glslang/glslang/SPIRV/GlslangToSpv.cpp
CXX deps/glslang/glslang/SPIRV/disassemble.cpp
CXX deps/glslang/glslang/glslang/GenericCodeGen/Link.cpp
CXX deps/glslang/glslang/glslang/GenericCodeGen/CodeGen.cpp
CXX deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Intermediate.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Versions.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/RemoveTree.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/iomapper.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/propagateNoContraction.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/limits.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/intermOut.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Initialize.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/SymbolTable.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/parseConst.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/glslang_tab.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/ParseHelper.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/linkValidate.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/IntermTraverse.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/InfoSink.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/ShaderLang.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/reflection.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Constant.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Scan.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/ParseContextBase.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/attribute.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/PoolAlloc.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp
CXX deps/glslang/glslang/glslang/OSDependent/Unix/ossource.cpp
CXX deps/SPIRV-Cross/spirv_cross.cpp
CXX deps/SPIRV-Cross/spirv_cfg.cpp
CXX deps/SPIRV-Cross/spirv_glsl.cpp
CXX deps/SPIRV-Cross/spirv_hlsl.cpp
CXX deps/SPIRV-Cross/spirv_msl.cpp
CC libretro-common/file/archive_file.c
CC libretro-common/streams/trans_stream.c
CC libretro-common/streams/trans_stream_pipe.c
CC libretro-common/file/archive_file_7z.c
CC deps/7zip/7zIn.c
CC deps/7zip/Bra86.c
CC deps/7zip/7zFile.c
CC deps/7zip/7zStream.c
CC deps/7zip/LzFind.c
CC deps/7zip/LzmaDec.c
CC deps/7zip/LzmaEnc.c
CC deps/7zip/7zCrcOpt.c
CC deps/7zip/Bra.c
CC deps/7zip/7zDec.c
CC deps/7zip/Bcj2.c
CC deps/7zip/7zCrc.c
CC deps/7zip/Lzma2Dec.c
CC deps/7zip/7zBuf.c
CC deps/ibxm/ibxm.c
CC deps/libFLAC/bitmath.c
CC deps/libFLAC/bitreader.c
CC deps/libFLAC/cpu.c
CC deps/libFLAC/crc.c
CC deps/libFLAC/fixed.c
CC deps/libFLAC/float.c
CC deps/libFLAC/format.c
CC deps/libFLAC/lpc.c
CC deps/libFLAC/lpc_intrin_avx2.c
CC deps/libFLAC/lpc_intrin_sse2.c
CC deps/libFLAC/lpc_intrin_sse41.c
CC deps/libFLAC/lpc_intrin_sse.c
CC deps/libFLAC/md5.c
CC deps/libFLAC/memory.c
CC deps/libFLAC/stream_decoder.c
CC libretro-common/file/archive_file_zlib.c
CC libretro-common/streams/trans_stream_zlib.c
CC libretro-common/formats/libchdr/libchdr_bitstream.c
CC libretro-common/formats/libchdr/libchdr_cdrom.c
CC libretro-common/formats/libchdr/libchdr_chd.c
CC libretro-common/formats/libchdr/libchdr_huffman.c
CC libretro-common/streams/chd_stream.c
CC libretro-common/formats/libchdr/libchdr_flac.c
CC libretro-common/formats/libchdr/libchdr_flac_codec.c
CC libretro-common/formats/libchdr/libchdr_lzma.c
CC libretro-common/formats/libchdr/libchdr_zlib.c
CC libretro-common/formats/tga/rtga.c
CC libretro-common/formats/png/rpng.c
CC libretro-common/formats/png/rpng_encode.c
CC libretro-common/formats/jpeg/rjpeg.c
CC libretro-common/formats/bmp/rbmp.c
CC libretro-common/formats/bmp/rbmp_encode.c
CC libretro-common/formats/json/jsonsax.c
CC libretro-common/formats/json/jsonsax_full.c
CC libretro-common/formats/image_transfer.c
CC cores/libretro-gong/gong.c
CC camera/drivers/video4linux2.c
CC cores/libretro-video-processor/video_processor_v4l2.c
cores/libretro-video-processor/video_processor_v4l2.c:999:13: warning: ‘videoinput_set_control_v4l2’ defined but not used [-Wunused-function]
 static void videoinput_set_control_v4l2( uint32_t id, double val )
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
CC libretro-common/net/net_compat.c
CC libretro-common/net/net_http.c
CC libretro-common/net/net_http_parse.c
CC libretro-common/net/net_socket.c
CC libretro-common/net/net_natt.c
CC network/net_http_special.c
CC tasks/task_http.c
CC tasks/task_netplay_lan_scan.c
CC tasks/task_netplay_nat_traversal.c
CC tasks/task_wifi.c
CC tasks/task_netplay_find_content.c
CC libretro-common/net/net_socket_ssl.c
CC libretro-common/net/net_ifinfo.c
CC network/netplay/netplay_delta.c
CC network/netplay/netplay_frontend.c
CC network/netplay/netplay_handshake.c
CC network/netplay/netplay_init.c
CC network/netplay/netplay_io.c
CC network/netplay/netplay_keyboard.c
CC network/netplay/netplay_sync.c
CC network/netplay/netplay_discovery.c
CC network/netplay/netplay_buf.c
CC network/netplay/netplay_room_parse.c
CC cheevos/cheevos.c
CC cheevos/badges.c
CC cheevos/var.c
CC cheevos/cond.c
CXX deps/discord-rpc/src/discord_rpc.cpp
In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/discord_rpc.cpp:6:
deps/discord-rpc/src/serialization.h:6: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(push)

deps/discord-rpc/src/serialization.h:8: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4061) // enum is not explicitly handled by a case label

deps/discord-rpc/src/serialization.h:9: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4365) // signed/unsigned mismatch

deps/discord-rpc/src/serialization.h:10: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4464) // relative include path contains

deps/discord-rpc/src/serialization.h:11: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4668) // is not defined as a preprocessor macro

deps/discord-rpc/src/serialization.h:12: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 6313) // Incorrect operator

In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/discord_rpc.cpp:6:
deps/discord-rpc/src/serialization.h:20: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(pop)

CXX deps/discord-rpc/src/rpc_connection.cpp
In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/src/serialization.h:6: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(push)

deps/discord-rpc/src/serialization.h:8: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4061) // enum is not explicitly handled by a case label

deps/discord-rpc/src/serialization.h:9: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4365) // signed/unsigned mismatch

deps/discord-rpc/src/serialization.h:10: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4464) // relative include path contains

deps/discord-rpc/src/serialization.h:11: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4668) // is not defined as a preprocessor macro

deps/discord-rpc/src/serialization.h:12: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 6313) // Incorrect operator

In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/src/serialization.h:20: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(pop)

In file included from deps/discord-rpc/src/serialization.h:15,
                 from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h: In instantiation of ‘void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >; rapidjson::SizeType = unsigned int]’:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2363:9:   required from ‘bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::SizeType = unsigned int]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1736:18:   required from ‘rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1832:58:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:487:46:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2159:22:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2175:62:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2200:58:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2208:47:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/src/rpc_connection.cpp:115:50:   required from here
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:1952:24: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘rapidjson::GenericValue<rapidjson::UTF8<> >::Member’ {aka ‘struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >’} with no trivial copy-assignment; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from deps/discord-rpc/src/serialization.h:15,
                 from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:71:8: note: ‘rapidjson::GenericValue<rapidjson::UTF8<> >::Member’ {aka ‘struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >’} declared here
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from deps/discord-rpc/src/serialization.h:15,
                 from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h: In instantiation of ‘void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; rapidjson::SizeType = unsigned int]’:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2371:9:   required from ‘bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::SizeType = unsigned int]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1766:18:   required from ‘rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1832:58:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:487:46:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2159:22:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2175:62:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2200:58:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2208:47:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/src/rpc_connection.cpp:115:50:   required from here
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:1939:24: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class rapidjson::GenericValue<rapidjson::UTF8<> >’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:540:7: note: ‘class rapidjson::GenericValue<rapidjson::UTF8<> >’ declared here
 class GenericValue {
       ^~~~~~~~~~~~
CXX deps/discord-rpc/src/serialization.cpp
In file included from deps/discord-rpc/src/serialization.cpp:1:
deps/discord-rpc/src/serialization.h:6: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(push)

deps/discord-rpc/src/serialization.h:8: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4061) // enum is not explicitly handled by a case label

deps/discord-rpc/src/serialization.h:9: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4365) // signed/unsigned mismatch

deps/discord-rpc/src/serialization.h:10: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4464) // relative include path contains

deps/discord-rpc/src/serialization.h:11: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4668) // is not defined as a preprocessor macro

deps/discord-rpc/src/serialization.h:12: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 6313) // Incorrect operator

In file included from deps/discord-rpc/src/serialization.cpp:1:
deps/discord-rpc/src/serialization.h:20: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(pop)

CC discord/discord.c
discord/discord.c: In function ‘discord_update’:
discord/discord.c:366:60: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size between 116 and 126 [-Wformat-truncation=]
             snprintf(join_secret, sizeof(join_secret), "%d|%s", room->id, room->nickname);
                                                            ^~
discord/discord.c:366:13: note: ‘snprintf’ output between 3 and 4108 bytes into a destination of size 128
             snprintf(join_secret, sizeof(join_secret), "%d|%s", room->id, room->nickname);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CXX deps/discord-rpc/src/discord_register_linux.cpp
CXX deps/discord-rpc/src/connection_unix.cpp
CC input/input_remote.c
CC cores/libretro-net-retropad/net_retropad_core.c
CC deps/miniupnpc/igd_desc_parse.c
CC deps/miniupnpc/upnpreplyparse.c
CC deps/miniupnpc/upnpcommands.c
CC deps/miniupnpc/upnperrors.c
CC deps/miniupnpc/connecthostport.c
CC deps/miniupnpc/portlistingparse.c
CC deps/miniupnpc/receivedata.c
CC deps/miniupnpc/upnpdev.c
CC deps/miniupnpc/minissdpc.c
CC deps/miniupnpc/miniwget.c
CC deps/miniupnpc/miniupnpc.c
CC deps/miniupnpc/minixml.c
CC deps/miniupnpc/minisoap.c
CC record/drivers/record_ffmpeg.c
CC cores/libretro-ffmpeg/ffmpeg_core.c
CC tasks/task_decompress.c
CC led/drivers/led_rpi.c
MOC ui/drivers/ui_qt.h
moc: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/moc': No such file or directory
make: *** [Makefile:174: obj-unix/debug/ui/drivers/moc_ui_qt.cpp] Ошибка 1

Steps to reproduce the bug

  1. [First step]
  2. [Second step]
  3. [and so on...]

Bisect Results

[Try to bisect and tell us when this started happening]

Version/Commit

You can find this information under Information/System Information

Environment information

orbea commented 5 years ago

Install whatever package contains /usr/lib/x86_64-linux-gnu/qt4/bin/moc.

moc: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/moc': No such file or directory

It looks you have moc, but its missing dependencies to make it actually work.

ofry commented 5 years ago

Hm? Why I need moc from qt4?

Retroarch should not be depend from qt4, isn't it?

orbea commented 5 years ago

Sorry, I didn't read the error closely enough. You want the qt5 moc which I guess will be called moc-qt5?

I guess you only have the qt4 moc which is also missing dependencies.

ghost commented 5 years ago

@orbea Maybe we should check in configure that moc -v output starts with moc 5 ?

orbea commented 5 years ago

@bparker06 I think more robust solution would be to have qb build a test moc file like it does with cc and c++, but I'm not sure how to use moc to do that.

For example.

https://github.com/libretro/RetroArch/blob/b70683fa08a07bb17581b0a4f497ed33a7649b94/qb/qb.comp.sh#L21

Also its slightly more complicated than just checking for moc 5.

$ moc-qt5 -v
moc-qt5 5.11.2

I suppose it could maybe check for $MOC 5.

orbea commented 5 years ago

@bparker06

Actually make V=1 shows how.

/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_ui_qt_load_core_window.cpp ui/drivers/qt/ui_qt_load_core_window.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_gridview.cpp ui/drivers/qt/gridview.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_shaderparamsdialog.cpp ui/drivers/qt/shaderparamsdialog.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_coreoptionsdialog.cpp ui/drivers/qt/coreoptionsdialog.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_filedropwidget.cpp ui/drivers/qt/filedropwidget.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_coreinfodialog.cpp ui/drivers/qt/coreinfodialog.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_playlistentrydialog.cpp ui/drivers/qt/playlistentrydialog.h
/usr/bin/moc-qt5 -o obj-unix/release/ui/drivers/qt/moc_viewoptionsdialog.cpp ui/drivers/qt/viewoptionsdialog.h

So all I need is a bare bones and minimal moc header file which will build with any qt5 moc, but not with qt4 moc.

ofry commented 5 years ago

I found source of problem. There is incompatibility with qtchooser package (if default conf is qt4 and libqt4-dev-bin package is not installed.

https://packages.ubuntu.com/cosmic/qtchooser

ofry commented 5 years ago
ofryak@ofryak-virtual-machine:~/CLionProjects/RetroArch$ moc --version
moc: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/moc': No such file or directory
orbea commented 5 years ago

Your qt4 moc missing a dependency will not help here, it will fail later in the build when it really wants qt5.

You should just install the qt5 version of moc and the qb configure script should find that first.

ofry commented 5 years ago

It isn't so easy, because

ofryak@ofryak-virtual-machine:~/CLionProjects/RetroArch$ sudo apt-file search /usr/bin/moc
libqt4-dev-bin: /usr/bin/moc-qt4
moc: /usr/bin/mocp
mocassin: /usr/bin/mocassin
mocha: /usr/bin/mocha
mock: /usr/bin/mock
mock: /usr/bin/mockchain
mockgen: /usr/bin/mockgen
qtchooser: /usr/bin/moc

So qb configure script found just wrapper...

ghost commented 5 years ago

@orbea I don't know how or if it's possible to write a header that only errors under qt4 moc.

orbea commented 5 years ago

@ofry I don't know ubuntu at all, but its probably in a qt5 related package. Maybe this one?

https://packages.ubuntu.com/trusty/amd64/qtbase5-dev-tools/filelist

@bparker06 I think it will need need to actually try to build the resulting header.cpp file where it should fail if its not created with a qt5 moc.

Just checking the output of $MOC -v will be easier, but I'm worried its not portable or that Qt upstream may just change the output for arbitrary reasons.

orbea commented 5 years ago

@ofry This article might help.

https://askubuntu.com/questions/820054/selecting-qt5-using-qtchooser

@bparker06 Maybe we should set QT_SELECT=qt5?

ghost commented 5 years ago

Alright, this should work then:

$ cat test.h
#include <QTimeZone>
class Test : public QObject
{
public:
   Q_OBJECT
   QTimeZone tz;
};
$ moc -o moc_test.cpp test.h
$ gcc -Wall -Werror `pkg-config --cflags --libs Qt5Core` -fPIC -c moc_test.cpp
$
$ moc-qt4 -o moc_test.cpp test.h
$ gcc -Wall -Werror `pkg-config --cflags --libs Qt5Core` -fPIC -c moc_test.cpp
moc_test.cpp:13:2: error: #error "This file was generated using the moc from 4.8.7. It"
 #error "This file was generated using the moc from 4.8.7. It"
  ^~~~~
ofry commented 5 years ago

@orbea

qtchooser: /usr/bin/moc
Checking for moc ... /usr/bin/moc
ofryak@ofryak-virtual-machine:~/CLionProjects/RetroArch$ moc --version
moc: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/moc': No such file or directory
orbea commented 5 years ago

@bparker06 Thanks! I will look into implementing it soon.

@ofry How about this command?

QT_SELECT=qt5 moc --version
ofry commented 5 years ago

@orbea

ofryak@ofryak-virtual-machine:~$ QT_SELECT=qt5 moc --version
moc 5.11.1
orbea commented 5 years ago

Try to add this to your environment somewhere.

export QT_SELECT=qt5

And then try building RetroArch again.

ofry commented 5 years ago

Yes, it builds:

ofryak@ofryak-virtual-machine:~/CLionProjects/RetroArch$ export QT_SELECT=qt5 && make clean && ./configure && make DEBUG=1
rm -rf obj-unix
rm -f retroarch
rm -f *.d
Checking operating system ... Linux (Ubuntu 18.10 18.10)
Checking for suitable working C compiler ... /usr/bin/gcc works
Checking for suitable working C++ compiler ... /usr/bin/g++ works
Checking for moc ... /usr/bin/moc
Checking for pkg-config ... /usr/bin/pkg-config
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-variable in /usr/bin/gcc ... yes
Checking function sd_get_machine_names in -lsystemd ... no
Checking presence of package bcm_host ... no
Checking function bcm_host_init in -lbcm_host ... no
Checking presence of package egl ... 18.2.8
Checking function ass_library_init in -lass ... no
Checking function pthread_create in -lpthread ... yes
Checking function pthread_key_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking existence of -lminiupnpc ... no
Checking function fcntl in -lc ... yes
Checking function getopt_long in -lc ... yes
Checking presence of package alsa ... 1.1.6
Checking presence of predefined macro AUDIO_SETINFO in sys/audioio.h ... no
Checking presence of header file sys/soundcard.h ... yes
Checking presence of header file soundcard.h ... no
Checking existence of -lossaudio ... no
Checking function alcOpenDevice in -lopenal ... yes
Checking presence of package rsound >= 1.1 ... no
Checking presence of package libroar ... no
Checking presence of package jack >= 0.120.1 ... 1.9.12
Checking presence of package libpulse ... 12.2
Checking presence of package sdl >= 1.2.10 ... no
Checking presence of package sdl2 >= 2.0.0 ... 2.0.8
Checking existence of -lSDL ... no
Checking presence of package Qt5Core >= 5.2 ... 5.11.1
Checking presence of package Qt5Gui >= 5.2 ... 5.11.1
Checking presence of package Qt5Widgets >= 5.2 ... 5.11.1
Checking presence of package Qt5Concurrent >= 5.2 ... 5.11.1
Checking presence of package Qt5Network >= 5.2 ... 5.11.1
Checking presence of package openssl >= 1.0.0 ... 1.0.2n
Checking presence of package flac ... no
Checking existence of -lFLAC ... no
Checking presence of header file mbedtls/entropy.h ... no
Checking existence of -lmbedx509 ... no
Checking existence of -lmbedcrypto ... no
Checking presence of package libusb-1.0 >= 1.0.13 ... 1.0.22
Checking presence of header file GL/gl.h ... yes
Checking existence of -lGL ... yes
Checking function cgCreateContext in -lCg -lCgGL ... yes
Checking presence of package zlib ... 1.2.11
Checking presence of package libavcodec >= 54 ... 58.18.100
Checking presence of package libavformat >= 54 ... 58.12.100
Checking presence of package libavdevice ... 58.3.100
Checking presence of package libswresample ... 3.1.100
Checking presence of package libavresample ... no
Checking presence of package libavutil >= 51 ... 56.14.100
Checking presence of package libswscale >= 2.1 ... 5.1.100
Checking existence of -lavresample ... no
Checking presence of header file libavutil/channel_layout.h ... yes
Checking function dlopen in -ldl ... yes
Checking presence of package gbm >= 9.0 ... 18.2.8
Checking presence of package libdrm ... 2.4.95
Checking presence of package libxml-2.0 ... 2.9.4
Checking presence of package vg ... no
Checking existence of -lOpenVG ... no
Checking presence of package libv4l2 ... 1.14.2
Checking presence of package freetype2 ... 21.0.15
Checking presence of package x11 ... 1.6.7
Checking presence of package xcb ... 1.13.1
Checking presence of package wayland-egl >= 1.15 ... 18.1.0
Checking presence of package wayland-cursor >= 1.15 ... 1.16.0
Checking presence of package wayland-protocols >= 1.15 ... 1.16
Checking presence of package xkbcommon >= 0.3.2 ... 0.8.2
Checking presence of package xext ... 1.3.3
Checking presence of package xxf86vm ... 1.1.4
Checking presence of package wayland-scanner >= 1.15 ... 1.16.0
Checking existence of -lXrandr ... yes
Checking presence of package xinerama ... 1.1.4
Checking presence of package xv ... 1.0.11
Checking presence of package libudev ... 239
Checking presence of header file linux/parport.h ... yes
Checking presence of header file linux/ppdev.h ... yes
Checking function strcasestr in -lc ... yes
Checking function mmap in -lc ... yes
Checking function vkCreateInstance in -lvulkan ... yes
Creating make config: config.mk
Creating config header: config.h
CC input/drivers/linuxraw_input.c
CC input/common/linux_common.c
CC input/drivers_joypad/linuxraw_joypad.c
CC frontend/drivers/platform_unix.c
CC version_git.c
CC frontend/frontend.c
CC frontend/frontend_driver.c
CC frontend/drivers/platform_null.c
CC ui/ui_companion_driver.c
CC ui/drivers/ui_null.c
CC ui/drivers/null/ui_null_window.c
CC ui/drivers/null/ui_null_browser_window.c
CC ui/drivers/null/ui_null_msg_window.c
CC ui/drivers/null/ui_null_application.c
CC core_impl.c
CC retroarch.c
CC dirs.c
CC paths.c
CC command.c
CC msg_hash.c
CC intl/msg_hash_us.c
CC libretro-common/queues/task_queue.c
CC tasks/task_content.c
CC tasks/task_save.c
CC tasks/task_file_transfer.c
CC tasks/task_image.c
CC tasks/task_audio_mixer.c
CC libretro-common/encodings/encoding_utf.c
CC libretro-common/encodings/encoding_crc32.c
CC libretro-common/compat/fopen_utf8.c
CC libretro-common/lists/file_list.c
CC libretro-common/lists/dir_list.c
CC libretro-common/file/retro_dirent.c
CC libretro-common/streams/stdin_stream.c
CC libretro-common/streams/file_stream.c
CC libretro-common/streams/file_stream_transforms.c
CC libretro-common/streams/interface_stream.c
CC libretro-common/streams/memory_stream.c
CC libretro-common/vfs/vfs_implementation.c
CC libretro-common/lists/string_list.c
CC libretro-common/string/stdstring.c
CC libretro-common/memmap/memalign.c
CC setting_list.c
CC list_special.c
CC libretro-common/file/nbio/nbio_stdio.c
CC libretro-common/file/nbio/nbio_linux.c
CC libretro-common/file/nbio/nbio_unixmmap.c
CC libretro-common/file/nbio/nbio_windowsmmap.c
CC libretro-common/file/nbio/nbio_orbis.c
CC libretro-common/file/nbio/nbio_intf.c
CC libretro-common/file/file_path.c
CC file_path_special.c
CC file_path_str.c
CC libretro-common/hash/rhash.c
CC audio/audio_driver.c
CC libretro-common/audio/audio_mixer.c
CC input/common/input_common.c
CC input/input_driver.c
CC input/input_mapper.c
CC led/led_driver.c
CC led/drivers/led_null.c
CC gfx/video_coord_array.c
CC gfx/video_display_server.c
CC gfx/video_driver.c
CC gfx/video_crt_switch.c
CC camera/camera_driver.c
CC wifi/wifi_driver.c
CC location/location_driver.c
CC driver.c
CC configuration.c
CC libretro-common/dynamic/dylib.c
CC dynamic.c
CC cores/dynamic_dummy.c
CC libretro-common/queues/message_queue.c
CC managers/core_manager.c
CC managers/state_manager.c
CC gfx/drivers_font_renderer/bitmapfont.c
CC tasks/task_autodetect.c
CC input/input_autodetect_builtin.c
CC input/input_keymaps.c
CC input/input_remapping.c
input/input_remapping.c: In function ‘input_remapping_load_file’:
input/input_remapping.c:113:23: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size between 64 and 127 [-Wformat-truncation=]
                   "%s_%s",
                       ^~
input/input_remapping.c:111:13: note: ‘snprintf’ output between 2 and 192 bytes into a destination of size 128
             snprintf(stk_ident[k],
             ^~~~~~~~~~~~~~~~~~~~~~
                   sizeof(stk_ident[k]),
                   ~~~~~~~~~~~~~~~~~~~~~
                   "%s_%s",
                   ~~~~~~~~
                   s3,
                   ~~~
                   key_strings[j]);
                   ~~~~~~~~~~~~~~~
CC libretro-common/queues/fifo_queue.c
CC managers/core_option_manager.c
CC libretro-common/compat/compat_fnmatch.c
CC libretro-common/compat/compat_posix_string.c
CC managers/cheat_manager.c
CC core_info.c
CC libretro-common/file/config_file.c
CC libretro-common/file/config_file_userdata.c
CC tasks/task_screenshot.c
CC tasks/task_powerstate.c
CC libretro-common/gfx/scaler/scaler.c
CC gfx/drivers_shader/shader_null.c
CC gfx/video_shader_parse.c
gfx/video_shader_parse.c: In function ‘video_shader_write_conf_cgp’:
gfx/video_shader_parse.c:1073:46: warning: ‘_linear’ directive output may be truncated writing 7 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
                snprintf(key, sizeof(key), "%s_linear", shader->lut[i].id);
                                              ^~~~~~~
gfx/video_shader_parse.c:1073:16: note: ‘snprintf’ output between 8 and 71 bytes into a destination of size 64
                snprintf(key, sizeof(key), "%s_linear", shader->lut[i].id);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfx/video_shader_parse.c:1079:22: warning: ‘_wrap_mode’ directive output may be truncated writing 10 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
                   "%s_wrap_mode", shader->lut[i].id);
                      ^~~~~~~~~~
gfx/video_shader_parse.c:1078:13: note: ‘snprintf’ output between 11 and 74 bytes into a destination of size 64
             snprintf(key, sizeof(key),
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
                   "%s_wrap_mode", shader->lut[i].id);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfx/video_shader_parse.c:1084:22: warning: ‘_mipmap’ directive output may be truncated writing 7 bytes into a region of size between 1 and 64 [-Wformat-truncation=]
                   "%s_mipmap", shader->lut[i].id);
                      ^~~~~~~
gfx/video_shader_parse.c:1083:13: note: ‘snprintf’ output between 8 and 71 bytes into a destination of size 64
             snprintf(key, sizeof(key),
             ^~~~~~~~~~~~~~~~~~~~~~~~~~
                   "%s_mipmap", shader->lut[i].id);
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC libretro-common/gfx/scaler/pixconv.c
CC libretro-common/gfx/scaler/scaler_int.c
CC libretro-common/gfx/scaler/scaler_filter.c
CC gfx/font_driver.c
CC gfx/video_filter.c
CC libretro-common/audio/resampler/audio_resampler.c
CC libretro-common/audio/dsp_filter.c
CC libretro-common/audio/resampler/drivers/sinc_resampler.c
CC libretro-common/audio/resampler/drivers/nearest_resampler.c
CC libretro-common/audio/resampler/drivers/null_resampler.c
CC libretro-common/utils/md5.c
CC location/drivers/nulllocation.c
CC camera/drivers/nullcamera.c
CC wifi/drivers/nullwifi.c
CC gfx/drivers/nullgfx.c
CC gfx/display_servers/dispserv_null.c
CC audio/drivers/nullaudio.c
CC input/drivers/nullinput.c
CC input/drivers_hid/null_hid.c
CC input/drivers_joypad/null_joypad.c
CC playlist.c
CC movie.c
CC record/record_driver.c
CC record/drivers/record_null.c
CC libretro-common/features/features_cpu.c
CC performance_counters.c
CC verbosity.c
CC midi/midi_driver.c
CC midi/drivers/null_midi.c
CC runahead/copy_load_info.c
CC runahead/dirty_input.c
CC runahead/mem_util.c
CC runahead/mylist.c
CC runahead/run_ahead.c
CC runahead/secondary_core.c
CC audio/drivers_resampler/cc_resampler.c
CC intl/msg_hash_de.c
CC intl/msg_hash_eo.c
CC intl/msg_hash_es.c
CC intl/msg_hash_fr.c
CC intl/msg_hash_it.c
CC intl/msg_hash_ja.c
CC intl/msg_hash_ko.c
CC intl/msg_hash_nl.c
CC intl/msg_hash_pl.c
CC intl/msg_hash_pt_br.c
CC intl/msg_hash_pt_pt.c
CC intl/msg_hash_ru.c
CC intl/msg_hash_vn.c
CC intl/msg_hash_chs.c
CC intl/msg_hash_cht.c
CC intl/msg_hash_ar.c
CC intl/msg_hash_el.c
CC libretro-common/compat/compat_strl.c
CC libretro-common/formats/image_texture.c
CC cores/libretro-imageviewer/image_core.c
CXX ui/drivers/ui_qt.cpp
CXX ui/drivers/qt/ui_qt_application.cpp
CXX ui/drivers/qt/ui_qt_window.cpp
CXX ui/drivers/qt/ui_qt_browser_window.cpp
CXX ui/drivers/qt/ui_qt_load_core_window.cpp
CXX ui/drivers/qt/ui_qt_msg_window.cpp
CXX ui/drivers/qt/gridview.cpp
CXX ui/drivers/qt/shaderparamsdialog.cpp
CXX ui/drivers/qt/coreoptionsdialog.cpp
CXX ui/drivers/qt/filedropwidget.cpp
CXX ui/drivers/qt/coreinfodialog.cpp
CXX ui/drivers/qt/playlistentrydialog.cpp
CXX ui/drivers/qt/viewoptionsdialog.cpp
CXX ui/drivers/qt/qt_playlist.cpp
CXX ui/drivers/qt/updateretroarch.cpp
CXX ui/drivers/qt/thumbnaildownload.cpp
CXX ui/drivers/qt/thumbnailpackdownload.cpp
CXX ui/drivers/qt/playlistthumbnaildownload.cpp
CC libretro-db/bintree.c
CC libretro-db/libretrodb.c
CC libretro-db/query.c
CC libretro-db/rmsgpack.c
CC libretro-db/rmsgpack_dom.c
CC database_info.c
CC tasks/task_database.c
CC tasks/task_database_cue.c
CC deps/mbedtls/aes.c
CC deps/mbedtls/aesni.c
CC deps/mbedtls/arc4.c
CC deps/mbedtls/asn1parse.c
CC deps/mbedtls/asn1write.c
CC deps/mbedtls/base64.c
CC deps/mbedtls/bignum.c
CC deps/mbedtls/blowfish.c
CC deps/mbedtls/camellia.c
CC deps/mbedtls/ccm.c
CC deps/mbedtls/cipher.c
CC deps/mbedtls/cipher_wrap.c
CC deps/mbedtls/cmac.c
CC deps/mbedtls/ctr_drbg.c
CC deps/mbedtls/des.c
CC deps/mbedtls/dhm.c
CC deps/mbedtls/ecdh.c
CC deps/mbedtls/ecdsa.c
CC deps/mbedtls/ecjpake.c
CC deps/mbedtls/ecp.c
CC deps/mbedtls/ecp_curves.c
CC deps/mbedtls/entropy.c
CC deps/mbedtls/entropy_poll.c
CC deps/mbedtls/error.c
CC deps/mbedtls/gcm.c
CC deps/mbedtls/havege.c
CC deps/mbedtls/hmac_drbg.c
CC deps/mbedtls/md.c
CC deps/mbedtls/md2.c
CC deps/mbedtls/md4.c
CC deps/mbedtls/md5.c
CC deps/mbedtls/md_wrap.c
CC deps/mbedtls/memory_buffer_alloc.c
CC deps/mbedtls/oid.c
CC deps/mbedtls/padlock.c
CC deps/mbedtls/pem.c
CC deps/mbedtls/pk.c
CC deps/mbedtls/pk_wrap.c
CC deps/mbedtls/pkcs12.c
CC deps/mbedtls/pkcs5.c
CC deps/mbedtls/pkparse.c
CC deps/mbedtls/pkwrite.c
CC deps/mbedtls/platform.c
CC deps/mbedtls/ripemd160.c
CC deps/mbedtls/rsa.c
CC deps/mbedtls/sha1.c
CC deps/mbedtls/sha256.c
CC deps/mbedtls/sha512.c
CC deps/mbedtls/threading.c
CC deps/mbedtls/timing.c
CC deps/mbedtls/version.c
CC deps/mbedtls/version_features.c
CC deps/mbedtls/xtea.c
CC deps/mbedtls/certs.c
CC deps/mbedtls/pkcs11.c
CC deps/mbedtls/x509.c
CC deps/mbedtls/x509_create.c
CC deps/mbedtls/x509_crl.c
CC deps/mbedtls/x509_crt.c
CC deps/mbedtls/x509_csr.c
CC deps/mbedtls/x509write_crt.c
CC deps/mbedtls/x509write_csr.c
CC deps/mbedtls/debug.c
CC deps/mbedtls/net_sockets.c
CC deps/mbedtls/ssl_cache.c
CC deps/mbedtls/ssl_ciphersuites.c
CC deps/mbedtls/ssl_cli.c
CC deps/mbedtls/ssl_cookie.c
CC deps/mbedtls/ssl_srv.c
CC deps/mbedtls/ssl_ticket.c
CC deps/mbedtls/ssl_tls.c
CC audio/drivers/oss.c
CC audio/drivers/alsa.c
CC midi/drivers/alsa_midi.c
CC audio/drivers/alsathread.c
CC audio/drivers/tinyalsa.c
CC audio/drivers/openal.c
CC audio/drivers/jack.c
CC audio/drivers/pulse.c
CC libretro-common/audio/conversion/s16_to_float.c
CC libretro-common/audio/conversion/float_to_s16.c
CC libretro-common/audio/audio_mix.c
CC libretro-common/formats/wav/rwav.c
CC menu/drivers/rgui.c
CC menu/drivers/materialui.c
CC menu/drivers/xmb.c
CC menu/drivers/ozone/ozone.c
CC menu/drivers/ozone/ozone_entries.c
CC menu/drivers/ozone/ozone_display.c
CC menu/drivers/ozone/ozone_texture.c
CC menu/drivers/ozone/ozone_theme.c
CC menu/drivers/ozone/ozone_sidebar.c
CC menu/menu_shader.c
CC menu/menu_driver.c
CC menu/menu_content.c
CC menu/menu_input.c
CC menu/menu_entries.c
CC menu/menu_setting.c
CC menu/menu_networking.c
CC menu/widgets/menu_filebrowser.c
CC menu/widgets/menu_dialog.c
CC menu/widgets/menu_input_dialog.c
CC menu/widgets/menu_input_bind_dialog.c
CC menu/widgets/menu_entry.c
CC menu/widgets/menu_osk.c
CC menu/menu_cbs.c
CC menu/cbs/menu_cbs_ok.c
CC menu/cbs/menu_cbs_cancel.c
CC menu/cbs/menu_cbs_select.c
CC menu/cbs/menu_cbs_start.c
CC menu/cbs/menu_cbs_info.c
CC menu/cbs/menu_cbs_refresh.c
CC menu/cbs/menu_cbs_left.c
CC menu/cbs/menu_cbs_right.c
CC menu/cbs/menu_cbs_deferred_push.c
CC menu/cbs/menu_cbs_scan.c
CC menu/cbs/menu_cbs_get_value.c
CC menu/cbs/menu_cbs_label.c
CC menu/cbs/menu_cbs_sublabel.c
CC menu/cbs/menu_cbs_title.c
CC menu/cbs/menu_cbs_up.c
CC menu/cbs/menu_cbs_down.c
CC menu/cbs/menu_cbs_contentlist_switch.c
CC menu/menu_displaylist.c
CC menu/menu_animation.c
CC menu/drivers/menu_generic.c
CC menu/drivers/null.c
CC menu/drivers_display/menu_display_null.c
CC tasks/task_overlay.c
CC input/input_overlay.c
CC led/drivers/led_overlay.c
CC gfx/drivers_font_renderer/stb.c
CC gfx/drivers_font_renderer/stb_unicode.c
CC gfx/drivers_font_renderer/freetype.c
CC libretro-common/rthreads/rthreads.c
CC gfx/video_thread_wrapper.c
CC audio/audio_thread_wrapper.c
CC gfx/drivers_context/wayland_ctx.c
CC input/drivers/wayland_input.c
CC gfx/common/wayland/xdg-shell.c
CC gfx/common/wayland/xdg-shell-unstable-v6.c
CC gfx/common/wayland/idle-inhibit-unstable-v1.c
CC gfx/common/wayland/xdg-decoration-unstable-v1.c
CC input/common/input_x11_common.c
CC input/drivers/x11_input.c
CC gfx/common/x11_common.c
CC gfx/common/xinerama_common.c
CC gfx/display_servers/dispserv_x11.c
CC gfx/drivers_context/x_ctx.c
CC input/drivers_keyboard/keyboard_event_xkb.c
CC input/drivers/udev_input.c
CC input/drivers_joypad/udev_joypad.c
CC input/drivers_hid/libusb_hid.c
CC input/drivers_joypad/hid_joypad.c
CC input/connect/joypad_connection.c
CC input/connect/connect_ps2adapter.c
CC input/connect/connect_psxadapter.c
CC input/connect/connect_ps3.c
CC input/connect/connect_ps4.c
CC input/connect/connect_wii.c
CC input/connect/connect_nesusb.c
CC input/connect/connect_snesusb.c
CC input/connect/connect_wiiupro.c
CC input/connect/connect_wiiugca.c
CC input/drivers_joypad/parport_joypad.c
CC gfx/drivers_context/gfx_null_ctx.c
CC gfx/video_state_tracker.c
CC gfx/drivers_context/drm_ctx.c
CC gfx/drivers/gl.c
CC gfx/drivers_renderchain/gl2_renderchain.c
CC libretro-common/gfx/gl_capabilities.c
CC gfx/common/gl_common.c
CC gfx/drivers_font/gl_raster_font.c
CC libretro-common/glsym/rglgen.c
CC menu/drivers_display/menu_display_gl.c
CC gfx/drivers_context/xegl_ctx.c
CC cores/libretro-ffmpeg/ffmpeg_fft.c
CC libretro-common/glsym/glsym_gl.c
CC gfx/drivers_shader/shader_glsl.c
CC gfx/common/egl_common.c
CC gfx/drivers/sdl2_gfx.c
CC input/drivers/sdl_input.c
CC input/drivers_joypad/sdl_joypad.c
CC audio/drivers/sdl_audio.c
CC gfx/drivers_context/sdl_gl_ctx.c
CC gfx/drivers/vulkan.c
CC gfx/common/vulkan_common.c
CC libretro-common/vulkan/vulkan_symbol_wrapper.c
CC gfx/drivers_font/vulkan_raster_font.c
CXX gfx/drivers_shader/shader_vulkan.cpp
CC gfx/drivers_context/khr_display_ctx.c
CC menu/drivers_display/menu_display_vulkan.c
CC gfx/common/drm_common.c
CC gfx/drivers/xvideo.c
CC gfx/drivers_shader/shader_gl_cg.c
CXX gfx/drivers_shader/slang_process.cpp
CXX gfx/drivers_shader/slang_preprocess.cpp
CXX gfx/drivers_shader/glslang_util.cpp
CXX gfx/drivers_shader/slang_reflection.cpp
CXX deps/glslang/glslang.cpp
CXX deps/glslang/glslang/SPIRV/SpvBuilder.cpp
In file included from deps/glslang/glslang/SPIRV/hex_float.h:39,
                 from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/bitutils.h: In instantiation of ‘Dest spvutils::BitwiseCast(Src) [with Dest = spvutils::Float16; Src = short unsigned int]’:
deps/glslang/glslang/SPIRV/hex_float.h:138:47:   required from ‘T spvutils::FloatProxy<T>::getAsFloat() const [with T = spvutils::Float16]’
deps/glslang/glslang/SPIRV/hex_float.h:821:52:   required from here
deps/glslang/glslang/SPIRV/bitutils.h:29:14: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class spvutils::Float16’; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
   std::memcpy(&dest, &source, sizeof(dest));
   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/hex_float.h:43:7: note: ‘class spvutils::Float16’ declared here
 class Float16 {
       ^~~~~~~
In file included from deps/glslang/glslang/SPIRV/hex_float.h:39,
                 from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/bitutils.h: In instantiation of ‘Dest spvutils::BitwiseCast(Src) [with Dest = spvutils::FloatProxy<spvutils::Float16>; Src = short unsigned int]’:
deps/glslang/glslang/SPIRV/hex_float.h:431:28:   required from ‘void spvutils::HexFloat<T, Traits>::setFromSignUnbiasedExponentAndNormalizedSignificand(bool, spvutils::HexFloat<T, Traits>::int_type, spvutils::HexFloat<T, Traits>::uint_type, bool) [with T = spvutils::FloatProxy<spvutils::Float16>; Traits = spvutils::HexFloatTraits<spvutils::FloatProxy<spvutils::Float16> >; spvutils::HexFloat<T, Traits>::int_type = short int; spvutils::HexFloat<T, Traits>::uint_type = short unsigned int]’
deps/glslang/glslang/SPIRV/hex_float.h:633:5:   required from ‘void spvutils::HexFloat<T, Traits>::castTo(other_T&, spvutils::round_direction) [with other_T = spvutils::HexFloat<spvutils::FloatProxy<spvutils::Float16>, spvutils::HexFloatTraits<spvutils::FloatProxy<spvutils::Float16> > >; T = spvutils::FloatProxy<float>; Traits = spvutils::HexFloatTraits<spvutils::FloatProxy<float> >]’
deps/glslang/glslang/SPIRV/hex_float.h:817:39:   required from here
deps/glslang/glslang/SPIRV/bitutils.h:29:14: warning: ‘void* memcpy(void*, const void*, size_t)’ copying an object of non-trivial type ‘class spvutils::FloatProxy<spvutils::Float16>’ from an array of ‘short unsigned int’ [-Wclass-memaccess]
   std::memcpy(&dest, &source, sizeof(dest));
   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from deps/glslang/glslang/SPIRV/SpvBuilder.cpp:49:
deps/glslang/glslang/SPIRV/hex_float.h:115:7: note: ‘class spvutils::FloatProxy<spvutils::Float16>’ declared here
 class FloatProxy {
       ^~~~~~~~~~
CXX deps/glslang/glslang/SPIRV/SPVRemapper.cpp
CXX deps/glslang/glslang/SPIRV/InReadableOrder.cpp
CXX deps/glslang/glslang/SPIRV/doc.cpp
CXX deps/glslang/glslang/SPIRV/Logger.cpp
CXX deps/glslang/glslang/SPIRV/GlslangToSpv.cpp
CXX deps/glslang/glslang/SPIRV/disassemble.cpp
CXX deps/glslang/glslang/glslang/GenericCodeGen/Link.cpp
CXX deps/glslang/glslang/glslang/GenericCodeGen/CodeGen.cpp
CXX deps/glslang/glslang/OGLCompilersDLL/InitializeDll.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Intermediate.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Versions.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/RemoveTree.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/iomapper.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/propagateNoContraction.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/limits.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/intermOut.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Initialize.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/SymbolTable.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/parseConst.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/glslang_tab.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/ParseHelper.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/linkValidate.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/IntermTraverse.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/InfoSink.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/ShaderLang.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/reflection.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Constant.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/Scan.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/ParseContextBase.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/attribute.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/PoolAlloc.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp
CXX deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp
CXX deps/glslang/glslang/glslang/OSDependent/Unix/ossource.cpp
CXX deps/SPIRV-Cross/spirv_cross.cpp
CXX deps/SPIRV-Cross/spirv_cfg.cpp
CXX deps/SPIRV-Cross/spirv_glsl.cpp
CXX deps/SPIRV-Cross/spirv_hlsl.cpp
CXX deps/SPIRV-Cross/spirv_msl.cpp
CC libretro-common/file/archive_file.c
CC libretro-common/streams/trans_stream.c
CC libretro-common/streams/trans_stream_pipe.c
CC libretro-common/file/archive_file_7z.c
CC deps/7zip/7zIn.c
CC deps/7zip/Bra86.c
CC deps/7zip/7zFile.c
CC deps/7zip/7zStream.c
CC deps/7zip/LzFind.c
CC deps/7zip/LzmaDec.c
CC deps/7zip/LzmaEnc.c
CC deps/7zip/7zCrcOpt.c
CC deps/7zip/Bra.c
CC deps/7zip/7zDec.c
CC deps/7zip/Bcj2.c
CC deps/7zip/7zCrc.c
CC deps/7zip/Lzma2Dec.c
CC deps/7zip/7zBuf.c
CC deps/ibxm/ibxm.c
CC deps/libFLAC/bitmath.c
CC deps/libFLAC/bitreader.c
CC deps/libFLAC/cpu.c
CC deps/libFLAC/crc.c
CC deps/libFLAC/fixed.c
CC deps/libFLAC/float.c
CC deps/libFLAC/format.c
CC deps/libFLAC/lpc.c
CC deps/libFLAC/lpc_intrin_avx2.c
CC deps/libFLAC/lpc_intrin_sse2.c
CC deps/libFLAC/lpc_intrin_sse41.c
CC deps/libFLAC/lpc_intrin_sse.c
CC deps/libFLAC/md5.c
CC deps/libFLAC/memory.c
CC deps/libFLAC/stream_decoder.c
CC libretro-common/file/archive_file_zlib.c
CC libretro-common/streams/trans_stream_zlib.c
CC libretro-common/formats/libchdr/libchdr_bitstream.c
CC libretro-common/formats/libchdr/libchdr_cdrom.c
CC libretro-common/formats/libchdr/libchdr_chd.c
CC libretro-common/formats/libchdr/libchdr_huffman.c
CC libretro-common/streams/chd_stream.c
CC libretro-common/formats/libchdr/libchdr_flac.c
CC libretro-common/formats/libchdr/libchdr_flac_codec.c
CC libretro-common/formats/libchdr/libchdr_lzma.c
CC libretro-common/formats/libchdr/libchdr_zlib.c
CC libretro-common/formats/tga/rtga.c
CC libretro-common/formats/png/rpng.c
CC libretro-common/formats/png/rpng_encode.c
CC libretro-common/formats/jpeg/rjpeg.c
CC libretro-common/formats/bmp/rbmp.c
CC libretro-common/formats/bmp/rbmp_encode.c
CC libretro-common/formats/json/jsonsax.c
CC libretro-common/formats/json/jsonsax_full.c
CC libretro-common/formats/image_transfer.c
CC cores/libretro-gong/gong.c
CC camera/drivers/video4linux2.c
CC cores/libretro-video-processor/video_processor_v4l2.c
cores/libretro-video-processor/video_processor_v4l2.c:999:13: warning: ‘videoinput_set_control_v4l2’ defined but not used [-Wunused-function]
 static void videoinput_set_control_v4l2( uint32_t id, double val )
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
CC libretro-common/net/net_compat.c
CC libretro-common/net/net_http.c
CC libretro-common/net/net_http_parse.c
CC libretro-common/net/net_socket.c
CC libretro-common/net/net_natt.c
CC network/net_http_special.c
CC tasks/task_http.c
CC tasks/task_netplay_lan_scan.c
CC tasks/task_netplay_nat_traversal.c
CC tasks/task_wifi.c
CC tasks/task_netplay_find_content.c
CC libretro-common/net/net_socket_ssl.c
CC libretro-common/net/net_ifinfo.c
CC network/netplay/netplay_delta.c
CC network/netplay/netplay_frontend.c
CC network/netplay/netplay_handshake.c
CC network/netplay/netplay_init.c
CC network/netplay/netplay_io.c
CC network/netplay/netplay_keyboard.c
CC network/netplay/netplay_sync.c
CC network/netplay/netplay_discovery.c
CC network/netplay/netplay_buf.c
CC network/netplay/netplay_room_parse.c
CC cheevos/cheevos.c
CC cheevos/badges.c
CC cheevos/var.c
CC cheevos/cond.c
CXX deps/discord-rpc/src/discord_rpc.cpp
In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/discord_rpc.cpp:6:
deps/discord-rpc/src/serialization.h:6: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(push)

deps/discord-rpc/src/serialization.h:8: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4061) // enum is not explicitly handled by a case label

deps/discord-rpc/src/serialization.h:9: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4365) // signed/unsigned mismatch

deps/discord-rpc/src/serialization.h:10: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4464) // relative include path contains

deps/discord-rpc/src/serialization.h:11: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4668) // is not defined as a preprocessor macro

deps/discord-rpc/src/serialization.h:12: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 6313) // Incorrect operator

In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/discord_rpc.cpp:6:
deps/discord-rpc/src/serialization.h:20: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(pop)

CXX deps/discord-rpc/src/rpc_connection.cpp
In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/src/serialization.h:6: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(push)

deps/discord-rpc/src/serialization.h:8: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4061) // enum is not explicitly handled by a case label

deps/discord-rpc/src/serialization.h:9: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4365) // signed/unsigned mismatch

deps/discord-rpc/src/serialization.h:10: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4464) // relative include path contains

deps/discord-rpc/src/serialization.h:11: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4668) // is not defined as a preprocessor macro

deps/discord-rpc/src/serialization.h:12: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 6313) // Incorrect operator

In file included from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/src/serialization.h:20: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(pop)

In file included from deps/discord-rpc/src/serialization.h:15,
                 from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h: In instantiation of ‘void rapidjson::GenericValue<Encoding, Allocator>::SetObjectRaw(rapidjson::GenericValue<Encoding, Allocator>::Member*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; rapidjson::GenericValue<Encoding, Allocator>::Member = rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >; rapidjson::SizeType = unsigned int]’:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2363:9:   required from ‘bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndObject(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::SizeType = unsigned int]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1736:18:   required from ‘rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1832:58:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:487:46:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2159:22:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2175:62:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2200:58:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2208:47:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/src/rpc_connection.cpp:115:50:   required from here
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:1952:24: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘rapidjson::GenericValue<rapidjson::UTF8<> >::Member’ {aka ‘struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >’} with no trivial copy-assignment; use copy-assignment instead [-Wclass-memaccess]
             std::memcpy(m, members, count * sizeof(Member));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from deps/discord-rpc/src/serialization.h:15,
                 from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:71:8: note: ‘rapidjson::GenericValue<rapidjson::UTF8<> >::Member’ {aka ‘struct rapidjson::GenericMember<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >’} declared here
 struct GenericMember {
        ^~~~~~~~~~~~~
In file included from deps/discord-rpc/src/serialization.h:15,
                 from deps/discord-rpc/src/rpc_connection.h:4,
                 from deps/discord-rpc/src/rpc_connection.cpp:1:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h: In instantiation of ‘void rapidjson::GenericValue<Encoding, Allocator>::SetArrayRaw(rapidjson::GenericValue<Encoding, Allocator>*, rapidjson::SizeType, Allocator&) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; rapidjson::SizeType = unsigned int]’:
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2371:9:   required from ‘bool rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::EndArray(rapidjson::SizeType) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::SizeType = unsigned int]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1766:18:   required from ‘rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Transit(rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Token, rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParsingState, InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:1832:58:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::IterativeParse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/reader.h:487:46:   required from ‘rapidjson::ParseResult rapidjson::GenericReader<SourceEncoding, TargetEncoding, StackAllocator>::Parse(InputStream&, Handler&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Handler = rapidjson::GenericDocument<rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<>, FixedLinearAllocator<2048> >; SourceEncoding = rapidjson::UTF8<>; TargetEncoding = rapidjson::UTF8<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2159:22:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; SourceEncoding = rapidjson::UTF8<>; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2175:62:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseStream(InputStream&) [with unsigned int parseFlags = 1; InputStream = rapidjson::GenericInsituStringStream<rapidjson::UTF8<> >; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2200:58:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with unsigned int parseFlags = 0; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:2208:47:   required from ‘rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>& rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::ParseInsitu(rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch*) [with Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; StackAllocator = FixedLinearAllocator<2048>; rapidjson::GenericDocument<Encoding, Allocator, StackAllocator>::Ch = char]’
deps/discord-rpc/src/rpc_connection.cpp:115:50:   required from here
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:1939:24: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class rapidjson::GenericValue<rapidjson::UTF8<> >’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
             std::memcpy(e, values, count * sizeof(GenericValue));
             ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deps/discord-rpc/thirdparty/rapidjson-1.1.0/include/rapidjson/document.h:540:7: note: ‘class rapidjson::GenericValue<rapidjson::UTF8<> >’ declared here
 class GenericValue {
       ^~~~~~~~~~~~
CXX deps/discord-rpc/src/serialization.cpp
In file included from deps/discord-rpc/src/serialization.cpp:1:
deps/discord-rpc/src/serialization.h:6: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(push)

deps/discord-rpc/src/serialization.h:8: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4061) // enum is not explicitly handled by a case label

deps/discord-rpc/src/serialization.h:9: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4365) // signed/unsigned mismatch

deps/discord-rpc/src/serialization.h:10: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4464) // relative include path contains

deps/discord-rpc/src/serialization.h:11: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 4668) // is not defined as a preprocessor macro

deps/discord-rpc/src/serialization.h:12: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable : 6313) // Incorrect operator

In file included from deps/discord-rpc/src/serialization.cpp:1:
deps/discord-rpc/src/serialization.h:20: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(pop)

CC discord/discord.c
discord/discord.c: In function ‘discord_update’:
discord/discord.c:366:60: warning: ‘%s’ directive output may be truncated writing up to 4095 bytes into a region of size between 116 and 126 [-Wformat-truncation=]
             snprintf(join_secret, sizeof(join_secret), "%d|%s", room->id, room->nickname);
                                                            ^~
discord/discord.c:366:13: note: ‘snprintf’ output between 3 and 4108 bytes into a destination of size 128
             snprintf(join_secret, sizeof(join_secret), "%d|%s", room->id, room->nickname);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CXX deps/discord-rpc/src/discord_register_linux.cpp
CXX deps/discord-rpc/src/connection_unix.cpp
CC input/input_remote.c
CC cores/libretro-net-retropad/net_retropad_core.c
CC deps/miniupnpc/igd_desc_parse.c
CC deps/miniupnpc/upnpreplyparse.c
CC deps/miniupnpc/upnpcommands.c
CC deps/miniupnpc/upnperrors.c
CC deps/miniupnpc/connecthostport.c
CC deps/miniupnpc/portlistingparse.c
CC deps/miniupnpc/receivedata.c
CC deps/miniupnpc/upnpdev.c
CC deps/miniupnpc/minissdpc.c
CC deps/miniupnpc/miniwget.c
CC deps/miniupnpc/miniupnpc.c
CC deps/miniupnpc/minixml.c
CC deps/miniupnpc/minisoap.c
CC record/drivers/record_ffmpeg.c
CC cores/libretro-ffmpeg/ffmpeg_core.c
CC tasks/task_decompress.c
CC led/drivers/led_rpi.c
MOC ui/drivers/ui_qt.h
CXX obj-unix/debug/ui/drivers/moc_ui_qt.cpp
MOC ui/drivers/qt/ui_qt_load_core_window.h
CXX obj-unix/debug/ui/drivers/qt/moc_ui_qt_load_core_window.cpp
MOC ui/drivers/qt/gridview.h
CXX obj-unix/debug/ui/drivers/qt/moc_gridview.cpp
MOC ui/drivers/qt/shaderparamsdialog.h
CXX obj-unix/debug/ui/drivers/qt/moc_shaderparamsdialog.cpp
MOC ui/drivers/qt/coreoptionsdialog.h
CXX obj-unix/debug/ui/drivers/qt/moc_coreoptionsdialog.cpp
MOC ui/drivers/qt/filedropwidget.h
CXX obj-unix/debug/ui/drivers/qt/moc_filedropwidget.cpp
MOC ui/drivers/qt/coreinfodialog.h
CXX obj-unix/debug/ui/drivers/qt/moc_coreinfodialog.cpp
MOC ui/drivers/qt/playlistentrydialog.h
CXX obj-unix/debug/ui/drivers/qt/moc_playlistentrydialog.cpp
MOC ui/drivers/qt/viewoptionsdialog.h
CXX obj-unix/debug/ui/drivers/qt/moc_viewoptionsdialog.cpp
LD retroarch
RobLoach commented 5 years ago

Some of my development environments don't have Qt around, in which case I just disable it:

./configure --disable-qt

Best solution is to install the dependency, however.

orbea commented 5 years ago

So the problem is only that qtchooser is defaulting to qt4, I suspect it probably won't hurt to add that environment variable to configure and the Makefile even if it would only help some distros (I don't have qtchooser here). I'll look into that when the current PR is reviewed / merged.

https://github.com/libretro/RetroArch/pull/8029

ghost commented 5 years ago

It's also worth noting that Arch does not have qtchooser, and QT_SELECT does not work. It installs /usr/bin/moc as the actual Qt5 binary, and then symlinks moc-qt5 to that, and symlinks /usr/bin/moc-qt4 to /usr/lib/qt4/bin/moc.

orbea commented 5 years ago

Slackware is similar and it checks for moc-qt5 before moc to avoid this issue, I don't think QT_SELECT will make any difference for either of us.

ghost commented 5 years ago

Is this solved now @ofry ?

orbea commented 5 years ago

Travis has the same issue with QT_SELECT, see PR https://github.com/libretro/RetroArch/pull/8036.

@bparker06 Also I implemented the check without directly need pkg-config in PR https://github.com/libretro/RetroArch/pull/8033, I would appreciate if you offered your opinion if that is better or if its good as it is now. :)

ofry commented 5 years ago

@bparker06

Now - no. If I not explicitly input:

export QT_SELECT=qt5

before build command sequence

make clean && ./configure && make

I got:

Checking for moc ... /usr/bin/moc does not work
Warning: moc not found, Qt companion support will be disabled.

I should not manually set QT_SELECT variable user-wide, because it can give me failure of other packages...

orbea commented 5 years ago

@ofry The second commit in PR https://github.com/libretro/RetroArch/pull/8040 should fix this.