Error in Makefile.common [Solved]

Following the steps to build retroarch here.

I followed the steps for subsequent builds since I was updating from 1.6.7 > 1.6.9

On the make -j4 step I ended up getting this message.

make: *** No rule to make target ‘obj-unix/cores/libretro-imageviewer/image_core.o’, needed by ‘retroarch’. Stop.

I believe the error to be around line 303 in Makefile.common

I’m running Windows 10

Build Output

did you try just running ‘make’ again? Sometimes with -j>1, it gets ahead of itself and errors out.

Ran make clean and then make -j4 again. Same results.

Should I run ./configure again?

I meant without cleaning in between. I’m not sure if you can disable the imageviewer core through the configure step, but if so, you could try that.

I also tried without cleaning in between. It was the same result.

I’ll try disabling the imageviewer core.

Here’s the config.log if it helps any.

E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lsystemd collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lvcos E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lvchiq_arm E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lbcm_host collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lminiupnpc collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lc collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lc collect2.exe: error: ld returned 1 exit status .tmp.c:1:10: fatal error: sys/soundcard.h: No such file or directory #include <sys/soundcard.h> ^~~~~~~~~~~~~~~~~ compilation terminated. .tmp.c:1:10: fatal error: soundcard.h: No such file or directory #include <soundcard.h> ^~~~~~~~~~~~~ compilation terminated. E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lossaudio collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lX11 collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -ludev collect2.exe: error: ld returned 1 exit status .tmp.c:1:10: fatal error: linux/parport.h: No such file or directory #include <linux/parport.h> ^~~~~~~~~~~~~~~~~ compilation terminated. E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lc collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lc collect2.exe: error: ld returned 1 exit status E:/msys64/mingw64/bin/…/lib/gcc/x86_64-w64-mingw32/7.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: cannot find -lvulkan collect2.exe: error: ld returned 1 exit status

Ah, that’s not looking good. Lots of errors in there. I don’t think it knows you’re using Windows.

When you build, you can try doing platform=win.

Now I’ve gotten this along with the original warning.

cores/libretro-imageviewer/image_core.c:41:10: fatal error: internal_cores.h: No such file or directory #include “internal_cores.h” ^~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Makefile:158: obj-unix/cores/libretro-imageviewer/image_core.o] Error 1 make: *** Waiting for unfinished jobs… CC libretro-db/libretrodb.c

I entered in make -j4 platform=win after pulling, configuring, and then cleaning.

Maybe I should just start from scratch and clone the repository all together.

yeah, that’s weird. That file should certainly exist. I would try recloning fresh, yeah.

It completed successfully with only this warning which I assume I can ignore.

deps/glslang/glslang/SPIRV/GlslangToSpv.cpp:5048:9: warning: ‘spv::Id {anonymous}::TGlslangToSpvTraverser::getExtBuiltins(const char*)’ defined but not used [-Wunused-function] spv::Id TGlslangToSpvTraverser::getExtBuiltins(const char* name) ^~~~~~~~~~~~~~~~~~~~~~

I had a custom folder inside the retroarch folder. Is that a concern for the build process?

Also the entire msys64 folder is being symlinked from my E:\ to my C:\

That warning probably doesn’t matter, no.

Having a custom folder inside the retroarch folder shouldn’t cause any problems, either, unless its name conflicts with something the makefile is looking for. I’m not sure about the symlinking.

Okay. Thank you for your assistance hunterk. I’m inclined to guess it was the symlinking somehow. Maybe in the future I can attempt to unlink before running an update to see if that was indeed the issue.

im not sure how symlink can work in windows… but in msys2 if you move the foler, you are required to run autorebase.bat

and use the recommended batch file instead of just launching mingw32 or mingw64

Are you referring to the msys2_shell.cmd file?