My compiler is:
x86_64-alt-linux-g++ (GCC) 4.4.1 20090725 (ALT Linux 4.4.1-alt1)
When trying to compile STP I get the error log attached.
compile error log
Can you try running:
g++ -I../sat/mtl -I../sat/core -DTR1_UNORDERED_MAP -c -o AST.o AST.cpp
In the directory that contains AST.cpp?
The make files do two bad things. First compile by default to 32-bit, which uses less memory. So far all the 64-bit machines we've used have the 32-bit compatibility libraries installed, but yours may not. Second, we use the deprecated but faster, on our benchmarks, g++ hash_map extensions.
Let me know how it goes.
I see no output. Is that OK?
[adam@anko AST]$ g++ -I../sat/mtl -I../sat/core -DTR1_UNORDERED_MAP -c -o AST.o AST.cpp
No news is good news.
To compile the whole thing in 64-bit, remove the -m32 option from scripts/Makefile.common, and from src/sat/core/Makefile
If that doesn't work, try replacing -DEXT_HASH_MAP in scripts/Makefile.common with -DTR1_UNORDERED_MAP
yes, this worked nicely. Thanks.
After removing the m32 flag from a few more places I was able to run tests too:
make regresscapi && regresscvc && regresssmt
I guess you can use my case to either fix the config files or add this to the doc.
oh, I forgot to clarify. I only had to remove the m32 flag from Makefiles, and did not have to make the other change.
Hi Adam, Yes, I'll eventually update the configure script to check if 32-bit compatibility libraries are installed on the machine.