SWI-Prolog / issues

Dummy repository for issue tracking
7 stars 3 forks source link

Compilation problem #106

Closed joseph-vidal-rosset closed 2 years ago

joseph-vidal-rosset commented 2 years ago

I meet the folllowing error message (in French):

make[2]: Aucune règle pour fabriquer la cible « man/archive », nécessaire pour « man/lib/prologpack.tex ». Arrêt. make[1]: [CMakeFiles/Makefile2:3042 : man/CMakeFiles/core.doc.html.dir/all] Erreur 2 make: *** [Makefile:182 : all] Erreur 2

JanWielemaker commented 2 years ago

Make sure to install the libarchive dependency or drop the documentation from the build. Once upon a time the dependencies should be reduced ...

joseph-vidal-rosset commented 2 years ago

Thanks Jan. It is really hard to get all the dependencies. I have this last error message:

[ 97%] Built target swipl-win_autogen [ 97%] Linking CXX executable swipl-win /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetnum@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tputs@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgoto@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetent@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetstr@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetflag@NCURSES6_TINFO_5.0.19991023 » collect2: error: ld returned 1 exit status make[2]: [packages/swipl-win/CMakeFiles/swipl-win.dir/build.make:307 : packages/swipl-win/swipl-win] Erreur 1 make[1]: [CMakeFiles/Makefile2:10402 : packages/swipl-win/CMakeFiles/swipl-win.dir/all] Erreur 2 make: *** [Makefile:182 : all] Erreur 2

joseph-vidal-rosset commented 2 years ago

On Linux MX 21 (i.e. Debian 11) :

root@mx:/usr/local/swipl-devel/build# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. -- Configuring SWI-Prolog-8.5.2 -- Could NOT find LibTCMalloc (missing: LIBTCMALLOC_LIBRARY) -- Could NOT find LibTCMalloc (missing: LIBTCMALLOC_LIBRARY) -- Could NOT find LibUUID (missing: LIBUUID_INCLUDE_DIR) -- Could NOT find JNI (missing: JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) -- Could NOT find Java (missing: Java_JAVAC_EXECUTABLE Java_JAR_EXECUTABLE Java_JAVADOC_EXECUTABLE Development) (found version "11.0.13") -- Configuring done -- Generating done -- Build files have been written to: /usr/local/swipl-devel/build

joseph-vidal-rosset commented 2 years ago

root@mx:/usr/local/swipl-devel/build# apt-cache search LibTCMalloc libtcmalloc-minimal4 - efficient thread-caching malloc root@mx:/usr/local/swipl-devel/build# aptitude install libtcmalloc-minimal4 libtcmalloc-minimal4 est déjà installé avec la version demandée (2.8.1-1) libtcmalloc-minimal4 est déjà installé avec la version demandée (2.8.1-1) Aucun paquet ne va être installé, mis à jour ou enlevé. 0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 0 o seront utilisés.

joseph-vidal-rosset commented 2 years ago

So, it would be a good thing to have the list of the dependencies to install in Linux, for example in Debian...

joseph-vidal-rosset commented 2 years ago

https://www.swi-prolog.org/build/Debian.html Sorry. I apologize !

joseph-vidal-rosset commented 2 years ago

root@mx:/usr/local/swipl-devel/build# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. -- Configuring SWI-Prolog-8.5.2 -- Could NOT find LibUUID (missing: LIBUUID_INCLUDE_DIR) -- Configuring done -- Generating done -- Build files have been written to: /usr/local/swipl-devel/build

[ 97%] Linking CXX executable swipl-win /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetnum@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tputs@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgoto@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetent@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetstr@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : ../../src/libswipl.so.8.5.2 : référence indéfinie vers « tgetflag@NCURSES6_TINFO_5.0.19991023 » collect2: error: ld returned 1 exit status make[2]: [packages/swipl-win/CMakeFiles/swipl-win.dir/build.make:307 : packages/swipl-win/swipl-win] Erreur 1 make[1]: [CMakeFiles/Makefile2:10707 : packages/swipl-win/CMakeFiles/swipl-win.dir/all] Erreur 2 make: *** [Makefile:182 : all] Erreur 2

Remark : qt5-default is no longer in Debian 11 .

joseph-vidal-rosset commented 2 years ago

apt-get build-dep swi-prolog did not solve the problem ... :(

JanWielemaker commented 2 years ago

Weird. Debian 11 is bullseye, no? The latest Docker image is submitted based on bullseye. See https://github.com/SWI-Prolog/docker-swipl/blob/master/8.5.2/bullseye/Dockerfile

joseph-vidal-rosset commented 2 years ago

I ran the commands and I got exactly the same error with swipl-win:

[1338/1344] Linking CXX executable packages/swipl-win/swipl-win FAILED: packages/swipl-win/swipl-win : && /usr/bin/c++ -rdynamic packages/swipl-win/CMakeFiles/swipl-win.dir/swipl-win_autogen/mocs_compilation.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/main.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/SwiPrologEngine.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/Swipl_IO.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/Preferences.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/pqMainWindow.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/pqConsole.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/FlushOutputEvents.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/ConsoleEdit.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/Completion.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/swipl_win.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/ParenMatching.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/ansi_esc_seq.cpp.o packages/swipl-win/CMakeFiles/swipl-win.dir/qrc_swipl-win.cpp.o -o packages/swipl-win/swipl-win -Wl,-rpath,/tmp/src/swipl-8.5.2/build/src:/home/joseph/anaconda3/lib: src/libswipl.so.8.5.2 /home/joseph/anaconda3/lib/libQt5Widgets.so.5.9.7 /home/joseph/anaconda3/lib/libQt5Gui.so.5.9.7 /home/joseph/anaconda3/lib/libQt5Core.so.5.9.7 && : /usr/bin/ld : src/libswipl.so.8.5.2 : référence indéfinie vers « tgetnum@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : src/libswipl.so.8.5.2 : référence indéfinie vers « tputs@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : src/libswipl.so.8.5.2 : référence indéfinie vers « tgoto@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : src/libswipl.so.8.5.2 : référence indéfinie vers « tgetent@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : src/libswipl.so.8.5.2 : référence indéfinie vers « tgetstr@NCURSES6_TINFO_5.0.19991023 » /usr/bin/ld : src/libswipl.so.8.5.2 : référence indéfinie vers « tgetflag@NCURSES6_TINFO_5.0.19991023 » collect2: error: ld returned 1 exit status [1339/1344] -- CHR bootstrap compilation step 4 ninja: build stopped: subcommand failed.

joseph-vidal-rosset commented 2 years ago

Is it possible to get swipl without swipl-win ?

JanWielemaker commented 2 years ago

Looks like anaconda is providing some incompatible version of Qt. There is no explicit way to avoid including swipl-win. You can simply remove packages/swipl-win from the source tree. Looks like a specific mixup of versions on your side.

joseph-vidal-rosset commented 2 years ago

Thanks Jan. It was the simplest solution : root@mx:/usr/local/swipl-devel/packages# rm -r swipl-win/ root@mx:/usr/local/swipl-devel/build# cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. -- Configuring SWI-Prolog-8.5.2 -- The following SWI-Prolog packages are disabled because the required sources are not installed: swipl-win Use one of the commands below to add all packages or specific packages

git -C .. submodule update --init
git -C .. submodule update --init packages/

-- Could NOT find LibUUID (missing: LIBUUID_INCLUDE_DIR) To activate the Python tests: python3 -mpip install protobuf -- Configuring done -- Generating done -- Build files have been written to: /usr/local/swipl-devel/build root@mx:/usr/local/swipl-devel/build# make

and make install and now: joseph@mx:~$ swipl --version SWI-Prolog version 8.5.2 for x86_64-linux :+1:

joseph-vidal-rosset commented 2 years ago

Many thanks Jan for your kind help !

joseph-vidal-rosset commented 2 years ago

Also updated to SWI-Prolog version 8.5.2 for x86_64-linux without the least problem on Debian 10 (buster).