With the help given in this forum, I've managed to solve the problem I had with the stxxl library and could compile and run a sample program (the phonebills example).
However, I failed the program detects my disk configuration file. The program always works with the configuration file created by default (/var/tmp/stxxl). The following warning is written to the output every time I run the program:
[STXXL-ERRMSG] Warning: no config file found.
[STXXL-ERRMSG] Using default disk configuration.
[STXXL-MSG] Disk '/ var / tmp / stxxl' is Allocated, space: 1000 MiB, I / O implementation: syscall queue delete_on_exit autogrow = 0.
Beyond that, the sample program runs normally.
I'm not sure if the problem that the program does not detect the disk configuration file is because I am not giving the right name to the file or that I'm not putting it in the correct directory.
I have tried the following file names:
(A) .stxxl.$HOSTNAME, in my case '.stxxl.fortuna' (note the character '.' at the beginning of the name) and put it in the directory where the executable.
(B) The same as the previous case, but removing the character '.' at first.
(C) 'stxxl' and put the file in the directory where the executable.
Try these three name options, but placing the file in my home directory and setting the value of the variable STXXLCFG that route. As follows:
set (STXXLCFG "/home/iperez/<file_name>")
In all cases the program generates the warning messages written above and works with the default configuration file.
Thanks in advance for any help and/or suggestion.
The exact positions where STXXL looks for config files are documented here
Try the versions without HOSTNAME first. Sometimes the HOSTNAME environment variable is not defined. I just redefine it when it's not what I need.
There is a dot in ".stxxl".
From the syntax 'set(STXXLCFG "/home/iperez/")' I am guessing you are setting this in CMake. CMake variables are NOT environment variables.
And another note: MinGW probably falls into the "Windows system" category, while Cygwin falls into the "Linux system" one.
I put a disk configuration file named ".stxxl" in the directory where the executable, and now the program detect it and work with it. I suppose the problem is because the HOSTNAME environment variable.
Thanks you again.