libretro / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
40 stars 63 forks source link

Cannot find dr_libs/dr_mp3.h dependency #191

Closed bugalo closed 2 years ago

bugalo commented 2 years ago

Cannot compile in Linux, with gcc-11.2.1. It fails with error:

platform/common/mp3_drmp3.c:13:10: fatal error: dr_libs/dr_mp3.h: No such file or directory 13 | #include "dr_libs/dr_mp3.h" | ^~~~~~

I am using the latest github code updated with:

SHALLOW_CLONE=1 ./libretro-fetch.sh

and compile the core with:

NOCLEAN=1 ./libretro-build.sh picodrive

The library exists in:

libretro-super/retroarch/deps/dr

bugalo commented 2 years ago

The directory:

/home/manu/git_repos/libretro-super/libretro-picodrive/platform/common/dr_libs

is empty after updating the code. If adding the dr_mp3.h and dr_flac.h files there, the compilation fails with the error:

gmake: *** No rule to make target 'pico/cd/libchdr/src/libchdr_chd.o', needed by 'picodrive_libretro.so'. Stop.

irixxxx commented 2 years ago

have you done git submodule update --init?

bugalo commented 2 years ago

It turns out by doing:

SHALLOW_CLONE=1 ./libretro-fetch.sh picodrive

git is not fetching submodules, so I guess this is a problem with libretro-fetch.sh and not libretro-picodrive

bugalo commented 2 years ago

By doing

SHALLOW_CLONE=1 ./libretro-fetch.sh picodrive

it seems that it is also invoking:

git submodule update --init --recursive

but somehow the submodules were not being fetched. I deleted the directory

libretro-super/libretro-picodrive

and repeated

SHALLOW_CLONE=1 ./libretro-fetch.sh picodrive

and the submodules were properly fetched. The same happened with other cores, so I guess the problem is with libretro-fetch.sh not with your code.

Thanks for your help.