Closed ofry closed 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.
Hm? Why I need moc from qt4?
Retroarch should not be depend from qt4, isn't it?
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.
@orbea Maybe we should check in configure that moc -v
output starts with moc 5
?
@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.
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
.
@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.
I found source of problem. There is incompatibility with qtchooser package (if default conf is qt4 and libqt4-dev-bin package is not installed.
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
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.
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...
@orbea I don't know how or if it's possible to write a header that only errors under qt4 moc.
@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.
@ofry This article might help.
https://askubuntu.com/questions/820054/selecting-qt5-using-qtchooser
@bparker06 Maybe we should set QT_SELECT=qt5
?
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"
^~~~~
@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
@bparker06 Thanks! I will look into implementing it soon.
@ofry How about this command?
QT_SELECT=qt5 moc --version
@orbea
ofryak@ofryak-virtual-machine:~$ QT_SELECT=qt5 moc --version
moc 5.11.1
Try to add this to your environment somewhere.
export QT_SELECT=qt5
And then try building RetroArch again.
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
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.
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.
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
.
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.
Is this solved now @ofry ?
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. :)
@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...
@ofry The second commit in PR https://github.com/libretro/RetroArch/pull/8040 should fix this.
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
Steps to reproduce the bug
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