On May 18, 2008, at 12:33 AM, Jianfeng Li wrote:
I am now trying to cross-compile the madplayer on an arm11 based embedded system. The compiler I am using is from montavista mobilinux 5.0.
When I tried to build the madplay, for the file resample.c, I got 2 errors on line 89 and 104. The error information is "impossible constraint in 'asm'. When I tried to build the libmad, I also met the same error. But it seems that during compilation if "FPM-ARM" option is enabled then the error is solved. But here I checked the Makefile, there is no such option of "FPM" as in the Makefile of libmad.
So can anybody help to tell me why this error happens, it is due to the compiler's constraint/requirement? How should I try to solve this error? Is "trying to enable the FPM" a good option to try?
Running the libmad `configure' script is the usual way to cause an appropriate FPM macro to be defined. You can force the selection using the --enable-fpm option (e.g. --enable-fpm=arm) in case the automatically chosen default is inappropriate for some reason.
Note that the FPM selection is carried into the mad.h header file which is used by madplay et al. When cross-compiling, the resulting mad.h could be different from the build system's mad.h so it's important to check your include paths.