# Qcompiling module works but use\_module not for an specific module

**URL:** <https://swi-prolog.discourse.group/t/qcompiling-module-works-but-use-module-not-for-an-specific-module/7288>\
**Category:** General\
**Created:** [March 9, 2024, 5:39am UTC](https://swi-prolog.discourse.group/t/qcompiling-module-works-but-use-module-not-for-an-specific-module/7288 "2024-03-09T05:39:43Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kuniaki.mukai](https://avatars.discourse-cdn.com/v4/letter/k/c67d28/32.png) [@kuniaki.mukai](https://swi-prolog.discourse.group/u/kuniaki.mukai)\
**Post date:** [March 9, 2024, 5:39am UTC](https://swi-prolog.discourse.group/t/qcompiling-module-works-but-use-module-not-for-an-specific-module/7288/1 "2024-03-09T05:39:43Z")

</div>

I am experiencing a strange trouble on module. I always `use_module/2` to use modules, except a module `matrix`. The use of `:- use_module(util(matrix))` causes an  
unknown predicate error on runtime, but `:-qcompile(util(matrix))` works normal. I suspect this is related to `compile_aux_clauses/1`, which is used to compile some blocks in the module ‘matrix’. As I have been using frequently the `compile_aux_clauses/1` in many places in compiling my library without trouble, I may be missing some simple thing about `compile_aux_clauses/1`. For the time being I have to live with this exception.

```prolog
:- module(cgi, []).
:- use_module(pac(op)).
:- use_module(pac(basic)).
:- use_module(util(misc)).
:- use_module(util(coalgebra)).
:- use_module(util('fol-prover')).
:- use_module(util(html)).
:- use_module(util(latex)).
:- use_module(util(math)).
:- use_module(util(seqcal4)).
:- use_module(util(npuzzle)).
:- use_module(util(turing)).
% :- use_module(util(matrix)). % matrix_calc/3 unknown error: strange
:- qcompile(util(matrix)).
:- use_module(util(langsem)).
:- use_module(util(ptq)).
:- use_module(util(models)).
:- use_module(util(hmodel)).
:- use_module(util(prooftree)).
:- use_module(util(ifmap)).
:- use_module(zdd(zdd)).
:- use_module(zdd('zdd-plain')).
:- use_module(pac('pac-listing')).

term_expansion --> pac:expand_pac.

```
