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

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

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


From: Simon Leinen
Subject: Re: 22.0.95 fails to link (missing -lX11) on Solaris with Sun cc
Date: Sun, 4 Mar 2007 10:41:42 +0100

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

> What was the last pretest (or CVS Emacs version) that did build?

Hm, hard to say.  I did try 22.0.91, and I don't think I had that
particular problem.  But for some other reasons I abandoned the build.

Now with 22.0.95, I can fix the issue for me by applying this patch:

*** emacs-22.0.95/src/Makefile.in       2007/03/02 16:39:05     1.1
--- emacs-22.0.95/src/Makefile.in       2007/03/02 16:42:22
***************
*** 405,411 ****
  #if HAVE_XFT
  #undef LIB_X11_LIB /* XFT_LIBS includes -lX11 */
  #define LIB_X11_LIB
! address@hidden@
  #endif /* HAVE_XFT */
  
  #if HAVE_XPM
--- 405,411 ----
  #if HAVE_XFT
  #undef LIB_X11_LIB /* XFT_LIBS includes -lX11 */
  #define LIB_X11_LIB
! address@hidden@ -lX11
  #endif /* HAVE_XFT */
  
  #if HAVE_XPM

and I get a working Emacs binary with Xft support, at least when I
build in 32-bit mode.  I have been using that binary for a couple of
days and it worked very well (I'm using it right now).

When I tried to build in 64-bit mode, "make bootstrap" failed:

    echo Directories: $wins; \
    ../src/bootstrap-emacs -batch --no-site-file --multibyte -l autoload --eval 
'(setq generated-autoload-file "/test/leinen/emacs-22.0.95/lisp/loaddefs.el")' 
-f batch-update-autoloads $wins
    find /test/leinen/emacs-22.0.95/lisp -name "*.elc" -print | xargs chmod +w 
>/dev/null 2>&1 || true; \
    wd=/test/leinen/emacs-22.0.95/lisp; subdirs=`(cd $wd; find . -type d 
-print)`; for file in $subdirs; do case $file in */Old | */RCS | */CVS | 
*/CVS/* | */.* | */.*/* | */=* ) ;; *) wins="$wins $wd/$file" ;; esac; done;  \
    els=`echo $wins | tr ' \011' '\012\012' | \
        sed -e 's|\(.\)$|\1/|' -e 's|^\./||' -e 's|$|*.el|'`;   \
    for el in /test/leinen/emacs-22.0.95/lisp/emacs-lisp/byte-opt.el 
/test/leinen/emacs-22.0.95/lisp/emacs-lisp/bytecomp.el 
/test/leinen/emacs-22.0.95/lisp/subr.el 
/test/leinen/emacs-22.0.95/lisp/progmodes/cc-mode.el 
/test/leinen/emacs-22.0.95/lisp/progmodes/cc-vars.el $els; do \
      if test -f $el; \
      then \
        echo Compiling $el; \
        EMACSLOADPATH=/test/leinen/emacs-22.0.95/lisp ../src/bootstrap-emacs 
-batch --no-site-file --multibyte -f batch-byte-compile-if-not-done $el || exit 
1; \
      fi \
    done
    Directories: /test/leinen/emacs-22.0.95/lisp/. 
/test/leinen/emacs-22.0.95/lisp/./progmodes 
/test/leinen/emacs-22.0.95/lisp/./play /test/leinen/emacs-22.0.95/lisp/./calc 
/test/leinen/emacs-22.0.95/lisp/./emulation 
/test/leinen/emacs-22.0.95/lisp/./net /test/leinen/emacs-22.0.95/lisp/./mail 
/test/leinen/emacs-22.0.95/lisp/./international 
/test/leinen/emacs-22.0.95/lisp/./textmodes 
/test/leinen/emacs-22.0.95/lisp/./eshell /test/leinen/emacs-22.0.95/lisp/./mh-e 
/test/leinen/emacs-22.0.95/lisp/./gnus 
/test/leinen/emacs-22.0.95/lisp/./calendar 
/test/leinen/emacs-22.0.95/lisp/./language 
/test/leinen/emacs-22.0.95/lisp/./emacs-lisp 
/test/leinen/emacs-22.0.95/lisp/./url /test/leinen/emacs-22.0.95/lisp/./erc
    Compiling /test/leinen/emacs-22.0.95/lisp/emacs-lisp/byte-opt.el
    Generating autoloads for ps-print.el...
    Generating autoloads for ps-print.el...done
    Generating autoloads for subdirs.el...
    Generating autoloads for subdirs.el...done
    Generating autoloads for version.el...
    Generating autoloads for version.el...done
    Generating autoloads for eshell/esh-groups.el...
    Generating autoloads for eshell/esh-groups.el...done
    Saving file /test/leinen/emacs-22.0.95/lisp/loaddefs.el...
    Wrote /test/leinen/emacs-22.0.95/lisp/loaddefs.el
    Wrote /test/leinen/emacs-22.0.95/lisp/emacs-lisp/byte-opt.elc
    Compiling /test/leinen/emacs-22.0.95/lisp/emacs-lisp/bytecomp.el
    
    In toplevel form:
    emacs-lisp/bytecomp.el:156:1:Error: Symbol's value as variable is void: 
defconst-tmp-var
    make[2]: *** [compile] Error 1
    make[2]: Leaving directory `/test/leinen/emacs-22.0.95/lisp'
    make[1]: *** [bootstrap-build] Error 2
    make[1]: Leaving directory `/test/leinen/emacs-22.0.95'
    make: *** [bootstrap] Error 2

When I do the bootstrap in 32-bit mode, and just "make" in 64-bit
mode, I do get an 64-bit Emacs binary, but the binary dumps core.
Unfortunately I don't have a working 64-bit debugging environment.

Note that this is all using Sun's C compiler (Sun C 5.7, not the
latest & greatest).  I haven't tried to build using GCC yet.
-- 
Simon.




reply via email to

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