Hi Edu,
You said that you have the latest Ubuntu, and hence probably
installing older versions of xAct is not going to help.
xAct is provided with gcc-compiled versions for linux/windows/mac of a
code (xperm.c) in charge of the most time-demanding computations about
tensor symmetries. I guess your problem is that something in your
latest Ubuntu is incompatible with the compiled executable for linux.
Hence, what you have to do is compile this program yourself. Here you
have some instructions:
1. To compile the code you need to use two scripts in your Mathematica
installation: one is called mprep and the other is called mcc . Start
by finding them. Go to your Mathematica installation directory with
something like
cd /usr/local/Wolfram/Mathematica/7.0/
Execute the following commands:
find . -name mprep
find . -name mcc
They will tell you where the mprep and mcc programs are. In my
installation I get for the first
./SystemFiles/Links/MathLink/DeveloperKit/Linux/CompilerAdditions/
mprep
./SystemFiles/Links/MathLink/DeveloperKit/Linux-x86-64/
CompilerAdditions/mprep
and something similar for mcc. There are two results, corresponding to
32bits and 64bits. If you have installed Ubuntu I guess you know which
one you need.
2. The second step is using mprep. Go to the xAct installation,
wherever you have put it:
cd ...../xAct/
Go to this subdirectory:
cd xPerm/mathlink
Here you will find everything related to the external executable. In
particular there are two codes: xperm.c and
xperm.tm . The first is
the actual C code, and the second is called a MathLink template file,
and it is the file that tells Mathematica how to link the external C
executable. You need to run mprep as follows. Note that you need to
use the full path of mprep (put here whatever you found in step 1)
/usr/local/Wolfram/Mathematica/7.0/SystemFiles/......../
CompilerAdditions/mprep -o xpermtm.c
xperm.tm
This will read
xperm.tm and xperm.c and create a new file called
xpermtm.c mixing those two codes. (The option -o in linux allows you
to select the name of the output.)
3. The final step is compiling xpermtm.c using the compiler mcc . Most
probably mcc does not need the full path, so the following should be
enough:
mcc -o xperm.linux xpermtm.c
If linux complains that mcc is not found, then use the full path as
you did with mprep. We here use again the option -o to choose the name
xperm.linux for the executable. xAct needs that name, so use it
exactly as written. Note that the ...../xPerm/mathlink directory
already contains the xperm.linux executable provided with the xAct
distribution. You are going to overwrite it in this process. At this
point you have finished. Go back to Mathematica and you shouldn't have
problems to load xPerm or xTensor.
Please, let us know whether this worked or not for you, or whether you
need more details.
Cheers,
Jose.