# I cannot compile swi prolog 9.2.5

**URL:** <https://swi-prolog.discourse.group/t/i-cannot-compile-swi-prolog-9-2-5/7564>\
**Category:** Help!\
**Created:** [July 3, 2024, 1:37pm UTC](https://swi-prolog.discourse.group/t/i-cannot-compile-swi-prolog-9-2-5/7564 "2024-07-03T13:37:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frank\_Schwidom](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/frank_schwidom/32/7662_2.png) [@Frank\_Schwidom](https://swi-prolog.discourse.group/u/Frank_Schwidom)\
**Post date:** [July 3, 2024, 1:37pm UTC](https://swi-prolog.discourse.group/t/i-cannot-compile-swi-prolog-9-2-5/7564/1 "2024-07-03T13:37:55Z")

</div>

I get the error while compiling:

```prolog

[72%] Built target plugin_snowball
[72%] Built target snowball
[72%] Built target nlp
[72%] Built target pldoc
[72%] Generating pldoc2tex
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:44:
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:44: Initialization goal raised exception:
ERROR: open_shared_object/3: unicode4pl: cannot open shared object file: No such file or directory
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:150:
ERROR: call_goal_expansion/5: Unknown procedure: unicode:unicode_option_mask/2
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:161:
ERROR: call_goal_expansion/5: Unknown procedure: unicode:unicode_option_mask/2
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:168:
ERROR: call_goal_expansion/5: Unknown procedure: unicode:unicode_option_mask/2
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:176:
ERROR: call_goal_expansion/5: Unknown procedure: unicode:unicode_option_mask/2
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/pldoc/doc_latex.pl:1674:
ERROR: Exported procedure unicode:unicode_nfkc/2 is not defined
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/pldoc/doc_latex.pl:1674:
ERROR: Exported procedure unicode:unicode_nfkd/2 is not defined
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/pldoc/doc_latex.pl:1674:
ERROR: Exported procedure unicode:unicode_nfc/2 is not defined
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/pldoc/doc_latex.pl:1674:
ERROR: Exported procedure unicode:unicode_map/3 is not defined
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/pldoc/doc_latex.pl:1674:
ERROR: Exported procedure unicode:unicode_nfd/2 is not defined
ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/pldoc/doc_latex.pl:1675:
ERROR: call_goal_expansion/5: Unknown procedure: unicode:unicode_option_mask/2
Warning: Halting with status 1 due to 11 errors and 0 warnings
make[2]: *** [man/CMakeFiles/pldoc2tex_state.dir/build.make:81: man/pldoc2tex] Error 1
make[1]: *** [CMakeFiles/Makefile2:3272: man/CMakeFiles/pldoc2tex_state.dir/all] Error 2
make: *** [Makefile:182: all] Error 2

```

Thanks in Advance

---

<div class="post-metadata">

**Author:** ![peter.ludemann](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/peter.ludemann/32/48_2.png) [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Post date:** [July 3, 2024, 6:01pm UTC](https://swi-prolog.discourse.group/t/i-cannot-compile-swi-prolog-9-2-5/7564/2 "2024-07-03T18:01:34Z")

</div>

Try deleting the “build” directory and try again - sometimes Cmake gets confused (or the dependencies aren’t quite right, or both).

You might want to update to the latest GitHub sources (9.3.7), although the `utf8proc` package hasn’t changed in a long time.

Also: which OS, compiler are you using? (Although this probably won’t make a difference)

```prolog
lsb_release -a
uname -a
gcc --version

```

---

<div class="post-metadata">

**Author:** ![Frank\_Schwidom](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/frank_schwidom/32/7662_2.png) [@Frank\_Schwidom](https://swi-prolog.discourse.group/u/Frank_Schwidom)\
**Post date:** [July 23, 2024, 12:03pm UTC](https://swi-prolog.discourse.group/t/i-cannot-compile-swi-prolog-9-2-5/7564/3 "2024-07-23T12:03:31Z")

</div>

> [@peter.ludemann](#):
>
> ```prolog
> lsb_release -a
> uname -a
> gcc --version
> 
> ```

```prolog
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye

$ uname -a
Linux debian64 5.10.0-29-amd64 #1 SMP Debian 5.10.216-1 (2024-05-03) x86_64 GNU/Linux

$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ cmake --version
cmake version 3.18.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).

```

---

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [July 23, 2024, 12:39pm UTC](https://swi-prolog.discourse.group/t/i-cannot-compile-swi-prolog-9-2-5/7564/4 "2024-07-23T12:39:07Z")

</div>

> [@Frank\_Schwidom](#):
>
> ```prolog
> ERROR: /home/ox_external_source/sources_external/swi-prolog-9.2.5/build/home/library/ext/utf8proc/unicode.pl:176:
> ERROR: call_goal_expansion/5: Unknown procedure: unicode:unicode_option_mask/2
> 
> ```

AFAIK, this is a dependency problem that is fixed in the 9.3.x series as well as in the GIT version of the stable series.

In theory you should be able to hack around it by first running

```
 make utf8proc

```

and then run the normal make. Or, run the above after trapping the failure and run `make` again.
