Alright so looking at the include paths passed to it via the command line, it uses -I../../../../gcj/libjava/../libffi/include, which seems to be correct from what I can tell, it's definitely the right path to libjava, and looks to be the right path to libffi. However, in the build directory, grepping for libffi only reveals results in documentation and makefiles, and I cannot find any libffi directory. I presume this is because it is compiling libjava before libffi for some reason? In the libffi include directory there's no ffi.h, only a ffi.h.in, so it looks like it needs to be generated first. Is there anywhere within the sources that sets what order things are compiled in? On Tue, May 17, 2022 at 4:12 PM Zopolis0 <creatorsmithmdt@xxxxxxxxx> wrote: > That's what I was doing, with --enable-languages=java. > > On Mon, May 16, 2022 at 11:06 AM Zopolis0 <creatorsmithmdt@xxxxxxxxx> > wrote: > >> While attempting to compile gcj on my mster branch ( >> https://github.com/Zopolis4/gcj/tree/mster) , the compilation fails >> because several files within libjava are unable to include ffi.h because >> they cannot find it. >> In file included from ../../../../gcj/libjava/defineclass.cc:24: >> ../../../../gcj/libjava/include/java-interp.h:40:10: fatal error: ffi.h: >> No such file or directory >> 40 | #include <ffi.h> >> | ^~~~~~~ >> This is despite, as far as I can tell, the compilation of libffi being >> enabled as part of libjava in makefile.def. >> >