Closed joseph-vidal-rosset closed 3 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 ...
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
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
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.
So, it would be a good thing to have the list of the dependencies to install in Linux, for example in Debian...
https://www.swi-prolog.org/build/Debian.html Sorry. I apologize !
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 .
apt-get build-dep swi-prolog did not solve the problem ... :(
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
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.
Is it possible to get swipl without swipl-win ?
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.
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:
Many thanks Jan for your kind help !
Also updated to SWI-Prolog version 8.5.2 for x86_64-linux without the least problem on Debian 10 (buster).
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