emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

22.0.95 fails to link (missing -lX11) on Solaris with Sun cc


From: Simon Leinen
Subject: 22.0.95 fails to link (missing -lX11) on Solaris with Sun cc
Date: Fri, 2 Mar 2007 15:21:41 +0100

I tried to compile the latest pretest on my SPARC workstation running
Solaris post-10 ("Nevada b57"), using this configuration

    CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC CFLAGS='-fast 
-xtarget=ultra  -g -xs' CXXFLAGS='-fast -xtarget=ultra  -g -xs' ./configure 
--prefix=/usr/local --without-gcc --with-xpm --with-jpeg --with-tiff --with-gif 
--with-png --with-gtk --enable-font-backend --with-xft 

Configure runs fine and produces the following summary:

    Configured for `sparc-sun-solaris2.11'.
    
      Where should the build process find the source code?    
/test/leinen/emacs-22.0.95
      What operating system and machine description files should Emacs use?
            `s/sol2-6.h' and `m/sparc.h'
      What compiler should emacs be built with?               
/opt/SUNWspro/bin/cc -fast -xtarget=ultra  -g -xs
      Should Emacs use the GNU version of malloc?             yes
      Should Emacs use a relocating allocator for buffers?    yes
      Should Emacs use mmap(2) for buffer allocation?         no
      What window system should Emacs use?                    x11
      What toolkit should Emacs use?                          GTK
      Where do we find X Windows header files?                
/usr/openwin/include
      Where do we find X Windows libraries?                   /usr/openwin/lib
      Does Emacs use -lXaw3d?                                 no
      Does Emacs use -lXpm?                                   yes
      Does Emacs use -ljpeg?                                  yes
      Does Emacs use -ltiff?                                  yes
      Does Emacs use -lungif?                                 no
      Does Emacs use -lpng?                                   yes
      Does Emacs use X toolkit scroll bars?                   yes

Building temacs fails with many linker error messages about missing
symbols from -lX11:

    /opt/SUNWspro/bin/cc -Demacs -DHAVE_CONFIG_H -DUSE_GTK  -I. 
-I/test/leinen/emacs-22.0.95/src    -I/usr/openwin/include 
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/openwin/include -I/usr/sfw/include/freetype2 
-I/usr/sfw/include  -I/usr/dt/include   -fast -xtarget=ultra  -g -xs 
-L/usr/openwin/lib /test/leinen/emacs-22.0.95/src/prefix-args.c -o prefix-args
    echo "dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o charset.o 
coding.o category.o ccl.o cm.o term.o xfaces.o xterm.o xfns.o xselect.o xrdb.o 
fontset.o xsmfns.o fringe.o image.o gtkutil.o emacs.o keyboard.o macros.o 
keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o 
dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o 
undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o print.o 
lread.o abbrev.o syntax.o unexelf.o bytecode.o process.o callproc.o 
region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o 
composite.o md5.o    terminfo.o lastfile.o gmalloc.o ralloc.o vm-limit.o   
mktime.o "  > buildobj.lst
    /opt/SUNWspro/bin/cc  -L/usr/ccs/lib -R/usr/openwin/lib `{ set x USE_MOTIF; 
test "$2" = "USE_MOTIF"; } || echo ' -R/usr/dt/lib'`    -L/usr/openwin/lib \
       -o temacs  dispnew.o frame.o scroll.o xdisp.o xmenu.o window.o charset.o 
coding.o category.o ccl.o cm.o term.o xfaces.o xterm.o xfns.o xselect.o xrdb.o 
fontset.o xsmfns.o fringe.o image.o gtkutil.o emacs.o keyboard.o macros.o 
keymap.o sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o 
dired.o filemode.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o 
undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o print.o 
lread.o abbrev.o syntax.o unexelf.o bytecode.o process.o callproc.o 
region-cache.o sound.o atimer.o doprnt.o strftime.o intervals.o textprop.o 
composite.o md5.o    terminfo.o lastfile.o gmalloc.o ralloc.o vm-limit.o   
mktime.o  \
           -L/usr/openwin/lib  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 
-lgdk_pixbuf-2.0 -lm -lmlib -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 
-lgmodule-2.0 -lglib-2.0   -lpthread -lSM -lICE -ltiff -ljpeg -lpng -lz -lm  
-lXpm    -R/usr/openwin/lib -L/usr/openwin/lib -lXft -lfontconfig    -lsocket 
-lnsl -lkstat  -lcurses -lkstat   -lm 
    Undefined                   first referenced
     symbol                         in file
    XUnmapWindow                        xfns.o  (symbol belongs to implicit 
dependency /usr/openwin/lib/libX11.so.4)
    XMoveResizeWindow                   xfns.o  (symbol belongs to implicit 
dependency /usr/openwin/lib/libX11.so.4)
    XCreateFontCursor                   xterm.o  (symbol belongs to implicit 
dependency /usr/openwin/lib/libX11.so.4)
    XGetWindowAttributes                xfns.o  (symbol belongs to implicit 
dependency /usr/openwin/lib/libX11.so.4)
    XBell                               xterm.o  (symbol belongs to implicit 
dependency /usr/openwin/lib/libX11.so.4)
    [...]

So the Sun linker is smart enough to know which library the symbols
could be found in (presumably because the library is an "implicit
dependency" of some of the other libraries), but that's not enough.

When I patch the generated src/Makefile like this:

    80c80
    < LIBXT=$(LIBW) -lSM -lICE
    ---
    > LIBXT=$(LIBW) -lSM -lICE -lX11

src/temacs is built correctly.  I'm not sure what the correct fix
would be in the configure logic that generates the library variable
definitions.

Regards,
-- 
Simon.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]