Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation failed on Raspberry Pi Zero #8159

Closed
Toberto-El opened this issue Feb 3, 2019 · 13 comments
Closed

Compilation failed on Raspberry Pi Zero #8159

Toberto-El opened this issue Feb 3, 2019 · 13 comments

Comments

@Toberto-El
Copy link

Toberto-El commented Feb 3, 2019

gfx/video_crt_switch.c:32:68: fatal error: ../include/userland/interface/vmcs_host/vc_vchi_gencmd.h: No such file or directory

compilation terminated.
Makefile:199: recipe for target 'obj-unix/release/gfx/video_crt_switch.o' failed
make: *** [obj-unix/release/gfx/video_crt_switch.o] Error 1

Configured with:

./configure --disable-sdl --disable-sdl2 --disable-oss --disable-al --disable-jack --disable-qt --disable-dispmanx --enable-opengl --enable-opengles --disable-kms --disable-x11 --disable-pulse --disable-vg --disable-ssl --enable-zlib --enable-freetype --disable-ffmpeg --disable-cg --disable-vulkan --disable-rsound --disable-wayland

  • RetroArch: 1.7.5/latest git clone

Environment information

  • OS: Raspbian Stretch Lite
@orbea
Copy link
Contributor

orbea commented Feb 3, 2019

Can you please bisect this and find the first bad commit?

@orbea
Copy link
Contributor

orbea commented Feb 3, 2019

Actually can you please test this patch?

diff --git a/gfx/video_crt_switch.c b/gfx/video_crt_switch.c
index 88f7602d5a..18b8cdbcf2 100644
--- a/gfx/video_crt_switch.c
+++ b/gfx/video_crt_switch.c
@@ -29,7 +29,7 @@
 #endif
 
 #if defined(HAVE_VIDEOCORE)
-#include "../include/userland/interface/vmcs_host/vc_vchi_gencmd.h"
+#include "include/userland/interface/vmcs_host/vc_vchi_gencmd.h"^M
 #endif
 
 static unsigned ra_core_width     = 0;

@inactive123
Copy link
Contributor

Pushed this commit -

9c0cccc

@orbea
Copy link
Contributor

orbea commented Feb 3, 2019

@Toberto-El Please let us know if this works for you now.

@cmitu
Copy link
Contributor

cmitu commented Feb 3, 2019

With the fix above, it still fails:

/usr/bin/gcc  -O3  -ffast-math -DHAVE_FILE_LOGGER -DHAVE_SHADERPIPELINE -I./libretro-common/include -I./deps -DHAVE_NETPLAYDISCOVERY -DHAVE_DR_MP3 -I./deps/7zip -DHAVE_DR_FLAC -DHAVE_FLAC -I./deps/libFLAC/include -I./libretro-common/formats/libchdr -Wall -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I./deps/7zip -I. -Ideps -Ideps/stb -std=gnu99 -D_GNU_SOURCE -Wno-unused-result -Wno-unused-variable -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 -DGLOBAL_CONFIG_DIR='"/etc"' -DHAVE_HID -DHAVE_LIBRETRODB -DHAVE_DYLIB -DHAVE_GIT_VERSION -DGIT_VERSION=5bab7e4460 -DHAVE_DR_MP3 -DHAVE_RUNAHEAD -DHAVE_CC_RESAMPLER -DHAVE_LANGEXTRA -finput-charset=UTF-8 -DHAVE_IMAGEVIEWER -DHAVE_COMMAND -DHAVE_STDIN_CMD -I/usr/include/alsa -DHAVE_TINYALSA -DHAVE_MENU -DHAVE_RGUI -DHAVE_MATERIALUI -DHAVE_XMB -DHAVE_OZONE -DHAVE_OVERLAY -DHAVE_STB_FONT -I/usr/include/freetype2 -DHAVE_THREADS -DHAVE_THREAD_STORAGE    -DHAVE_LIBUSB -DHAVE_HID -DHAVE_OPENGL -DHAVE_GLSL   -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_EGL  -DUSE_VCHIQ_ARM -D_REENTRANT -I/usr/include/SDL2 -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads  -DHAVE_7ZIP -D_7ZIP_ST -DHAVE_IBXM -DHAVE_DR_FLAC -I./deps -DHAVE_STDINT_H -DHAVE_LROUND -DFLAC__HAS_OGG=0 -DFLAC_PACKAGE_VERSION="\"retroarch\"" -DHAVE_ZLIB -DHAVE_CHD -DWANT_SUBCODE -DWANT_RAW_DATA_SECTOR -DHAVE_RTGA -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_RBMP -DHAVE_COMPRESSION -DHAVE_EASTEREGG -DHAVE_NETWORKING -DHAVE_NETWORK_CMD -DHAVE_CHEEVOS -DHAVE_DISCORD -Ideps/discord-rpc/include/ -Ideps/discord-rpc/thirdparty/rapidjson-1.1.0/include/ -DHAVE_MINIUPNPC -DHAVE_BUILTINMINIUPNPC -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -I./deps -DHAVE_COMPRESSION -MMD -c -o obj-unix/release/gfx/video_crt_switch.o gfx/video_crt_switch.c

gfx/video_crt_switch.c:32:68: fatal error: ../include/userland/interface/vmcs_host/vc_vchi_gencmd.h: No such file or directory

Replacing with

#if defined(HAVE_VIDEOCORE)
#include "./include/userland/interface/vmcs_host/vc_vchi_gencmd.h"
#endif

passes the include error, but fails with

gfx/video_crt_switch.c: In function ‘switch_res_crt’:
gfx/video_crt_switch.c:101:4: warning: implicit declaration of function ‘crt_rpi_switch’ [-Wimplicit-function-declaration]
    crt_rpi_switch(width, height, ra_core_hz);
    ^~~~~~~~~~~~~~
gfx/video_crt_switch.c: At top level:
gfx/video_crt_switch.c:228:13: warning: conflicting types for ‘crt_rpi_switch’
 static void crt_rpi_switch(int width, int height, float hz)
             ^~~~~~~~~~~~~~
gfx/video_crt_switch.c:228:13: error: static declaration of ‘crt_rpi_switch’ follows non-static declaration
gfx/video_crt_switch.c:101:4: note: previous implicit declaration of ‘crt_rpi_switch’ was here
    crt_rpi_switch(width, height, ra_core_hz);
    ^~~~~~~~~~~~~~
gfx/video_crt_switch.c: In function ‘crt_rpi_switch’:
gfx/video_crt_switch.c:334:37: error: ‘set_hdmi_timings’ undeclared (first use in this function)
    snprintf(set_hdmi_timing, sizeof(set_hdmi_timings),
                                     ^~~~~~~~~~~~~~~~
gfx/video_crt_switch.c:334:37: note: each undeclared identifier is reported only once for each function it appears in
At top level:
gfx/video_crt_switch.c:228:13: warning: ‘crt_rpi_switch’ defined but not used [-Wunused-function]
 static void crt_rpi_switch(int width, int height, float hz)
             ^~~~~~~~~~~~~~

Fixing the gfx/video_crt_switch.c:334 error (set_hdmi_timings -> set_hdmi_timing), still leaves the other error present.

Tested on a PI3 (Raspbian Stretch Lite) with latest updates.

@Toberto-El
Copy link
Author

Toberto-El commented Feb 3, 2019

It still fails (Tested on rpi0)

gfx/video_crt_switch.c: In function ‘switch_res_crt’:
gfx/video_crt_switch.c:101:4: warning: implicit declaration of function ‘crt_rpi_switch’ [-Wimplicit-function-declaration]
    crt_rpi_switch(width, height, ra_core_hz);
    ^~~~~~~~~~~~~~
gfx/video_crt_switch.c: At top level:
gfx/video_crt_switch.c:228:13: warning: conflicting types for ‘crt_rpi_switch’
 static void crt_rpi_switch(int width, int height, float hz)
             ^~~~~~~~~~~~~~
gfx/video_crt_switch.c:228:13: error: static declaration of ‘crt_rpi_switch’ follows non-static declaration
gfx/video_crt_switch.c:101:4: note: previous implicit declaration of ‘crt_rpi_switch’ was here
    crt_rpi_switch(width, height, ra_core_hz);
    ^~~~~~~~~~~~~~
gfx/video_crt_switch.c: In function ‘crt_rpi_switch’:
gfx/video_crt_switch.c:334:37: error: ‘set_hdmi_timings’ undeclared (first use in this function)
    snprintf(set_hdmi_timing, sizeof(set_hdmi_timings),
                                     ^~~~~~~~~~~~~~~~
gfx/video_crt_switch.c:334:37: note: each undeclared identifier is reported only once for each function it appears in
At top level:
gfx/video_crt_switch.c:228:13: warning: ‘crt_rpi_switch’ defined but not used [-Wunused-function]
 static void crt_rpi_switch(int width, int height, float hz)
             ^~~~~~~~~~~~~~
Makefile:199: recipe for target 'obj-unix/release/gfx/video_crt_switch.o' failed
make: *** [obj-unix/release/gfx/video_crt_switch.o] Error 1

@orbea
Copy link
Contributor

orbea commented Feb 3, 2019

Maybe started in commit 76bf63f.

@alphanu1 Any ideas?

@Toberto-El
Copy link
Author

In commit 76bf63f:

gfx/video_crt_switch.c:28:68: fatal error: include/userland/interface/vmcs_host/vc_vchi_gencmd.h: No such file or directory

                                                                    ^
compilation terminated.
Makefile:198: recipe for target 'obj-unix/release/gfx/video_crt_switch.o' failed
make: *** [obj-unix/release/gfx/video_crt_switch.o] Error 1

@Toberto-El
Copy link
Author

Commit > 5302a1e

passed gfx/video_crt_swith.c

Commit > 81bca39

passed gfx/video_crt_swith.c

@orbea
Copy link
Contributor

orbea commented Feb 3, 2019

So this broke in PR? https://github.com/alphanu1/MME4CRT/pull/97 #8132

It also changed all the line endings making the PR impossible to review...does it work again if you revert it?

@inactive123
Copy link
Contributor

Try again after this commit -

a58a324

@Toberto-El
Copy link
Author

Ok, after commit a58a324 it passes video_crt_switch.c

I'll test the build after compiling

@alphanu1
Copy link
Contributor

alphanu1 commented Feb 3, 2019

Sorry I did not see this earlier guys.

Seems like you have it sorted though. Part of the issue was changing sprinf to snprintf. Seems like a like a typo.

The include was missed on my behalf. Before the comit I moved the userland include from gfx/drivers to the include folder. I should have double check the compile.

Sorry to have caused this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants