Description
debguy
2014-11-28 06:31:24 UTC
Created attachment 110154 [details]
simple script, simple list, tested to be ordered and versioned
sh script has exact list of pkg versions, build order known to work, simple list
Created attachment 110155 [details]
set of patch(1)'s, script applies before building
script has writeup of what they are
and of course they're plain text you can see changes they make by looking
not much, sdksyms.sh aside: that's a total rework
sdksyms.sh was a total rework, allot of work the original: 1) old had added XV syms when option XV was false # include "xv.h" (to mess with XV) #include "xv.h" 2) i then had to go fix configure.ac so ./configure --with-XV (or disable) actually did something (ie, so #if XV works) 3) whoever wrote sdksyms.sh was smart but HARDLY KNOWS THE AWK LANGUAGE 4) getting: (void *) &CheckExtension, (void *) &GetExtensionEntry, (void *) &void, (void *) &void, (void *) &void, of course stops build. void return (not K&R C doesn't have void) means that C should magic take care of the stack. while K&R allowed it, and let you access the stack without using asm too (new C gives you bogus error telling you you cant return without popping stack. you can. that's a bogus message you can and possibly wanted to.). void is stack return. as "a width and location of memory, a cpu instruction" it's a real error. -------detour------------ i've written a C parser (a dependancy sorter, and tot. dep. ord. dpkg installer/remover) bnf2xml. C code -> BNF(parser rules) -> XML tagged C which unlike gcc bison is never ambiguous (dont' clap yet due to recursive design it's slower on many things but for complicated tasks worse than C++, it's all u got that goes right from BNF rules to XML markup) 4) sdksyms.sh I GUARANTEE was trying to parse C with just awk - believe me you can't luckily you found me in a good mood :) i wanted to use bnf2xml but to keep others happy not trying to push a binary into X, i made it work it was a "B" but i think works very well now (IT FINDS 129 symbols that progs may well need the other didn't AND SHOULD KEEP OUT ones that stop build that shouldn't be there) and it's preety fast. no notice on build speed. i applied the above. i didnt' test the script well. but i did the whole process 3x from fresh. i have a server that works, has all goodies on x.org + xterm + cairo, no video glitches. running X login using xdm as if it were pre-packages (or better, for one thing fonts are not buggy and showing nicely! thank you Keith !) omission. i said "debian sarge" - that old sarge compiled it all in order (with patches applied) with no stop, backports nices. however the kernel was updated a couple years back 2.6.3+ and has (newish) drm/X support which work on a different host running nearly the same X11R7.6 on a newer debian, the build tools (gcc) though appear from sarge. i also may have said for certain audience: run ldconfig after all is installed and your really ready to not have old X working (until you switch dirs back or have gotten new xorg configured) dang all that work on xterm patch (unlike others xterm patch allow Xft is optional) i never added it to end of build list. ugh! Created attachment 110164 [details]
simple script, simple list, tested to be ordered and versioned
downloads, wget, depends list of known good versions from x.org (mostly, except depends that aren't on there)
mkdir xorg/ ; mv all dl's into xorg/
apply patches ; autoconf if need be
contains simple list of build (known good) by hand; full depends list
loops make in list order
finishes up (cp etc) and offers tips todo before running Xorg first time (common "gotcha" to help those who'd later exclaim they see black screen)
Created attachment 110165 [details]
simple script, simple list, tested to be ordered and versioned
marking 1 obsolete. is missing "xterm-312" from end of build list
downloads, wget, depends list of known good versions from x.org (mostly, except depends that aren't on there)
mkdir xorg/ ; mv all dl's into xorg/
apply patches ; autoconf if need be
contains simple list of build (known good) by hand; full depends list
loops make in list order
finishes up (cp etc) and offers tips todo before running Xorg first time (common "gotcha" to help those who'd later exclaim they see black screen)
Created attachment 110166 [details]
simple script, simple list, tested to be ordered and versioned
downloads, wget, depends list of known good versions from x.org (mostly, except depends that aren't on there)
mkdir xorg/ ; mv all dl's into xorg/
apply patches ; autoconf if need be
contains simple list of build (known good) by hand; full depends list
loops make in list order
finishes up (cp etc) and offers tips todo before running Xorg first time (common "gotcha" to help those who'd later exclaim they see black screen)
# last submit had fbdev unmarked, but was in tested builds, likely needed
do go back and build your specific video server + any exotic input devs you have but do it AFTER everything else is up and running (the script you see posted should be able to get+make+install all pkgs listed without any stoppage, but adding "all video+input on x.org" might cause stoppage. feel free to detour the "no stoppage" paradigim) Created attachment 110174 [details]
radeon_cs_gem.c-X11R7.6.patch
Created attachment 110175 [details]
xorg/libdrm-2.4.22/radeon/radeon_cs_gem.c-X11R7.6.patch
Created attachment 110176 [details]
xorg/Mesa-7.8.2/src/mesa/drivers/dri/i915/intel_buffer_objects.c-X11R7.6.patch
Created attachment 110177 [details]
xorg/xorg-server-1.9.3/configure.ac-X11R7.6.patch
Created attachment 110178 [details]
xorg/xorg-server-1.9.3/hw/xfree86/loader/sdksyms.sh-X11R7.6.patch
Created attachment 110179 [details]
xorg/xdm-1.1.10/configure.ac-X11R7.6.patch
Created attachment 110180 [details]
xorg/xterm-312/aclocal.m4-X11R7.6.patch
not req for xterm, but makes Xft work
Created attachment 110181 [details]
xorg/xterm-312/configure.in-X11R7.6.patch
see aclocal.m4 patch
Created attachment 110182 [details]
xorg/xlsclients-1.1.1/xlsclients.c-X11R7.6.patch
again, build stops because ./configure never checks or uses lib options for libfreetype (not even if you have pkg-config or not even from options - though both those should work now)
Created attachment 110183 [details]
xorg/x11perf-1.5.2/configure.ac-X11R7.6.patch
Created attachment 110184 [details]
xorg/xclock-1.0.5/configure.ac-X11R7.6.patch
Created attachment 110185 [details]
xorg/xlogo-1.0.3/configure.ac-X11R7.6.patch
Created attachment 110186 [details] patches-X11R7.6.tar.gz also at http://sourceforge.net/projects/debguyscripts/files/patches-X11R7.6.tar.gz unsure if posting patch.tar.gz is ok so posted as text too Created attachment 110187 [details]
xorg/xorg-server-1.9.3/hw/xfree86/loader/sdksyms.sh-X11R7.6.patch
the first version posted had a debug print line, removed. only if one kept build dir and continually reuse it would they be inconvenienced by the "x1" list file growing. removed.
while reviewing xorg/libdrm-2.4.22/radeon/radeon_cs_gem.c-X11R7.6.patch i saw a goof and re-uploaded it to: http://sourceforge.net/projects/debguyscripts/files/patches-X11R7.6.tar.gz (i don't have this card, hurried, didn't see "~" in orig code so had to refix it) (as i said in discussion in the below, radeon patch is needed if you do not wish to upgrade gcc over a since bithack only present if you upgrade gcc) http://sourceforge.net/projects/debguyscripts/files/get-mk-install-X11R7.6-from-tarballs.sh /** * result is undefined if called with ~0 */ /* __builtin_ctz returns number of trailing zeros. */ /* static uint32_t get_first_zero(const uint32_t n) { return 1 << __builtin_ctz(~n); } */ #include <limits.h> static uint32_t get_first_zero(const uint32_t n) { uint32_t nn, i; nn=n; for(i=0;i<=sizeof(n)*CHAR_BIT-1;++i) { if(!(nn & 1)) return (uint32_t) 1<<i; nn=nn>>1; } return (uint32_t) 0; } /* * oops on first patch rel, code wants a mask for first zero not count * entry: ~1110,0001,trailing0==0,1<<0 is 0001. sorry was hurrying */ *** Bug 86833 has been marked as a duplicate of this bug. *** Created attachment 110237 [details] [review] xorg/libdrm-2.4.22/radeon/radeon_cs_gem.c-X11R7.6.patch did not see a ~ and was hurrying. i don't have this card. excuse me. as it said only is needed if compiling with gcc < 3.4 Created attachment 110238 [details] [review] xorg/xorg-server-1.9.3/hw/xfree86/loader/sdksyms.sh-X11R7.6.patch from last patch posted, just remove a debug print >> "x3" line, otherwise same patch Created attachment 110239 [details]
xorg/xorg-server-1.9.3/hw/xfree86/loader/sdksyms.sh-X11R7.6.patch
remove debug print>>"x3" from patch, otherwise same
Created attachment 110243 [details] [review] xorg/xorg-server-1.9.3/hw/xfree86/loader/sdksyms.sh-X11R7.6.patch to be unobstructive this uses __builtin_ctz orig author called for (if both gcc and have it), uses alternate if not. Created attachment 110245 [details] [review] xorg/xorg-server-1.9.3/hw/xfree86/loader/sdksyms.sh-X11R7.6.patch just removes debug line other patch had left in Created attachment 110247 [details] [review] xorg/libdrm-2.4.22/radeon/radeon_cs_gem.c-X11R7.6.patch this (allows) orig authors __builtin_ctz if gcc and >= 3.4.6, else provides the code (that instead of always providing code what might be missing) Created attachment 110251 [details] [review] xorg/libdrm-2.4.22/radeon/radeon_cs_gem.c-X11R7.6.patch remove comment upon shl from last patch Created attachment 110253 [details] [review] xorg/libdrm-2.4.22/radeon/radeon_cs_gem.c-X11R7.6.patch minor, as to last patch, patchlevel is >= 6 not 60 excuse me, i didn't realize patch comments went on main page Created attachment 110267 [details]
get-mk-install-X11R7.6-from-tarballs.sh
prev upload did not run autoreconf for xterm aclocal.m4, fixed
Created attachment 110270 [details]
get-mk-install-X11R7.6-from-tarballs.sh
as to last upload, tested, found a few minor fixes and removal of old hack thing (script even simpler)
Created attachment 110272 [details]
get-mk-install-X11R7.6-from-tarballs.sh
as to last upload, tested, found a few minor fixes and removal of old hack thing (script even simpler)
libXt-1.0.9 BUG ./configure never checks or sets XTHREADS or USE_POLL ./configure checks POLL and sets POLL only by (libc) existence (it doesn't even compile check it) since the first patch set i found several small additions for building X using either: get-mk-install-X11R7.6-from-tarballs.sh OR build-0.0.7.tar.gz * http://sourceforge.net/projects/debguyscripts/files/patches-X11R7.6-3.tar.gz most of X11R7.6-2 was add. "no header" issues for some video servers. BUT patches-X11R7.6-3 found pkg libXt-1.0.9 (again, from tarball from Xorg) HAS A WELL KNOWN PROBLEM not existing using imake (X11R6 or early X11R7) libXt's automake ./configure never sets XTHREADS or USE_POLL normall this is set by imake X11/lib/X11/config/X11.tmpl (also, if rebuilding, it is missing PKG_ macro) Having the wrong setting can cause strange pauses or worse allow non-re-entrant functions to be re-entered more than likely: wrong setting causes Motif to have strange pauses but at any rate: X11R6 sets it, Xorg had not The issue also applies to compiling Xt programs and libs such as Xm and effects any app running Xm (and or Xt). ie, ddd, panner, etc. For Motif or libXT we need either -DXTHREADS or -DUSE_POLL libXt's configure only checks and sets POLL ((network) file socket poll, which may use mutex in back end) which is wrong if other apps checked and used XTHREADS which uses mutex lock in CPU (client side only maybe?) i assume looking around that despite fd socket poll improvements that "xthreads" is considered better and the default, it was in X11R6 ------------- * which can build X same way - but can build from termcap.so to fvwm about 350+ pkgs, fixed applied if need be, ready to run firefox, GNU/Linux, it's a linux from scratch but really from scratch the "rude" check of poll() and setting POLL, never asking or , didn't apply to darwin libXt-1.0.9 ChangeLog Date: Sat Sep 24 00:23:32 2005 +0000 Include <X11/XlibConf.h> to get correct XTHREADS settings in non-Imake builds. ^^ but that isn't in X11R7.6 anywhere - it isn't there. (the xthreads configure.ac compile test in patch is 1/2 borrowed from Motif) 7.6 was four years old even when this was filed. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.