The problem is solved (partialy) !
For an Arduino - 0012 Alpha, byte does not a type, it must be replace by unsigned char on all librairy files (mmc.h, mmc.cpp, etc).
uint8_t, uint16_t and uint32_t does not defined by default, we can defined them manually :
typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
typedef unsigned long uint32_t;
Or include stdint.h in mmc.h for example :
#include <stdint.h>
It's necessary to compile microfat librairies : Arduino Nut: u-Fat filesystem
The code compile on my office PC on Windows and on my PC on Ubuntu-64 but I don't check it because I don't receive my microSD reader and file must be created on the begining of SD card to use this librairy.