[maemo-developers] Survey about Maemo porting problems
From: Eero Tamminen eero.tamminen at nokia.comDate: Fri Nov 28 11:25:44 EET 2008
- Previous message: Survey about Maemo porting problems
- Next message: Survey about Maemo porting problems
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi, ext tz wrote: >>> Something wrong in pkgconfig hard to diagnose >>> >>> Cross compiling hopelessly broken (does the gcc produce i386 >>> executables? No, well use --host, >> Scratchbox should handle fine packages that can be built only natively. > > It doesn't, at least not the version I have to install with unaltered > ./configure scripts which insist on testing if "gcc -o x x.c" will > produce something that runs as "x". This is not uncommon! This is what Scratchbox is specifically made to handle. It actually handled that even before v1.0 which added mainly things needed for supporting building of Debian packages (like TCP/IP support to fakeroot). > It is probably why ubuntu has a big set of ARM computers to build things > instead of using scratchbox. This is probably because: - Updating Scratchbox base (host tools) is a bit awkward and and they would need to do that because their tools are newer than what Scratchbox currently provides. This would include building newer SB toolchain versions - Their package set is larger which means more potential issues with Qemu user-space emulation, especially in regards to its threading support (which cannot be fixed completely due it being user-space emulation). They would need to set CPU transparency stuff with real devices (works fine with Scratchbox, but more hassle to set up than using qemu) - To rebuild Python, they would need to remove it from Scratchbox host tools (building dynamic extensions for languages provided both by Scratchbox and SB target confuses the language build tools) - They think the speed up provided by Scratchbox builds isn't enough to offset above issues and they have enough suitable ARM devices for native building > There are less common (and probably > erroneous) tests for specific versions or library features, but I > don't expect them to be handled and I can usually work around them. > The ./configure may be broken in not picking up the --host from the > gcc specs, but that is unfortunately common when they do a "can I run > executables" test. This might be another point where Nokia/maemo > could work with Ubuntu and Debian to upstream fixes to ./configure > scripts which prevent cross compiling. By definition this won't work automatically (configure cannot test whether things work). Because upstream doesn't test cross-building, their build scripts would also get regularly broken. Another approach is the one used by OpenEmbedded where also each package needs "changes", but those are external to the package source (so called "recipes" for seeding configure scripts with suitable values etc). The purpose of Scratchbox is that you don't need to do *any* change to the software (internal or external to it) to cross-build it. You just need to have the -dev packages required by it installed. > configure:2258: checking whether the C compiler works > configure:2264: ./a.out > ./configure: line 1: ./a.out: cannot execute binary file > configure:2267: $? = 126 > configure:2276: error: cannot run C compiled programs. Please check that you've setup your Scratchbox target properly. It seems that there's some problem with your CPU transparency setup. - Eero
- Previous message: Survey about Maemo porting problems
- Next message: Survey about Maemo porting problems
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]