Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Oct 2002 15:43:01 -0600 (MDT)
From:      Fred Clift <fclift@verio.net>
To:        <freebsd-alpha@freebsd.org>
Subject:   xdm build/runtime problems
Message-ID:  <20021003152717.M88080-100000@vespa.dmz.orem.verio.net>

next in thread | raw e-mail | index | archive | help
I cvsuped sometime on Sunday, and have been running 4.7-RC #0 on my miata
(pws 433au) since then.  Around the same time, I finally got my matrox
millenium I card working (put in 64 bit slot, and fiddle with dip-switches
on matrox card -- hours wasted by not looking at those two little
switches...)

I seem to remember that there was some discussion in July of xdm dumping
core for some people, and at least one person claimed xdm has been broken
for along time.

At any rate, I was finally in a position to set up X - built from ports -
mostly working now.  Since I normally start X with xdm, once I had a
kind of working XF86config, I started to play with xdm.

Interestingly, when building the XFree86-4-clients port, the build of xdm
fails (in greeter) with the following error:

----------------------------------------------------------------
rm -f libXdmGreet.so.1.0~
+ cd .
+ cc -o ./libXdmGreet.so.1.0~ -shared -rpath /usr/X11R6/lib
-Wl,-soname,libXdmGreet.so.1 greet.o verify.o Login.o
 -L/usr/ports/x11/XFree86-4-clients/work/xc/exports/lib -lXt -lSM -lICE
-lXext -lX11
/usr/libexec/elf/ld: cannot find -lXt
*** Error code 1

Stop in /usr/ports/x11/XFree86-4-clients/work/xc/programs/xdm/greeter.
----------------------------------------------------------------

The easy obvious fix is to include -L/usr/X11R6/lib on the command line
which can be done in a thousand ways (ie edit the makefile...)  The
_right_ way to do this for this complicated build system eludes me, but
for ports it could be as simple as patching the Imakefile to include this
in the standard link options.  So then libXdmGreet.so builds fine, and
then xdm builds fine.


Of course, it dumps core for me and was not working.  -nodaemon -debug 100
provided little useful information.  So, I rebuilt with debugging symbols
and found that the core-dumps are hosed enough that you can't get a useful
stack-trace out of them.  Much binary-search with breakpoints revealed
that the xdmauth code seems to totally screw up the stack somewhere -
First I compiled it out (undef HASXDMAUTH).  Then, I decided to get a bit
smarter - I added the following lines to /usr/X11R6/lib/X11/xdm/xdm-config

DisplayManager._0.authName:     MIT-MAGIC-COOKIE-1
DisplayManager._1.authName:     MIT-MAGIC-COOKIE-1

to explicitly exclude the xdmauth stuff and presto xdm was working for me.


So now, xdm works for me.  I don't really have the time to track down what
exactly about the xdmauth stuff is hosed, so I guess I'm only bringing
this up so that someone with enough time/motivation can really fix it, and
for the rest of us, we can at least use xdm to start X on our local
machines by using the config-file workaround to disable xdmauth.

Should this be in a pr?  Are others having this work for them without any
flaws and my X config is just non-standard?  I'll happily put all this
info in a PR if anyone else can confirm that it is not just me and my
crusty box.  One of these days I might actually have time to try and track
down what is really wrong.

Fred

--
Fred Clift - fclift@verio.net -- Remember: If brute
force doesn't work, you're just not using enough.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021003152717.M88080-100000>