Sunday, October 9, 2016

How to compile Prolog with GProlog and SWI-Prolog (Linux)

GProlog

Application must contain such piece of code
:-initialization(Goal).


 Then executable file can be built with
gplc --min-size PrologFile.pl
To decrease size of resulted file just use upx utlity
upx --all-methods exeFile

SWI-Prolog

Add some main goal into Prolog application
main :- Goal, Goal, Goal.
Compile with string
swipl -O --foreign=save --toplevel=halt --goal=main --stand_alone=true -o exeFile -c PrologFile.pl
Check usage of system libraries with
ldd exeFile
It will show something like
linux-vdso.so.1 =>  (0x00007ffcdc3f8000)
libswipl.so.7.2 => /usr/lib/libswipl.so.7.2 (0x00007febe1ec8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007febe1cab000)
libswipl.so.X.X is used by the executable file and must be bundled together with compiled file

No comments:

Post a Comment