SOS....I was frustrated by cross-compiling a TinyX server
Hi ALL: I was so confusing about the cross compiling process about XFree86 package. I encountered such a weird error message like below. Dose anyone know what the cc1 dose imply? I guess cc1 means a symbolic link so gcc. I make a cc1 symbol link to either arm-linux-gcc and native x86 gcc. None of them bring me out of hell. I started compiling as make World CROSSCOMPILEDIR=blablablabla. My host.def file like below: host.def /* $XFree86: xc/config/cf/cross.def,v 1.3 2002/04/04 14:05:33 eich Exp $ */ /* * This file contains redefinitions of some symbols to enable * cross compilation: e.g. paths for include files and paths to * compiler images. It will have to be edited to reflect these * given your local configuration. */ #define KDriveXServer YES #define TinyXServer YES #define CrossCompiling YES #define TouchScreen YES #undef BuildRandR #define BuildRandR YES #define BuildXInputLib YES #define ProjectRoot /root/TinyX/xc #define Freetype2Dir $(TOP)/extras/freetype2 #define Freetype2LibDir $(TOP)/exports/lib #define BuildXTrueType YES #define BuildScreenSaverExt NO #define BuildScreenSaverLibrary NO #define SharedLibXss YES #define ServerXdmcpDefines #define XfbdevServer YES #define HasZlib NO #define HasPNGlib NO *end of host.def*** And I made the necessary modification on cross.def file to present my host cross-toolchain configuration. The error message like below: **error message dump* Building XFree86 version 4.4.0 (29 February 2004). I hope you checked the configuration parameters in ./config/cf to see if you need to pass BOOTSTRAPCFLAGS. Thu Jun 9 06:05:25 EDT 2005 cd ./config/imake make -f Makefile.ini BOOTSTRAPCFLAGS= CC=cc clean make[1]: Entering directory `/root/TinyX/xc/config/imake' rm -f ccimake imake.o imake rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a tags TAGS make.log \#* rm -f -r Makefile.proto Makefile Makefile.dep bootstrap rm -f imakemdep_cpp.h make[1]: Leaving directory `/root/TinyX/xc/config/imake' make Makefile.boot make[1]: Entering directory `/root/TinyX/xc' cd ./config/imake make -w -f Makefile.ini BOOTSTRAPCFLAGS= CC=cc make[2]: Entering directory `/root/TinyX/xc/config/imake' making imake with BOOTSTRAPCFLAGS= and CROSSCOMPILEFLAGS=-DCROSSCOMPILEDIR=/root/usr/local/arm/3.4.1/arm-linux/bin in config/imake cc -o ccimake -DCROSSCOMPILEDIR=\/root/usr/local/arm/3.4.1/arm-linux/bin\ -O -I../../include -I../../imports/x11/include/X11 ccimake.c if [ -n /root/usr/local/arm/3.4.1/arm-linux/bin ] ; then \ /root/usr/local/arm/3.4.1/arm-linux/bin/cc -E `./ccimake` \ -DCROSSCOMPILE_CPP imakemdep.h imakemdep_cpp.h; \ else touch imakemdep_cpp.h; fi make[2]: Leaving directory `/root/TinyX/xc/config/imake' make[1]: Leaving directory `/root/TinyX/xc' cc: installation problem, cannot exec `cc1': No such file or directory make[2]: *** [imakemdep_cpp.h] Error 1 make[1]: *** [imake.proto] Error 2 make: *** [World] Error 2 ***end of error msg*** If anyone knows what wrong and how to get rid of those mess. Please tell me! Thx in advanced. And please explain me a little bit about the cc, cc1 and what the cross compiling scheme internally..thank you guys very very much Kai @ 10th, Jun, 2005
Re: SOS....I was frustrated by cross-compiling a TinyX server
Hi.. This problem is encountered when u use a script file or spec file to cross compile X Your host is executing the ARM binary...and obviously fails.. To crosscompile - just do the following unpack X4.4.0 sources create host.def and copy to xc/config/cf/ modify cross.def in xc/config/cf to your toolchain path remove xfontsel in xc/programs/Imakefile and then go to xc directory and run $make World CROSSCOMPILEDIR= toolchain bin directory path XCURSORGEN=xcursorgen and subsequently $make install DESTDIR=bla bla bla IF and only if you intend to use spec or scripts.PLEASE READ how to set BOOTSTRAPCFLAGSmost of the stuff mentioned...dosent work.hope someone could tell me which BOOTSTRAPCFLAGS works for X 4.4.0 ARM Cross Compile. Vinod On 6/9/05, Kai.Niu [EMAIL PROTECTED] wrote: Hi ALL: I was so confusing about the cross compiling process about XFree86 package. I encountered such a weird error message like below. Dose anyone know what the cc1 dose imply? I guess cc1 means a symbolic link so gcc. I make a cc1 symbol link to either arm-linux-gcc and native x86 gcc. None of them bring me out of hell. I started compiling as make World CROSSCOMPILEDIR=blablablabla. My host.def file like below: host.def /* $XFree86: xc/config/cf/cross.def,v 1.3 2002/04/04 14:05:33 eich Exp $ */ /* * This file contains redefinitions of some symbols to enable * cross compilation: e.g. paths for include files and paths to * compiler images. It will have to be edited to reflect these * given your local configuration. */ #define KDriveXServer YES #define TinyXServerYES #define CrossCompiling YES #define TouchScreenYES #undef BuildRandR #define BuildRandR YES #define BuildXInputLib YES #define ProjectRoot/root/TinyX/xc #define Freetype2Dir $(TOP)/extras/freetype2 #define Freetype2LibDir$(TOP)/exports/lib #define BuildXTrueType YES #define BuildScreenSaverExtNO #define BuildScreenSaverLibraryNO #define SharedLibXss YES #define ServerXdmcpDefines #define XfbdevServer YES #define HasZlibNO #define HasPNGlib NO *end of host.def*** And I made the necessary modification on cross.def file to present my host cross-toolchain configuration. The error message like below: **error message dump* Building XFree86 version 4.4.0 (29 February 2004). I hope you checked the configuration parameters in ./config/cf to see if you need to pass BOOTSTRAPCFLAGS. Thu Jun 9 06:05:25 EDT 2005 cd ./config/imake make -f Makefile.ini BOOTSTRAPCFLAGS= CC=cc clean make[1]: Entering directory `/root/TinyX/xc/config/imake' rm -f ccimake imake.o imake rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a tags TAGS make.log \#* rm -f -r Makefile.proto Makefile Makefile.dep bootstrap rm -f imakemdep_cpp.h make[1]: Leaving directory `/root/TinyX/xc/config/imake' make Makefile.boot make[1]: Entering directory `/root/TinyX/xc' cd ./config/imake make -w -f Makefile.ini BOOTSTRAPCFLAGS= CC=cc make[2]: Entering directory `/root/TinyX/xc/config/imake' making imake with BOOTSTRAPCFLAGS= and CROSSCOMPILEFLAGS=-DCROSSCOMPILEDIR=/root/usr/local/arm/3.4.1/arm-linux/bin in config/imake cc -o ccimake -DCROSSCOMPILEDIR=\/root/usr/local/arm/3.4.1/arm-linux/bin\ -O -I../../include -I../../imports/x11/include/X11 ccimake.c if [ -n /root/usr/local/arm/3.4.1/arm-linux/bin ] ; then \ /root/usr/local/arm/3.4.1/arm-linux/bin/cc -E `./ccimake` \ -DCROSSCOMPILE_CPP imakemdep.h imakemdep_cpp.h; \ else touch imakemdep_cpp.h; fi make[2]: Leaving directory `/root/TinyX/xc/config/imake' make[1]: Leaving directory `/root/TinyX/xc' cc: installation problem, cannot exec `cc1': No such file or directory make[2]: *** [imakemdep_cpp.h] Error 1 make[1]: *** [imake.proto] Error 2 make: *** [World] Error 2 ***end of error msg*** If anyone knows what wrong and how to get rid of those mess. Please tell me! Thx in advanced. And please explain me a little bit about the cc, cc1 and what the cross compiling scheme internally..thank you guys very very much Kai @ 10th, Jun, 2005 ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel
Live Touchscreen Calibration [WAS: magictouch touch screen driver]
On Tuesday 07 June 2005 16:04, Tristan Van Berkom wrote: Since touchscreen drivers seem to be getting back in style, maybe we should write up some live calibration support ;-) I'm game. I've actually been toying with the idea of doing something like this for the ELO drivers for some time. Before I go charging off and reinventing the wheel, does anything simiklar to this exist already? Ideally, it should be sufficiently generic that any input device that uses absolute coordinates will be able to use it. Cheers! |-| | Frederick F. Gleason, Jr. | Director of Broadcast Software Development | | | Salem Radio Labs| |-| | Easiest Color to Solve on a Rubik's Cube: | |Black. Simply remove all the little colored stickers on the | | cube, and each of side of the cube will now be the original color of| | the plastic underneath -- black. According to the instructions, this | | means the puzzle is solved. | |-- Steve Rubenstein | |-| ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel
Re: Live Touchscreen Calibration [WAS: magictouch touch screen driver]
It would be great if you could add that... what do you mean by live calibration ? It seems to me that calibration should be (mostly) a userland utility, that you do not want to run everytime the Xserver starts. I probably misunderstood what you meant. My only issue currently, is that if resolution changes, the mapping from touchscreen coords to screen coords changes, thus the touchscreen driver should be able to be notified, or query what the actual screen resolution is. The trick mentioned previsously about querying the current modeline would work, but it's a hack... something cleaner (portable, etc.) would be nicer. I admit I do not know the specifics of touchpad/stylus support, but I imagine that is also the only dynamic/live resolution support that would be necessary ? Something like XFGetCurrentMonitorResolution(displayID, width, height) ... BTW, I submitted the source for the magictouch driver on this mailling list, is there any chance it will appear in the XFree86 tree someday ? If a comitter needs changes, fixes to it or has questions, I'll be happy to help as I can. bruno On Thu, 9 Jun 2005, Fred Gleason wrote: On Tuesday 07 June 2005 16:04, Tristan Van Berkom wrote: Since touchscreen drivers seem to be getting back in style, maybe we should write up some live calibration support ;-) I'm game. I've actually been toying with the idea of doing something like this for the ELO drivers for some time. Before I go charging off and reinventing the wheel, does anything simiklar to this exist already? Ideally, it should be sufficiently generic that any input device that uses absolute coordinates will be able to use it. Cheers! ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel
Re: EINTR from open() with smart scheduler
On Wed, 8 Jun 2005, William Waghorn wrote: I've recently been trying to track down a problem where calls to XCreateFontSet unexpectedly fail. It turns out that while the X server process tries to open one of the requested fonts, there's a chance that the open call will fail with the error code EINTR when the new 'Smart Scheduler' is enabled. It is my understanding that code which uses timers must be prepared to retry any system call which can return an EINTR error. The new Smart Scheduler uses setitimer to configure a SIGALRM signal every 20ms. Unfortunately, looking through the source (4.5.0) it would seem few if any calls to open() are retried after an EINTR error. I guess there may be other calls which need to be retried too. Actually, that's already done in a few cases. For examples, `grep` the contents of hw/xfree86/os-support for SYSCALL. A patch for something similar in Xserver/os and Xserver/dix would probably be accepted. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 developer and VP. ATI driver and X server internals. ___ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel