Linux - Embedded & Single-board computerThis forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am trying to cross compile Mono for an ARM target (XScale Intel PXA255). While cross compiling my ./configure breaks, I am pasting the last few lines of the error below.
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking for isinf... yes
checking for void *... yes
checking size of void *... 4
checking for -Wdeclaration-after-statement option to gcc... no
checking integrity of package... ok
checking for pkg-config... /usr/bin/pkg-config
checking for arm-unknown-linux-gnu-pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for -mno-tls-direct-seg-refs option to gcc... no
checking for visibility __attribute__... yes
checking for library containing clock_gettime... -lrt
checking for dlopen... no
checking for dlopen in -ldl... yes
checking for preceeding underscore in symbols... configure: error: cannot run test program while cross compiling
See `config.log' for more details.
Can anyone please let me know why is this happening.
Your make file is wanting to run some type of test suite but it can't because the generated code is Arm not x86. Try "make help" to try and get a list of targets, if that doesn't work try "make mono" and it that doesn't work then create a pastebin of the makefile and post the link so I can look at it.
But it isnt the make which I am stuck at.. I have still not reached the Make part yet.. I am stuck at ./configure itself.. I could also understand that it is trying to run some test suite but I am not sure if there was any way to make it stop testing it.. please advice..
During the ./configure there is probably an option like --no-testsuite that could be entered to avoid this. Post the results of "./configure --help" as you seem to not understand that sometimes during configuration code is compiled and ran as a test to make sure your environment is ready to compile the project.
I tried adding those to variables, it again did not work. It is stuck at the same place. Any ideas as to what could be wrong with -I.
I don't need Mono for Moonlight, I need the complete set of libraries and compilers because I need to run a C# based application on a device.
Actually I could compile the mono inside a scratchbox but the linux version in my device is 2.4 and the binaries were compiled for version 2.6. Later I realised by posting in LQ that Mono is not kernel dependent and the problem is because of glibc incompatibility. I want to compile mono with glibc version 2.2.5 (that is what my device has) but scratchbox only supports toolchain from glibc version 2.3 and above. So I am stuck here, is there any work around for this?
Last edited by kartiknatarajan; 12-18-2009 at 04:37 PM.
I'm limited to my blackberry so I can't really help much more with such a complex project without downloading and checking it out first. You must have quite the capable Arm device to be running mono on it, all my stuff if MIPS32 which also hinders my knowledge of the compiler toolchain your using. I want to help you I just don't see how without having the source and toolchain your using....I know how frustrating it is to cross compile complex projects. I think I would post this question in the mono forum if they have one also.
What I was saying about -I is that I see in the pastebin that configure can't find some source files, so you need to find the files that are referenced by an error of not found and add the directory containing the files to your includes.
Actually the toolchain which I am using as of now has the required glibc version and I know the fact that anything compiled using this toolchain runs on my device.
Please let me know if you get any inputs from other forums as well. If you need the toolchain I can send it to you. Besides that I am just compiling the Mono 2.0 source with the compiler in my tool chain.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.