Bug 43663 - build problems in alpha /usr/ports/x11/XFree86-4-clients
Summary: build problems in alpha /usr/ports/x11/XFree86-4-clients
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-10-04 20:30 UTC by Fred Clift
Modified: 2002-10-07 16:40 UTC (History)
0 users

See Also:


Attachments
patch-aa (468 bytes, TEXT/PLAIN; charset=US-ASCII)
2002-10-04 23:33 UTC, Fred Clift
no flags Details
patch-ab (641 bytes, TEXT/PLAIN; charset=US-ASCII)
2002-10-04 23:33 UTC, Fred Clift
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fred Clift 2002-10-04 20:30:05 UTC
      Failure in build of x clients (xdm in particular) on alpha 4.7RC - link problems
 for the 'greeter' shared library that is part of xdm.

...
rm -f libXdmGreet.so.1.0~
+ cd .
+ cc -o ./libXdmGreet.so.1.0~ -shared -rpath /usr/X11R6/lib -Wl,-soname,libXdmGr
eet.so.1 greet.o verify.o Login.o -L/usr/ports/x11/XFree86-4-cli
ents/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.
*** Error code 1

Fix: 

Wait till the build failure, and then apply the following patch:

235c235
<      SHLIBLDFLAGS = -shared -rpath $(USRLIBDIRPATH)
---
>      SHLIBLDFLAGS = -shared -rpath $(USRLIBDIRPATH) -L$(USRLIBDIR)


to /usr/ports/x11/XFree86-4-clients/work/xc/programs/xdm/greeter/Makefile


Then rebuild.



This is at best a workaround since the Makefile in quesiton is dynamically generated via imake -- the 'right' way to do this would be to either change the Imakefile in that directory or to change the imake template that is part of the build system for this port - I'm less familiar with imake so it's hard going, but I should have something sometime...

In the mean time, this patch can be used to produce working code for those trying to buid the port.
How-To-Repeat:       cd /usr/ports/x11/XFree86-4-clients and type make install - wait a long time :)
Comment 1 Fred Clift 2002-10-04 23:33:14 UTC
the two attached patches, and the following line added to the port
makefile fix both this pr and ports/43664

EXTRA_PATCHES=         ${.CURDIR}/files/patch-a[ab]


This makes the port build, makes xdm work (not counting xdmcpauth).

Fred
Comment 2 Eric Anholt 2002-10-06 21:48:34 UTC
Does this result in a building and working xdm for you?  It strange --
Every platform but alpha defaults to a non-shared greeter, but there are
defines to make alpha build it shared by default.

Index: scripts/configure
===================================================================
RCS file: /home/ncvs/ports/x11/XFree86-4-clients/scripts/configure,v
retrieving revision 1.67
diff -u -u -r1.67 configure
--- scripts/configure	18 Sep 2002 04:22:33 -0000	1.67
+++ scripts/configure	6 Oct 2002 20:43:22 -0000
@@ -74,6 +74,7 @@
     echo "#define DontUseLibPathVar YES" >> $LOCALDEF
     echo "#define PreloadSetup" >> $LOCALDEF
     echo "#define BuildPlugin NO" >> $LOCALDEF
+    echo "#define SharedLibXdmGreet NO" >> $LOCALDEF
     echo "#define UseInstalledPrograms YES" >> $LOCALDEF
 
     # Copy ORIGDEF to DESTDEF

-- 
Eric Anholt <eta@lclark.edu>
http://people.freebsd.org/~anholt/dri/
Comment 3 Eric Anholt freebsd_committer 2002-10-07 03:20:24 UTC
State Changed
From-To: open->closed

This should be fixed now.
Comment 4 fclift 2002-10-07 16:35:10 UTC
Well - it builds, but I have to disable all server authentication or it
dumps core...

ie
DisplayManager._0.authorize:    false

in the config file.

When I do that, it does run...

At least it lets the build not die :).

-------------------------------------------------------------------------
liron# ./xdm -nodaemon -debug 100
DisplayManager.errorLogFile/DisplayManager.ErrorLogFile value
/var/log/xdm-errors
DisplayManager.daemonMode/DisplayManager.DaemonMode value  false
DisplayManager.pidFile/DisplayManager.PidFile value  /var/run/xdm-pid
DisplayManager.lockPidFile/DisplayManager.LockPidFile value true
DisplayManager.authDir/DisplayManager.authDir value /usr/X11R6/lib/X11/xdm
DisplayManager.autoRescan/DisplayManager.AutoRescan value true
DisplayManager.removeDomainname/DisplayManager.RemoveDomainname value true
DisplayManager.keyFile/DisplayManager.KeyFile value
/usr/X11R6/lib/X11/xdm/xdm-keys
DisplayManager.accessFile/DisplayManager.AccessFile value
/usr/X11R6/lib/X11/xdm/Xaccess
DisplayManager.exportList/DisplayManager.ExportList value
DisplayManager.randomFile/DisplayManager.RandomFile value /dev/mem
DisplayManager.greeterLib/DisplayManager.GreeterLib value
/usr/X11R6/lib/X11/xdm/libXdmGreet.so
DisplayManager.choiceTimeout/DisplayManager.ChoiceTimeout value 15
DisplayManager.sourceAddress/DisplayManager.SourceAddress value false
DisplayManager.willing/DisplayManager.Willing value  su -m nobody -c
/usr/X11R6/lib/X11/xdm/Xwilling
Found new display:  :0  local /usr/X11R6/bin/X
StartDisplay :0
DisplayManager._0.serverAttempts/DisplayManager._0.ServerAttempts value 1
DisplayManager._0.openDelay/DisplayManager._0.OpenDelay value 15
DisplayManager._0.openRepeat/DisplayManager._0.OpenRepeat value 5
DisplayManager._0.openTimeout/DisplayManager._0.OpenTimeout value 120
DisplayManager._0.startAttempts/DisplayManager._0.StartAttempts value 4
DisplayManager._0.pingInterval/DisplayManager._0.PingInterval value 5
DisplayManager._0.pingTimeout/DisplayManager._0.PingTimeout value 5
DisplayManager._0.terminateServer/DisplayManager._0.TerminateServer value
false
DisplayManager._0.grabServer/DisplayManager._0.GrabServer value false
DisplayManager._0.grabTimeout/DisplayManager._0.GrabTimeout value 3
DisplayManager._0.resetSignal/DisplayManager._0.Signal value 1
DisplayManager._0.termSignal/DisplayManager._0.Signal value 15
DisplayManager._0.resetForAuth/DisplayManager._0.ResetForAuth value false
DisplayManager._0.authorize/DisplayManager._0.Authorize value  true
DisplayManager._0.authComplain/DisplayManager._0.AuthComplain value  true
DisplayManager._0.authName/DisplayManager._0.AuthName value
MIT-MAGIC-COOKIE-1
DisplayManager._0.authFile/DisplayManager._0.AuthFile value
SetLocalAuthorization :0, auth MIT-MAGIC-COOKIE-1
GenerateAuthorization MIT-MAGIC-COOKIE-1
Segmentation fault (core dumped)
-------------------------------------------------------------------------------


The core has a hosed stack and doesn't give much useful info...


hope this helps.

Fred

On 6 Oct 2002, Eric Anholt wrote:

> Does this result in a building and working xdm for you?  It strange --
> Every platform but alpha defaults to a non-shared greeter, but there are
> defines to make alpha build it shared by default.
>
> Index: scripts/configure
> ===================================================================
> RCS file: /home/ncvs/ports/x11/XFree86-4-clients/scripts/configure,v
> retrieving revision 1.67
> diff -u -u -r1.67 configure
> --- scripts/configure	18 Sep 2002 04:22:33 -0000	1.67
> +++ scripts/configure	6 Oct 2002 20:43:22 -0000
> @@ -74,6 +74,7 @@
>      echo "#define DontUseLibPathVar YES" >> $LOCALDEF
>      echo "#define PreloadSetup" >> $LOCALDEF
>      echo "#define BuildPlugin NO" >> $LOCALDEF
> +    echo "#define SharedLibXdmGreet NO" >> $LOCALDEF
>      echo "#define UseInstalledPrograms YES" >> $LOCALDEF
>
>      # Copy ORIGDEF to DESTDEF
>
> --
> Eric Anholt <eta@lclark.edu>
> http://people.freebsd.org/~anholt/dri/
>
>

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