[PATCH xserver] dmx: fix linking

Mihail Konev k.mvc at ya.ru
Fri Feb 3 21:53:59 UTC 2017


On Fri, Feb 03, 2017 at 10:08:03AM +0900, Michel Dänzer wrote:
> On 03/02/17 06:57 AM, Mihail Konev wrote:
> > Regressed-in: bb9128fd ("present: disable page flip")
> > Signed-off-by: Mihail Konev <k.mvc at ya.ru>
> > ---
> > Maybe there should be #ifdef-s instead - I only bisected :)
> > 
> >  randr/Makefile.am | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/randr/Makefile.am b/randr/Makefile.am
> > index 90dc9ec9aac4..90aa1289f958 100644
> > --- a/randr/Makefile.am
> > +++ b/randr/Makefile.am
> > @@ -30,3 +30,4 @@ if XINERAMA
> >  librandr_la_SOURCES += ${XINERAMA_SRCS}
> >  endif
> >  
> > +librandr_la_LIBADD = $(top_builddir)/render/librender.la
> > 
> 
> This looks weird. bb9128fd added a RRHasScanoutPixmap call in present
> code; I'd expect that to require linking randr to wherever the present
> code ends up, not sure why it would require linking render to randr.
> 

Linker command line for Xdmx was: render, present, randr
With bb9128fd, needs to be: present, randr, render

Probably this is due to how inter-dependencies are resolved, as randr, present, render gives:

  ../../present/.libs/libpresent.a(present.o): In function `present_check_output_slaves_active':
  /xserver/present/present.c:126: undefined reference to `RRHasScanoutPixmap'
  collect2: error: ld returned 1 exit status

Adding render at the end of Xdmx_LDADD gives just the needed "present, randr, render".
(libtool probably only leaves the last librender.a).


More information about the xorg-devel mailing list