Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 64618 - Undefined symbols in xorg-x11 drivers
Summary: Undefined symbols in xorg-x11 drivers
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords: Inclusion
Depends on:
Blocks:
 
Reported: 2004-09-19 04:29 UTC by psk
Modified: 2004-12-21 17:56 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
gcc-3.4.2-hardened-ia32.specs (gcc-3.4.2-hardened-ia32.specs,4.51 KB, patch)
2004-09-19 18:56 UTC, solar (RETIRED)
Details | Diff
hardened-dlloader-nonow-1.patch (hardened-dlloader-nonow-1.patch,1.23 KB, patch)
2004-09-28 16:43 UTC, Adam Jackson
Details | Diff
hardened-dlloader-nonow-2.patch (hardened-dlloader-nonow-2.patch,1.52 KB, patch)
2004-09-28 17:34 UTC, Adam Jackson
Details | Diff
hardened-dlloader-nonow-3.patch (hardened-dlloader-nonow-3.patch,1.50 KB, patch)
2004-09-28 19:37 UTC, solar (RETIRED)
Details | Diff
hardened-dlloader-nonow-4.patch (hardened-dlloader-nonow-4.patch,1.52 KB, patch)
2004-09-28 19:54 UTC, Adam Jackson
Details | Diff
dlloader patch that hopefully applies cleanly here? (hardened4.patch,1.63 KB, patch)
2004-09-28 23:22 UTC, Scott Taylor (RETIRED)
Details | Diff
woohoo! ebuild! (xorg-x11-6.8.0-r1.ebuild.patch,578 bytes, patch)
2004-09-29 08:18 UTC, Scott Taylor (RETIRED)
Details | Diff
../xorg-x11-6.8.0-r1.ebuild.diff (xorg-x11-6.8.0-r1.ebuild.diff,2.46 KB, patch)
2004-09-30 17:35 UTC, solar (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description psk 2004-09-19 04:29:43 UTC
I've got undefined symbols in every drivers tested in xorg.
I've tested :
   - vga
   - vesa
   - ati
   - fbdev

Reproducible: Always
Steps to Reproduce:
startx
Actual Results:  
startx

X Window System Version 6.8.0
Release Date: 8 September 2004
X Protocol Version 11, Revision 0, Release 6.8
Build Operating System: Linux 2.6.8-ck7 i686 [ELF] 
Current Operating System: Linux khanybox 2.6.8-ck7 #4 Sat Sep 18 10:18:39 Local
time zone must be set--see zic manu i686
Build Date: 19 September 2004
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sun Sep 19 15:10:24 2004
(==) Using config file: "/etc/X11/xorg.conf"

Using vt 7
dlopen: /usr/X11R6/lib/modules/drivers/vga_drv.so: undefined symbol: vgaHWUnmapMem
(EE) Failed to load /usr/X11R6/lib/modules/drivers/vga_drv.so
(EE) Failed to load module "vga" (loader failed, 7)
(EE) No drivers available.

Fatal server error:
no screens found

Please consult the The X.Org Foundation support 
         at http://wiki.X.Org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.


Expected Results:  
X start

ldd /usr/X11R6/lib/modules/drivers/vga_drv.so
statically linked


emerge info
Portage 2.0.51_rc1 (default-x86-2004.2, gcc-3.4.1, glibc-2.3.4.20040808-r0,
2.6.8-ck7 i686)
=================================================================
System uname: 2.6.8-ck7 i686 AMD Athlon(tm) XP 3000+
Gentoo Base System version 1.5.3
distcc 2.17 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe -fPIC -mfpmath=sse -msse -mmmx -m3dnow
-fomit-frame-pointer -falign-functions=32"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fPIC -mfpmath=sse -msse -mmmx -m3dnow
-fomit-frame-pointer -falign-functions=32"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache cvs distcc sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex GAPING_SECURITY_HOLE X X509 aac aalib accessibility acpi
acpi4linux aim alsa amd apache1 apache2 apm arts artswrappersuid async atm
audiofile avi berkdb bitmap-fonts bluetooth bonobo bootsplash bzlib c++ cairo
calendar cap caps cddb cdf cdinstall cdparanoia cdr cdrom cgi chroot clamav
clanJavaScript codecs cpdflib crypt cscope ctype cups curl curlwrappers cyrus
dba dbase dbcp dbm devfs devfs26 devmap dga dio directfb distcache distribution
divx4linux djbfft dlloader dmx dts dv dvb dvd dvdr dvdread edl encode erandom
escreen etwin exif exim ext-png ext-zlib extensions faac faad fam fbcon fbdev
ffmpeg flac fluidsynth foomaticdb foreign-package foreign-sysvinit freetype fs
ftp fusion gamma gatos gdbm ggi gif gimp gimpprint glade glgd gphoto2 gpm gps
gtk gtk2 gtkhtml hardened hbci hdf hdf5 i8x0 icq ide idea imagemagick imap
imlib2 inifile ipv6 irda irmc jabber java javacomm javamail javascript jbig
jboss jce jikes jit jmx joystick jp2 jpeg jta justify kde lesstif libcaca libg++
libgda libwww lirc lm_sensors lufsusermount lzo lzw lzw-tiff m17n-lib mad
mailbox maildir maildrop matroska mbox mbrola mcal mcve md5sum mdb mecab
memlimit messages mhash mikmod milter mime mmap mmx mmx2 mng monkey mono motif
mozcalendar mozctl mozdevelop mozilla mozp3p mozsvg mp3 mpeg mpeg4 mpi mplayer
msn mysql nas ncurses net network neural nntp ntlm nvidia oav ofx oggvorbis
ooo-kde openal opengl openssh oscar oss pam parse-clocks pcap pcntl pcre pda pdf
pdflib pear-db perl php physfs pic pie png pnp portaudio posix procmail pthreads
python qt quicktime quotes radeon radius rage128 readline recode rhino rtc samba
sdl serial servlet-2.4 sftplogging shaper shared sharedmem simplexml slang slp
smartcard sndfile snmp soap sockets socks5 spamassassin speedo speex spell sse
sse2 ssl stencil-buffer subject-rewrite svg svga sysvipc szip tcltk tcpd tga
theora threads tidy tiff timidity tokenizer transcode truetype type1 uim uml
unicode usb userlocales uudeview v4l v4l2 vda vhosts videos vim virus-scan vnc
wifi wsconvert wxwin wxwindows x86 xbase xforms xfs xgetdefault xine xinerama
xml xml2 xmlrpc xmms xpm xprint xsl xv xvid yahoo yv12 zlib zvbi"
Comment 1 psk 2004-09-19 04:32:11 UTC
I've tryed to recompile with :
no distcc
USE="" CFLAGS="" CXXFLAGS=""

Same problem.
Comment 2 Adam Jackson 2004-09-19 08:12:59 UTC
something is breaking the expected libdl behaviour.  the error message is coming from libdl, and on my system (dlloader -hardened -pic -pie) these drivers all work fine.  not an X bug as such, then.

reporter, please attach the output of 'nm /usr/X11R6/lib/modules/drivers/vga_drv.so | grep vgaHW'.

hardened people, what gives?  the X drivers should all be weak data ref free, but that's exactly what this bug looks like.
Comment 3 psk 2004-09-19 08:32:51 UTC
Here is the output of nm /usr/X11R6/lib/modules/drivers/vga_drv.so | grep vgaHW

nm /usr/X11R6/lib/modules/drivers/vga_drv.so | grep vgaHW
         U vgaHWBlankScreen
         U vgaHWDPMSSet
         U vgaHWFreeHWRec
         U vgaHWGetHWRec
         U vgaHWGetIndex
         U vgaHWGetIOBase
         U vgaHWHandleColormaps
         U vgaHWHBlankKGA
         U vgaHWInit
         U vgaHWLock
         U vgaHWMapMem
         U vgaHWProtect
         U vgaHWRestore
         U vgaHWSave
         U vgaHWSaveScreen
         U vgaHWUnlock
         U vgaHWUnmapMem
Comment 4 psk 2004-09-19 08:41:50 UTC
I'm on the way toi recompile libc
Here are USE options that I'm using

emerge -vbp libc

These are the packages that I would merge, in order:

Calculating dependencies  ...done!
[ebuild   R   ] sys-libs/glibc-2.3.4.20040808  -build -debug +erandom +hardened -makecheck -multilib -nls -nptl +pic +userlocales 0 kB 
Comment 5 Adam Jackson 2004-09-19 08:50:36 UTC
that nm output looks exactly the same as on my system, so i'm blaming libdl.
Comment 6 psk 2004-09-19 09:37:02 UTC
Still same pb after two compilations (with and without "userlocales")
Comment 7 solar (RETIRED) gentoo-dev 2004-09-19 11:09:43 UTC
Just noticed that you say that LD_BIND_NOW does not play along so well here (this may or may not be related).

Outstanding dlloader issues:
- dlloader will not work when LD_BIND_NOW is set.  this is unavoidable until
  we abandon LoadSubModule for link-time dependencies.  you'll get an error
  message about it though.
  Workaround: fix your scripts to clear LD_BIND_NOW before starting X

http://freedesktop.org/~ajax/dlloader-status.txt

The hardened toolchain enables now by default. 
The logic is as follows %{!nonow: -z now}
Note: -Wl,-z,nonow is a hardened option only as the toolchain lacked the functionality.
--------------------------------------------------------------------------------
ajax.. 
Please please let me give you a set of specs to try with the xorg 1 time.
Most of these bugs could probably be resolved in one quick swoop that way.
(just tell me what gcc revision your on)
Comment 8 Adam Jackson 2004-09-19 15:26:42 UTC
dexedrine:~$ gcc --version
gcc (GCC) 3.4.2  (Gentoo Linux 3.4.2-r1, ssp-3.4.1-1, pie-8.7.6.5)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I wasn't aware you could set BIND_NOW behaviour at link time, interesting.  I agree we really should be linking modules against each other rather than screwing around like this, but until we drop elfloader entirely that's not an option upstream.  I can certainly add a dlloader hook for -z nonow in the Imakefiles though.  Would that be acceptable?
Comment 9 solar (RETIRED) gentoo-dev 2004-09-19 18:56:13 UTC
Created attachment 39979 [details, diff]
gcc-3.4.2-hardened-ia32.specs

ajax:
To enable these specs in your gcc.
root@yourbox# cat  gcc-3.4.2-hardened-ia32.specs > $(gcc
-print-file-name=specs)

Build xorg with all the common stuff you would like to get out of 
the way with hardened users.

And to restore your default specs.
root@yourbox# gcc -dumpspecs > $(gcc -print-file-name=specs)

This does not pertain to this exactly but just general good knowledge about
specs in general.
http://dev.gentoo.org/~solar/toolchain/gcc/The_Specs_Language.txt
Comment 10 solar (RETIRED) gentoo-dev 2004-09-19 19:19:34 UTC
Also maybe of interest. A user Adam Mondl (tocharian->freenode) put this together 
this doc a few days ago to help give/set realistic expectations when using 
hardened toolchain and aiming to compile xorg. 
http://www.gentoo.org/proj/en/hardened/hardenedxorg.xml
Comment 11 psk 2004-09-25 17:34:02 UTC
Really better without USE="+dlloader"
But now, I've got a problem with duplicarted symbols in libbitmap.a and libbitmap.a:modmap.
So, I've tryed tu recompile with USE='-bitmaps-fonts' :  same problem.
Any ideas ?
Comment 12 Donnie Berkholz (RETIRED) gentoo-dev 2004-09-25 17:54:53 UTC
Bug #43177
Comment 13 psk 2004-09-26 13:30:54 UTC
I've removed hardened, -fPIC and such things
Still same PB with libbitmap :

startx


X Window System Version 6.8.0
Release Date: 8 September 2004
X Protocol Version 11, Revision 0, Release 6.8
Build Operating System: Linux 2.6.8-ck7 i686 [ELF] 
Current Operating System: Linux khanybox 2.6.8-ck7 #4 Sat Sep 18 10:18:39 Local time zone must be set--see zic manu i686
Build Date: 26 September 2004
        Before reporting problems, check http://wiki.X.Org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Sep 27 00:23:37 2004
(==) Using config file: "/etc/X11/xorg.conf"
Duplicate symbol __i686.get_pc_thunk.bx in /usr/X11R6/lib/modules/fonts/libbitmap.a:bitmapmod.o
Also defined in /usr/X11R6/lib/modules/fonts/libbitmap.a

Fatal server error:
Module load failure


Please consult the The X.Org Foundation support 
         at http://wiki.X.Org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

XIO:  fatal IO error 104 (Connection reset by peer) on X server ":0.0"
      after 0 requests (0 known processed) with 0 events remaining.



emerge info

Portage 2.0.51_rc1 (default-x86-2004.2, gcc-3.4.1, glibc-2.3.4.20040808-r0, 2.6.8-ck7 i686)
=================================================================
System uname: 2.6.8-ck7 i686 AMD Athlon(tm) XP 3000+
Gentoo Base System version 1.5.3
distcc 2.17 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe -mfpmath=sse -msse -mmmx -m3dnow -fomit-frame-pointer -falign-functions=32"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -mfpmath=sse -msse -mmmx -m3dnow -fomit-frame-pointer -falign-functions=32"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache cvs distcc sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex GAPING_SECURITY_HOLE X X509 aac aalib accessibility acpi acpi4linux aim alsa amd apache1 apache2 apm arts artswrappersuid async atm audiofile avi berkdb bitmap-fonts bluetooth bonobo bootsplash bzlib cairo calendar cap caps cddb cdf cdinstall cdparanoia cdr cdrom cgi chroot clamav clanJavaScript codecs cpdflib crypt cscope ctype cups curl curlwrappers cyrus dba dbase dbcp dbm devfs devfs26 devmap dga dio directfb distcache distribution divx4linux djbfft dlopen dmx dts dv dvb dvd dvdr dvdread edl encode erandom escreen etwin exif exim ext-png ext-zlib extensions faac faad fam fbcon fbdev ffmpeg flac fluidsynth foomaticdb foreign-package foreign-sysvinit freetype fs ftp fusion gamma gatos gdbm ggi gif gimp gimpprint glade glgd gphoto2 gpm gps gtk gtk2 gtkhtml hbci hdf hdf5 i8x0 icq ide idea imagemagick imap imlib2 inifile ipv6 irda irmc jabber java javacomm javamail javascript jbig jboss jce jikes jit jmx joystick jp2 jpeg jta justify kde lesstif libcaca libg++ libgda libwww lirc lm_sensors lufsusermount lzo lzw lzw-tiff m17n-lib mad mailbox maildir maildrop matroska mbox mbrola mcal mcve md5sum mdb mecab memlimit messages mhash mikmod milter mime mmap mmx mmx2 mng monkey mono motif mozcalendar mozctl mozdevelop mozilla mozp3p mozsvg mp3 mpeg mpeg4 mpi mplayer msn mysql nas ncurses net network neural nntp ntlm nvidia oav ofx oggvorbis ooo-kde openal opengl openssh oscar oss pam parse-clocks pcap pcntl pcre pda pdf pdflib pear-db perl php physfs pic pie png pnp portaudio posix procmail pthreads python qt quicktime quotes radeon radius rage128 readline recode rhino rtc samba sdl serial servlet-2.4 sftplogging shaper shared sharedmem simplexml slang slp smartcard sndfile snmp soap sockets socks5 spamassassin speedo speex spell sse sse2 ssl stencil-buffer subject-rewrite svg svga sysvipc szip tcltk tcpd tga theora threads tidy tiff timidity tokenizer transcode truetype type1 uim uml unicode usb userlocales uudeview v4l v4l2 vda vhosts videos vim virus-scan vnc wifi wsconvert wxwin wxwindows x86 xbase xforms xfs xgetdefault xine xinerama xml xml2 xmlrpc xmms xpm xprint xsl xv xvid yahoo yv12 zlib zvbi"



nm /usr/X11R6/lib/modules/fonts/libbitmap.a | grep thunk
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx
00000000 T __i686.get_pc_thunk.bx


Any suggestions are welcome.
Comment 14 psk 2004-09-26 14:39:21 UTC
Yes it's working !!!!
Hehe, 1 week and about 30 compilations (including gcc and stb libs)
But it's working now.
Thank you all guys for your help.

The solutions (resumed) for next redears : remove +hardened and +dlloading in USE and recompile GCC then XORG.

Greetings and best regards,

Philippe
Comment 15 Adam Jackson 2004-09-28 16:43:43 UTC
Created attachment 40669 [details, diff]
hardened-dlloader-nonow-1.patch

this adds '-nonow' to the gcc link args everywhere it's needed - namely, the
server itself and all the modules.  should probably only be applied if
USE="hardened dlloader".  fixes the "unresolved symbol" error, and also makes
it so you don't have to sort your Load statements to make X work.

generated against CVS but should apply with some fuzz to 6.8.  please test.
Comment 16 Donnie Berkholz (RETIRED) gentoo-dev 2004-09-28 16:50:57 UTC
Any ideas for how to turn this into an unconditional patch?
Comment 17 Adam Jackson 2004-09-28 17:34:04 UTC
Created attachment 40670 [details, diff]
hardened-dlloader-nonow-2.patch

something like this, with '#define GentooHardenedGccSpecs YES' in host.def. 
it'll be conditional on +hardened either way, since 'gcc -nonow' isn't valid
without the hardened specs; just depends whether you want conditional patches
to the Imakefiles or to host.def.
Comment 18 Donnie Berkholz (RETIRED) gentoo-dev 2004-09-28 17:59:50 UTC
My goal is to get as much of the work and logic into the source and out of the ebuild as possible. Conditional patching has a tendency to break in odd combinations. Over time, when more conditional patches are added, there are a enormously fast-growing number of combinations. It's easier to use the latter solution and go with a host.def #define.
Comment 19 solar (RETIRED) gentoo-dev 2004-09-28 19:37:12 UTC
Created attachment 40678 [details, diff]
hardened-dlloader-nonow-3.patch

This patch is not so much for SSP as it is for general symbol resolution. With
USE=static set this entire patch should really not be applied.

Anyway attached is just an update to patch-2 with a few variable names renamed.

Other distro's are adopting our toolchain (this patch is untested)
Comment 20 Adam Jackson 2004-09-28 19:54:30 UTC
Created attachment 40680 [details, diff]
hardened-dlloader-nonow-4.patch

with USE=static the dynamic module target rules (the bits in Imake.rules) will
never get called anyway.  however we should still do -z now for the static
server build.

this should be safe to apply no matter what the USE flags.
Comment 21 solar (RETIRED) gentoo-dev 2004-09-28 20:20:15 UTC
Damn. this is going to be a pita to test. It's to CVS and not our 6.8.0-r1 (spy got one yet?)

ebuild xorg-x11-6.8.0-r1.ebuild clean setup unpack
cd $(portageq envvar PORTAGE_TMPDIR)/portage/xorg-x11-6.8.0-r1/work/xc
wget -O - -q 'http://bugs.gentoo.org/attachment.cgi?id=40680' | patch --dry -p0
Comment 22 Scott Taylor (RETIRED) gentoo-dev 2004-09-28 23:22:45 UTC
Created attachment 40685 [details, diff]
dlloader patch that hopefully applies cleanly here?

I tried even this at the end of the src_unpack bit of our 6.8.0-r1 but half of
it was still rejected though just whitespace differences as far as i could see
so this patch is an attempt to be exactly like the nonow-4 patch, except to
actually patch cleanly. As such, the following line SHOULD work once its
changed
to whatever attachment number this becomes...

wget -O - -q 'http://bugs.gentoo.org/attachment.cgi?id=40680' | patch -p0
--ignore-whitespace
Comment 23 Scott Taylor (RETIRED) gentoo-dev 2004-09-29 08:18:00 UTC
Created attachment 40712 [details, diff]
woohoo! ebuild!

works for me!
Comment 24 solar (RETIRED) gentoo-dev 2004-09-30 17:35:07 UTC
Created attachment 40819 [details, diff]
../xorg-x11-6.8.0-r1.ebuild.diff

After 9 or so recompiles I managed to get Xorg working with the ajax's -nonow
patch and a bit keyboard banging. 
I had to add a USE flag you can and should(?) add the flag or allow people a
way to disable the building of the glx toys. An unknown toolchain bugs with
libstd++ and gcc-3.4.2 and some _Unwind_blah@GCC_3.3 symbol was getting in the
way despite me reinstalling std++ and just about everything else I could think
of.

Anyway this new USE could be named it to something else like glxtoys or
whatever you want. I chose minimal. I opted to sed the two problem areas right
out of the Imakefile vs using the define it wanted. 
I was told it might yeild results that I perhaps might not want in releation to
DRI if I disabled said define.

lspci | grep -i vga | cut -d ' ' -f 2-
VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev
a1)
Non-VGA unclassified device: 3DLabs Permedia II 2D+3D (rev 01)
VGA compatible controller: 3Dfx Interactive, Inc. Voodoo 3 (rev 01)

+3dfx -3dnow +bitmap-fonts -cjk -debug +dlloader -dmx -doc +hardened
-insecure-drivers -ipv6 +minimal +mmx -nls -pam -sdk +sse -static +xprint

The patch I'm attaching is by no means a secure one as it fetches directly from
this bug #64168 but that did not matter to me so much for my testing.

Now that xorg is installed and working there are a few gotchas. 

Q. One what happened to my fonts(?)
A. No idea. But some things are showing up as little squares vs a known font.
(I don't use xfs and can't be talked into it!)

The PaX flag -M (mprotect/RANDMMAP) does not seem to work or with Xorg causes a
really big slowdown. (may be cuz I'm using nvidia driver)

The PaX flags -SP now work with Xorg. (non-executable stack) but users will
need to remove Xorg - SEGMEXEC/PAGEEXEC exemptions from /etc/init.d/chpax

I need to hit submit on this so I don't have to reexplain everything to a user
on #-hardened.. I'll share what I learn later. 
(oh... two random crashes today that causes me to reboot. My box tends to be
trouble free and non crashing)
Comment 25 Donnie Berkholz (RETIRED) gentoo-dev 2004-10-05 17:52:32 UTC
OK. So I don't want to add solar's last patch to stop building tools, but it'll be a useful resource here til the toolchain bug is fixed.

As for the nonow patch, is that good to go in?
Comment 26 Scott Taylor (RETIRED) gentoo-dev 2004-10-05 17:59:07 UTC
for the first time, ever, i've got all my systems loading the modules, including
GLcore and glx by way of dlloader. it is a thing of beauty. check it in! the
warning in use.local.desc for dlloader can probably be toned down a bit from:

x11-base/xorg-x11:dlloader - USE WITH CARE: Enable dynamic module loader (results in many unresolved symbols)

Comment 27 solar (RETIRED) gentoo-dev 2004-10-05 19:10:48 UTC
Remove this file my xorg-x11-6.8.0-r1.ebuild.diff and add it to ${FILESDIR} or a patchball.
-
+	wget -O - -q 'http://bugs.gentoo.org/attachment.cgi?id=40685' | patch -p0
Comment 28 Donnie Berkholz (RETIRED) gentoo-dev 2004-10-11 02:18:45 UTC
In 6.8.0-r2, patchset 0.2.3
Comment 29 Pankaj Chauhan 2004-12-21 11:46:34 UTC
will this ebuild patch work for xorg-x11-6.8.0-r3.ebuild as well?
Comment 30 Donnie Berkholz (RETIRED) gentoo-dev 2004-12-21 11:54:26 UTC
Don't know for sure till ya try it =)
Comment 31 Pankaj Chauhan 2004-12-21 17:56:58 UTC
The patch doesn't apply to 6.8.0-r1.ebuild itself cleanly. (The first section doesn't apply, where it lists MD5 hashes), others are fine.

Here is what I get.

Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file xorg-x11-6.8.0-r1.ebuild.rej
patching file xorg-x11-6.8.0-r1.ebuild
Hunk #1 succeeded at 23 with fuzz 1.
Hunk #2 succeeded at 320 (offset -10 lines).
Hunk #3 succeeded at 606 (offset -5 lines).