Re: [XFree86] cross compile xfree86-4.8.0
On Mon, 19 Oct 2009, john blair wrote: I have attached the Makefile. Thanks. First, it would seem that the CDEBUGFLAGS assignment needs to be inserted just after the SRCS assignment in both Imakefiles, at the latest. Please see if that works with another ... make Makefile make Makefiles make clean make depend make ... sequence in the same directory. Secondly, the compiler says Internal error: Killed, which would seem to imply it is being `kill -9`'ed by the kernel's OOM killer. Have you verified that you aren't simply running out of memory? Try adding a swap file to the compilation environment. Thanks. Marc. +--+--+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and| fax:1-780-492-1729 | |Communications Technologies | email: t...@ualberta.ca | | 352 General Services Building +--+ | University of Alberta | | | Edmonton, Alberta |Standard disclaimers apply| | T6G 2H1 | | | CANADA | | +--+--+ XFree86 developer and VP. ATI driver and X server internals. ___ XFree86 mailing list XFree86@XFree86.Org http://XFree86.Org/mailman/listinfo/xfree86
Re: [XFree86] cross compile xfree86-4.8.0
On Mon, 19 Oct 2009, john blair wrote: --- On Mon, 10/19/09, Marc Aurele La France t...@ualberta.ca wrote: From: Marc Aurele La France t...@ualberta.ca Subject: Re: [XFree86] cross compile xfree86-4.8.0 To: john blair mailtome200420032...@yahoo.com Cc: xfree86@xfree86.org Date: Monday, October 19, 2009, 10:32 PM On Sun, 18 Oct 2009, john blair wrote: I added to both Imakefiles CDEBUGFLAGS = NoOpCDebugFlags SpecialCObjectRule(xf86PciData,NullParameter,-DPCIDATA) in place of SpecialCObjectRule(xf86ScanPci,NullParameter,-O0) SpecialCObjectRule(xf86PciData,NullParameter,-O0 -DPCIDATA) and got the same internal compiler error. Could you send me the relevant part of your build log? /opt/toolchain/lin32/gcc-2007q3-51/bin/`echo /opt/toolchain/lin32/gcc-2007q3-51/bin/arm-none-linux-gnueabi-gcc|sed s%.*/%%` -o cpconfig -O2 -fsigned-char -L../../../../../exports/lib cpconfig.o Device.o Files.o Flags.o Input.o Keyboard.o Layout.o Module.o Video.o Monitor.o Pointer.o Screen.o Vendor.o read.o scan.o write.o DRI.o -L/opt/toolchain/lin32/glibc-2007q3-51/lib -lm -lxml2 -L/opt/toolchain/arm-linux/zlib-1.2.3-3/lib -L/opt/toolchain/arm-linux/freetype-2.3.7/lib -L/opt/toolchain/arm-linux/fontconfig-2.6.0/lib -L/opt/toolchain/arm-linux/libxml2-2.6.32/lib -L/opt/toolchain/arm-linux/ncurses-5.7/lib make[7]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver/hw/xfree86/parser' making all in programs/Xserver/hw/xfree86/scanpci... make[7]: Entering directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver/hw/xfree86/scanpci' rm -f xf86ScanPci.o /opt/toolchain/lin32/gcc-2007q3-51/bin/`echo /opt/toolchain/lin32/gcc-2007q3-51/bin/arm-none-linux-gnueabi-gcc|sed s%.*/%%` -c -O2 -fsigned-char -I. -I../../../../../programs/Xserver/hw/xfree86/common -I../../../../../programs/Xserver/hw/xfree86/os-support -I../../../../../programs/Xserver/hw/xfree86/os-support/bus -I../../../../../programs/Xserver/include -I../../../../../programs/Xserver/os -I../../../../../programs/Xserver/Xext -I../../../../../programs/Xserver/Xi -I../../../../../lib/font/include -I../../../../../programs/Xserver/hw/xfree86/parser -I../../../../../programs/Xserver/hw/xfree86/loader -I../../../../../programs/Xserver/hw/xfree86/rac -I../../../../../exports/include -I/opt/toolchain/lin32/gcc-2007q3-51/lib/gcc/arm-none-linux-gnueabi/4.2.1/include -I/opt/toolchain/arm-linux/zlib-1.2.3-3/include -I/opt/toolchain/arm-linux/freetype-2.3.7/include -I/opt/toolchain/arm-linux/fontconfig-2.6.0/include -I/opt/toolchain/arm-linux/ncurses-5.7/include -I/opt/toolchain/arm-linux/ncurses-5.7/include/ncurses -Dlinux -D__arm__ -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE -DSHAPE -DXINPUT -DXKB -DXAPPGROUP -DXCSECURITY -DXSYNC -DXF86BIGFONT -DDPMSExtension -DBIGREQS -DPANORAMIX -DRENDER -DRANDR -DRES -DPIXPRIV -DNDEBUG -DNEED_STRLCAT -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFree86LOADER -DXFree86Server -DSMART_SCHEDULE-DBUILDDEBUG -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DFUNCPROTO=15 -DNARROWPROTO xf86ScanPci.c arm-none-linux-gnueabi-gcc: Internal error: Killed (program cc1) Please submit a full bug report. See URL:http://gcc.gnu.org/bugs.html for instructions. make[7]: *** [xf86ScanPci.o] Error 1 make[7]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver/hw/xfree86/scanpci' make[6]: *** [all] Error 2 make[6]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver/hw/xfree86' make[5]: *** [all] Error 2 make[5]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver/hw' make[4]: *** [hw] Error 2 make[4]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver' make[3]: *** [all] Error 2 make[3]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs' make[2]: *** [all] Error 2 make[2]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build' make[1]: *** [World] Error 2 make[1]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build' make: *** [World] Error 2 There is something not quite right here, as -O2 is still being passed to the compiler. It almost looks like the Makefile was not regenerated from the modified Imakefile(s). Please send me xc/programs/Xserver/hw/xfree86/scanpci/Makefile (privately, not to the list). Thanks. Marc. +--+--+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and| fax:1-780-492-1729 | |Communications Technologies | email: t...@ualberta.ca | | 352 General Services Building
Re: [XFree86] cross compile xfree86-4.8.0
On Wed, 14 Oct 2009, Marc Aurele La France wrote: On Wed, 14 Oct 2009, john blair wrote: --- On Wed, 10/14/09, Marc Aurele La France t...@ualberta.ca wrote: From: Marc Aurele La France t...@ualberta.ca Subject: Re: [XFree86] cross compile xfree86-4.8.0 To: john blair mailtome200420032...@yahoo.com Cc: XFree86@XFree86.Org Date: Wednesday, October 14, 2009, 8:21 PM On Tue, 13 Oct 2009, john blair wrote: Thanks for the reply Marc. But I don't think code sourcery's arm toolchain (http://www.codesourcery.com/sgpp/lite/arm) consist linux/utsrelease.h file. I end up with the following error: imakemdep.h:835:34: error: linux/utsrelease.h: No such file or directory No mainline kernel source tarball contains include/linux/version.h, nor include/linux/utsrelease.h. They are both generated by the kernel build process, but the latter only after 2.6.17. But the version.h included here advertises a kernel version of 2.6.29. See ... http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=63104eec234bdecb55fd9c15467ae00d0a3f42ac Therefore, the toolchain tarball was misgenerated in that it does not also contain utsrelease.h. Likely an oversight. Please report this problem to CodeSourcery and see what they say. This is the reply I got from code sourcery My Debian desktop system also has linux/version.h but no utsrelease.h. I also checked upstream GIT kernel sources, and while both headers are built only version.h is installed (include/linux/Kbuild:objhdr-y). CodeSourcery's current tools use the recommended make headers_install to distribute kernel headers. Are you trying to build a userspace server or a kernel module? utsrelease.h might be available for kernel modules, which require a build tree. http://www.codesourcery.com/archives/arm-gnu/msg02922.html Hummm. That's a good point. Looking deeper, this string isn't even used, nor is it generated in the non-cross-compile case. I'll get back to you. Please use the following instead of the previous change ... *** cvs/xc/config/imake/imakemdep.h Mon Jun 11 08:30:00 2007 --- devel/xc/config/imake/imakemdep.h Thu Oct 15 09:56:47 2009 *** char *cpp_argv[ARGUMENTS] = { *** 831,837 # if defined(linux) defined (CROSSCOMPILE_CPP) # define CROSS_UTS_SYSNAME Linux # include linux/version.h ! # define CROSS_UTS_RELEASE UTS_RELEASE # endif # elif defined(__CYGWIN__) # define DEFAULT_OS_MAJOR_REVr %[0-9] --- 831,839 # if defined(linux) defined (CROSSCOMPILE_CPP) # define CROSS_UTS_SYSNAME Linux # include linux/version.h ! # ifdef UTS_RELEASE ! #define CROSS_UTS_RELEASE UTS_RELEASE ! # endif # endif # elif defined(__CYGWIN__) # define DEFAULT_OS_MAJOR_REVr %[0-9] This will cause the release string to be nullified, which is what would happen with other cross-compilation environments that don't provide release information (or, for that matter, other `uname` strings). Marc. +--+--+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and| fax:1-780-492-1729 | |Communications Technologies | email: t...@ualberta.ca | | 352 General Services Building +--+ | University of Alberta | | | Edmonton, Alberta |Standard disclaimers apply| | T6G 2H1 | | | CANADA | | +--+--+
Re: [XFree86] cross compile xfree86-4.8.0
On Thu, 15 Oct 2009, john blair wrote: --- On Thu, 10/15/09, Marc Aurele La France t...@ualberta.ca wrote: Please use the following instead of the previous change ... *** cvs/xc/config/imake/imakemdep.h Mon Jun 11 08:30:00 2007 --- devel/xc/config/imake/imakemdep.h Thu Oct 15 09:56:47 2009 *** char *cpp_argv[ARGUMENTS] = { *** 831,837 # if defined(linux) defined ?? (CROSSCOMPILE_CPP) # define CROSS_UTS_SYSNAME Linux # include linux/version.h ! # define CROSS_UTS_RELEASE UTS_RELEASE # endif # elif defined(__CYGWIN__) # define DEFAULT_OS_MAJOR_REV ?? r %[0-9] --- 831,839 # if defined(linux) defined ?? (CROSSCOMPILE_CPP) # define CROSS_UTS_SYSNAME Linux # include linux/version.h ! # ifdef UTS_RELEASE ! # define CROSS_UTS_RELEASE UTS_RELEASE ! # endif # endif # elif defined(__CYGWIN__) # define DEFAULT_OS_MAJOR_REV ?? r %[0-9] This will cause the release string to be nullified, which is what would happen with other cross-compilation environments that don't provide release information (or, for that matter, other `uname` strings). Thanks for the quick reply and patch Marc. Your patch fixes the UTS_RELEASE issue. There is another issue I am facing during the compilation: fbdevhw.c: In function 'calculateFbmem_len': fbdevhw.c:548: error: 'PAGE_MASK' undeclared (first use in this function) fbdevhw.c:548: error: (Each undeclared identifier is reported only once fbdevhw.c:548: error: for each function it appears in.) fbdevhw.c: In function 'fbdevHWMapVidmem': fbdevhw.c:575: error: 'PAGE_MASK' undeclared (first use in this function) fbdevhw.c: In function 'fbdevHWMapMMIO': fbdevhw.c:620: error: 'PAGE_MASK' undeclared (first use in this function) fbdevhw.c: In function 'fbdevHWUnmapMMIO': fbdevhw.c:644: error: 'PAGE_MASK' undeclared (first use in this function) make[7]: *** [fbdevhw.o] Error 1 make[7]: Leaving directory `/opt/toolchain/src/xfree86-4.8.0/build/programs/Xserver/hw/xfree86/fbdevhw' The contents of asm/page.h for code sourcery toolchain (the later versions of toolchain do not even have asm/page.h)is #ifndef _ASMARM_PAGE_H #define _ASMARM_PAGE_H #endif Please try the attached. Marc. +--+--+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and| fax:1-780-492-1729 | |Communications Technologies | email: t...@ualberta.ca | | 352 General Services Building +--+ | University of Alberta | | | Edmonton, Alberta |Standard disclaimers apply| | T6G 2H1 | | | CANADA | | +--+--+ XFree86 developer and VP. ATI driver and X server internals. fbdevhw.diff.gz Description: GNU Zip compressed data
Re: [XFree86] cross compile xfree86-4.8.0
On Wed, 14 Oct 2009, john blair wrote: --- On Wed, 10/14/09, Marc Aurele La France t...@ualberta.ca wrote: From: Marc Aurele La France t...@ualberta.ca Subject: Re: [XFree86] cross compile xfree86-4.8.0 To: john blair mailtome200420032...@yahoo.com Cc: XFree86@XFree86.Org Date: Wednesday, October 14, 2009, 8:21 PM On Tue, 13 Oct 2009, john blair wrote: Thanks for the reply Marc. But I don't think code sourcery's arm toolchain (http://www.codesourcery.com/sgpp/lite/arm) consist linux/utsrelease.h file. I end up with the following error: imakemdep.h:835:34: error: linux/utsrelease.h: No such file or directory No mainline kernel source tarball contains include/linux/version.h, nor include/linux/utsrelease.h. They are both generated by the kernel build process, but the latter only after 2.6.17. But the version.h included here advertises a kernel version of 2.6.29. See ... http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=63104eec234bdecb55fd9c15467ae00d0a3f42ac Therefore, the toolchain tarball was misgenerated in that it does not also contain utsrelease.h. Likely an oversight. Please report this problem to CodeSourcery and see what they say. This is the reply I got from code sourcery My Debian desktop system also has linux/version.h but no utsrelease.h. I also checked upstream GIT kernel sources, and while both headers are built only version.h is installed (include/linux/Kbuild:objhdr-y). CodeSourcery's current tools use the recommended make headers_install to distribute kernel headers. Are you trying to build a userspace server or a kernel module? utsrelease.h might be available for kernel modules, which require a build tree. http://www.codesourcery.com/archives/arm-gnu/msg02922.html Hummm. That's a good point. Looking deeper, this string isn't even used, nor is it generated in the non-cross-compile case. I'll get back to you. Thanks. Marc. +--+--+ | Marc Aurele La France | work: 1-780-492-9310 | | Academic Information and| fax:1-780-492-1729 | |Communications Technologies | email: t...@ualberta.ca | | 352 General Services Building +--+ | University of Alberta | | | Edmonton, Alberta |Standard disclaimers apply| | T6G 2H1 | | | CANADA | | +--+--+