I would like to report two problems compiling and installing 
version 4.1.0 of XFree86 on a Linux system. The build and target 
system I am using is running on an Intel i686 (pentium II)
processor. I am running kernel version 2.4.17, using libc6 
(GNU glibc 2.2.4), and using GNU gcc 2.95.3 and GNU binutils 
version 2.11.2 (which was identified as version 3.1 by the build 
scripts). 

I am not subscribed to any of the mailing lists, so please
CC: me on any replies, comments, questions, flames, etc. - I took 
a QUICK look through the xpert archives and did not see this
same problem reported (so please just ignore if this is a
known issue). I apologize for the length of this message,
but I was not sure exactly what info would be needed. If
there is additional info needed, please let me know. Also,
If I should not be posting this to xpert - let me know and 
I will refrain from doing so in future.

The first problem was compiling "sis_alloc.c" when running 
"make install" after successfully running "make World". I
captured the output of running "make install" and the following
is the error messages from when it failed:

> make[5]: Leaving directory `/usr/src/build/xc/lib/GL/mesa/src/drv/radeon'
> installing in lib/GL/mesa/src/drv/sis...
> make[5]: Entering directory `/usr/src/build/xc/lib/GL/mesa/src/drv/sis'
> rm -f sis_alloc.o
> gcc -c -O3  -march=i686  -I../../../../../../exports/include/X11 
>-I../../../../../../include/extensions -I../../../../../../extras/Mesa/src 
>-I../../../../../../extras/Mesa/include             
>-I../../../../../../lib/GL/mesa/src/drv/common 
>-I../../../../../../lib/GL/mesa/src/drv/sis -I../../../../../../lib/GL/dri 
>-I../../../../../../lib/GL/glx                -I../../../../../../exports/include 
>-I../../../../../../exports/include/GL              
>-I../../../../../../lib/GL/mesa/dri             
>-I../../../../../../programs/Xserver/GL/dri             
>-I../../../../../../programs/Xserver/hw/xfree86/os-support              
>-I../../../../../../programs/Xserver/hw/xfree86/drivers/sis             
>-I../../../../../../lib/GL/dri/drm              -I../../../../../../lib/GL/mesa/src/X 
> -I../../../../../.. -I../../../../../../exports/include  -Dlinux -D__i386__ 
>-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE 
>-D_SVID_SOURCE  -D_GNU_SOURCE   -DFUNCPROTO=15 -DNARROWP!
ROTO -DXTHREADS  -D_REENTRANT -DXUSE_MTSAFE_API    -DMALLOC_0_RETURNS_NULL -DGLXEXT 
-DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA  -DSIS_USE_HW_CULL 
-DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_KATMAI_ASM                  
-DSIS_STEREO=0   sis_alloc.c
> sis_alloc.c: In function `sis_alloc_fb':
> sis_alloc.c:124: `SIS_IOCTL_FB_ALLOC' undeclared (first use in this function)
> sis_alloc.c:124: (Each undeclared identifier is reported only once
> sis_alloc.c:124: for each function it appears in.)
> sis_alloc.c: In function `sis_free_fb':
> sis_alloc.c:154: `SIS_IOCTL_FB_FREE' undeclared (first use in this function)
> sis_alloc.c: In function `sis_alloc_agp':
> sis_alloc.c:197: `SIS_IOCTL_AGP_ALLOC' undeclared (first use in this function)
> sis_alloc.c: In function `sis_free_agp':
> sis_alloc.c:224: `SIS_IOCTL_AGP_FREE' undeclared (first use in this function)
> make[5]: *** [sis_alloc.o] Error 1
> make[5]: Leaving directory `/usr/src/build/xc/lib/GL/mesa/src/drv/sis'
> make[4]: *** [install] Error 2
> make[4]: Leaving directory `/usr/src/build/xc/lib/GL/mesa/src/drv'
> make[3]: *** [install] Error 2
> make[3]: Leaving directory `/usr/src/build/xc/lib/GL'
> make[2]: *** [install] Error 2
> make[2]: Leaving directory `/usr/src/build/xc/lib'
> make[1]: *** [install] Error 2
> make[1]: Leaving directory `/usr/src/build/xc'
> make: *** [install] Error 2


To correct the problem, I had to make a minor change to the file 
"drm.h" included in as "lib/GL/dri/drm/drm.h" which is actually a 
symbolic link to 
"programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm.h"
The following is the output of running "diff old-drm.h drm.h"

486c486
< #ifdef CONFIG_DRM_SIS 
---
> /* #ifdef CONFIG_DRM_SIS */
496c496
< #endif
---
> /* #endif */


All I did was comment out the "#ifdef" and correspondig "#endif"
statement that may not have been evaluating properly. After making 
this change, the "sis_alloc.c" file compiled without any warning messages.

The second problem also occured during the "make install" phase of 
the build. The file that would not compile was "xf86drmSiS.c" located in
"programs/Xserver/hw/xfree86/os-support/linux/drm/xf86drmSiS.c"
Again, below is the output of "make install" where it failed:

> making all in programs/Xserver/hw/xfree86...
> make[4]: Entering directory `/usr/src/build/xc/programs/Xserver/hw/xfree86'
> making all in programs/Xserver/hw/xfree86/os-support...
> make[5]: Entering directory 
>`/usr/src/build/xc/programs/Xserver/hw/xfree86/os-support'
> making all in programs/Xserver/hw/xfree86/os-support/linux...
> make[6]: Entering directory 
>`/usr/src/build/xc/programs/Xserver/hw/xfree86/os-support/linux'
> making all in programs/Xserver/hw/xfree86/os-support/linux/drm...
> make[7]: Entering directory 
>`/usr/src/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm'
> rm -f xf86drmSiS.o
> gcc -c -O3 -march=i686   -I../../../../../../../programs/Xserver/hw/xfree86/common 
>-I../../../../../../../programs/Xserver/hw/xfree86/os-support -I. 
>-I../../../../../../../programs/Xserver/include            
>-I../../../../../../../exports/include/X11 -I../../../../../../../include/extensions 
>-I../.. -Ikernel  -I../../../../../../.. -I../../../../../../../exports/include  
>-Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE 
>-D_BSD_SOURCE -D_SVID_SOURCE  -D_GNU_SOURCE  -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP 
>-DXCSECURITY -DTOGCUP  -DXF86BIGFONT -DDPMSExtension  -DPIXPRIV -DPANORAMIX  -DRENDER 
>-DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension 
>-DXFree86LOADER  -DXFree86Server -DXF86VIDMODE  -DSMART_SCHEDULE -DBUILDDEBUG 
>-DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG  -DFUNCPROTO=15 -DNARROWPROTO  -DIN_MODULE 
>-DXFree86Module -DHAS_MTRR_SUPPORT -DGLXEXT -DXF86DRI -DGLX_DIRECT_RENDERING 
>-DGLX_USE_DLOPEN -DGLX_USE_MESA   xf86drmSiS.c
> xf86drmSiS.c: In function `drmSiSAgpInit':
> xf86drmSiS.c:52: `drm_sis_agp_t' undeclared (first use in this function)
> xf86drmSiS.c:52: (Each undeclared identifier is reported only once
> xf86drmSiS.c:52: for each function it appears in.)
> xf86drmSiS.c:52: parse error before `agp'
> xf86drmSiS.c:54: `agp' undeclared (first use in this function)
> make[7]: *** [xf86drmSiS.o] Error 1
> make[7]: Leaving directory 
>`/usr/src/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm'
> make[6]: *** [all] Error 2
> make[6]: Leaving directory 
>`/usr/src/build/xc/programs/Xserver/hw/xfree86/os-support/linux'
> make[5]: *** [linux] Error 2
> make[5]: Leaving directory `/usr/src/build/xc/programs/Xserver/hw/xfree86/os-support'
> make[4]: *** [all] Error 2
> make[4]: Leaving directory `/usr/src/build/xc/programs/Xserver/hw/xfree86'
> make[3]: *** [hw/xfree86] Error 2
> make[3]: Leaving directory `/usr/src/build/xc/programs/Xserver'
> make[2]: *** [install] Error 2
> make[2]: Leaving directory `/usr/src/build/xc/programs'
> make[1]: *** [install] Error 2
> make[1]: Leaving directory `/usr/src/build/xc'
> make: *** [install] Error 2

The change to this file was to include an additional header file "sis_drm.h" 
which was not included in the original file. Again, below is the output
of running "diff old-xf86drmSiS.c xf86drmSiS.c" 

47a48
> #include "sis_drm.h"

After making this change - "make install" process worked fine, and
I now have X windows on my machine and working. Now to find a 
window manager other than twm .............. (but I digress)

Also. below is my "site.def" file used for building XFree86 4.1.0


> XCOMM site:  $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $
> 
> /***************************************************************************
>  *                                                                         *
>  *                         SITE-SPECIFIC DEFINITIONS                       *
>  *                                                                         *
>  * This file contains two halves, one included before the vendor-specific  *
>  * configuration file (.cf file), and one included after the .cf file.     *
>  * The before-half should be protected by #ifdef BeforeVendorCF, and the   *
>  * after-half should be protected by #ifdef AfterVendorCF.                 *
>  *                                                                         *
>  * The before-half should only set things that the .cf file depends on.    *
>  * For the .cf files shipped in this release, the main variables in this   *
>  * category are HasGcc, HasGcc2, HasCplusplus, OSMajorVersion,             *
>  * OSMinorVersion, and OSTeenyVersion.                                     *
>  *                                                                         *
>  * The after-half should contain all other definitions.  For example,      *
>  * place your ProjectRoot definition here.                                 *
>  *                                                                         *
>  * OS Major and Minor version numbers should be changed directly in the    *
>  * .cf file, not overridden in site.def.                                   *
>  *                                                                         *
>  ***************************************************************************/
> XCOMM site:  $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $
> 
> /* if you want host-specific customization, this is one way to do it */
> /*
> #ifndef SiteIConfigFiles
> #define SiteIConfigFiles $(IRULESRC)/host.def
> #define LocalConfigFiles host.def
> #endif
> */
> 
> 
> #ifdef BeforeVendorCF
> 
> #if defined(NetBSDArchitecture) && defined(Arm32Architecture)
> /*
>  * Our kernel is 1.2C, but at user-level we're still 1.2 -JJK
>  */
> #define OSTeenyVersion 0
> 
> /*
>  * This causes a problem with the X server, so I'm disabling it for now. -JJK
>  */
> #define BuildXKB              NO
> #endif
> 
> /*
>  * Include this for easy XFree86 customisations
>  */
> #ifndef SiteIConfigFiles
> #define SiteIConfigFiles $(IRULESRC)/xf86site.def $(IRULESRC)/host.def
> #endif
> 
> #include <host.def>
> 
> #include <xf86site.def>
> 
> /* On systems where cpp doesn't expand correctly macros in include directives
>  * the two following macros need to be defined directly (where "X11" is
>  * really whatever the TopLevelProject macro is defined to be).
>  */
> # if defined(AIXArchitecture) || defined(SVR4Architecture) || \
>      defined(SCOArchitecture) || defined(Win32Architecture) || \
>      defined(UXPArchitecture) || defined(SunArchitecture) || \
>      defined(DynixPtxArchitecture) || defined(i386IscArchitecture)
> #  ifndef ProjectRulesFile
> #   define ProjectRulesFile     <X11.rules>
> #  endif
> #  ifndef ProjectTmplFile
> #   define ProjectTmplFile      <X11.tmpl>
> #  endif
> # endif
> 
> /*
> #ifndef HasGcc2
> #define HasGcc2 YES
> #endif
> */
> 
> #endif /* BeforeVendorCF */
> 
> #ifdef AfterVendorCF
> 
> #define LinuxDistribution LinuxUnknown
> 
> #define DefaultCDebugFlags -O3
> #define DefaultCCOptions -march=i686
> 
> #ifndef ProjectRoot
> #define ProjectRoot /usr/X11R6
> #endif
> 
> /*
>  * On some platforms, some things may be installed outside of ProjectRoot
>  * by default.  To disable this, uncomment the following line.
>  *
> #define NothingOutsideProjectRoot YES
>  */
> 
> /*
>  * Set EtcX11Directory if you want config file links installed under
>  * ProjectRoot rather than in /etc/X11.  See also HasVarDirectory,
>  * UseEtcX11 and UseSeparateConfDir.
>  *
> #define EtcX11Directory ProjectRoot/etc
>  */
> 
> /* 1-12-2002 - twg
>  * tell imake/make to overwrite the xdm config files - ok */
> #define InstallXdmConfig YES
> 
> /* Only set HasXdmAuth to YES if you have a Wraphelp.c file. */
> /* #define HasXdmAuth YES */
> 
> /*
> #if defined(SunArchitecture) && defined(SparcArchitecture)
> #define HasCodeCenter   YES
> #ifndef SVR4Architecture
> #define HasTestCenter   YES
> #endif
> #endif
> */
> 
> /*
> #ifdef __hp9000s800
> #define HasCodeCenter   YES
> #endif
> */
> 
> /*
> #if defined(SunArchitecture) && defined(SparcArchitecture) && 
>!defined(SVR4Architecture)
> #define HasPurify       YES
> #endif
> */
> 
> /*
> #define HasSentinel     YES
> */
> 
> /*
> #undef DefaultUserPath
> #define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/local/bin
> */
> 
> 
> /* You do NOT need SetUID if you only run the server under xdm */
> /* You MAY need SetUID if users run the server by hand or under xinit */
> /* Consult your system administrator before making the X server setuid */
> /*
> #if defined(SunArchitecture) && OSMajorVersion > 4
> #define InstallXserverSetUID YES
> #endif
> */
> 
> /* You do NOT need SetUID if you only run the server under xdm */
> /* You MAY need SetUID if users run the server by hand or under xinit */
> /* Consult your system administrator before making the X server setuid */
> /*
> #ifdef XFree86Version
> #define InstallXserverSetUID YES
> #endif
> */
> 
> #include <host.def>
> 
> #endif /* AfterVendorCF */
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to