dciabrin / ngdevkit

Open source development for Neo-Geo
GNU Lesser General Public License v3.0
262 stars 26 forks source link

make fails due to version of libisl (debian) #21

Closed fawzma closed 4 years ago

fawzma commented 4 years ago

On fresh install of Debian

Make sure you apt-get install zip before continuing

build process fails on apt-get install libisl-0.18-dev || true Library doesn't exist since newest version is .20

Temp solution to get around this

sudo dpkg -r libisl-dev sudo dpkg -i --force-depends libisl-0.18-dev_0.18-4_amd64.deb

you'll need to find the .deb version and download it. It will install, but will complain about a dependency, which doesn't seem to cause a problem.

I'm afraid if I resolve the depends, it will try to upgrade libisl or something.

run make clean make

devkit should make it all the way through. go into examples and run make and you will get your roms.

If you do not install zip package before removing the old libisl, apt-get will complain about the missing depends

dciabrin commented 4 years ago

OK let me try on a Debian buster and I'll come up with an updated README.md

As a side node, I might open a dedicated issue to better handle libisl in the devkit, as lacking a good libisl in the system might prevent me from implementing #20 . So maybe I should consider including a libisl 0.18 directly in the devkit...

dciabrin commented 4 years ago

I've disabled use of isl because I don't think the loop optimization pass has a major impact on the generated code's performance. I'll re-enable it once #20 is merged.

@fawzma can you check whether https://github.com/dciabrin/ngdevkit/commit/bea0460d8771e605861a0d859d0c6bdd545452fb fixes your compilation issues? I've updated the doc section to explain how to install all the required dependencies.

fawzma commented 4 years ago

fresh install, used updated instructions and build failed

In file included from ../../../toolchain/gcc-5.5.0/gcc/graphite.c:89: ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h: In function ‘void pbb_update_scattering(poly_bb_p, graphite_dim_t, int)’: ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h:1095:19: error: ‘isl_space_range’ was not declared in this scope isl_space d1 = isl_space_range (d); ^~~~~~~ ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h:1095:19: note: suggested alternative: ‘isl_map_range’ isl_space d1 = isl_space_range (d); ^~~~~~~ isl_map_range ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h:1096:19: error: ‘isl_space_dim’ was not declared in this scope unsigned i, n = isl_space_dim (d1, isl_dim_out); ^~~~~ ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h:1096:19: note: suggested alternative: ‘isl_map_dim’ unsigned i, n = isl_space_dim (d1, isl_dim_out); ^~~~~ isl_map_dim ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h:1097:19: error: ‘isl_space_add_dims’ was not declared in this scope isl_space d2 = isl_space_add_dims (d1, isl_dim_in, n); ^~~~~~ ../../../toolchain/gcc-5.5.0/gcc/graphite-poly.h:1097:19: note: suggested alternative: ‘isl_map_add_dims’ isl_space d2 = isl_space_add_dims (d1, isl_dim_in, n); ^~~~~~ isl_map_add_dims make[3]: [Makefile:1066: graphite.o] Error 1 make[3]: Leaving directory '/home/pi/ngdevkit/build/nggcc/gcc' make[2]: [Makefile:4162: install-gcc] Error 2 make[2]: Leaving directory '/home/pi/ngdevkit/build/nggcc' make[1]: [Makefile:2250: install] Error 2 make[1]: Leaving directory '/home/pi/ngdevkit/build/nggcc' make: [Makefile:128: build/nggcc] Error 2 pi@debian:~/ngdevkit$

dciabrin commented 4 years ago

Hmm I get the same error when compiled from the default branch or when I rerun the makefile from a previously failed run. Would you mind redoing your test from a scratch directory like .e.g.:

git clone https://github.com/dciabrin/ngdevkit
cd ngdevkit
git checkout -b bug/isl-depend origin/bug/isl-depend
make

PS: I also added a commit on top of the previous one to add a missing 'zip' dependency as you originally spotted in the issue.

dciabrin commented 4 years ago

OK Closing now since #20 has merged and ISL is no longer a required dependency now.