[Top][All Lists]

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

address@hidden: Re: 22.0.95 fails to link (missing -lX11) on Solaris wit

From: Richard Stallman
Subject: address@hidden: Re: 22.0.95 fails to link (missing -lX11) on Solaris with Sun cc]
Date: Sun, 04 Mar 2007 21:55:04 -0500

Would this change fix the new bug and avoid the old one?

------- Start of forwarded message -------
From: Simon Leinen <address@hidden>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Sun, 4 Mar 2007 10:41:42 +0100
To: address@hidden
Subject: Re: 22.0.95 fails to link (missing -lX11) on Solaris with Sun cc
In-Reply-To: <address@hidden>
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=failed 

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/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 \
    Directories: /test/leinen/emacs-22.0.95/lisp/. 
/test/leinen/emacs-22.0.95/lisp/./play /test/leinen/emacs-22.0.95/lisp/./calc 
/test/leinen/emacs-22.0.95/lisp/./net /test/leinen/emacs-22.0.95/lisp/./mail 
/test/leinen/emacs-22.0.95/lisp/./eshell /test/leinen/emacs-22.0.95/lisp/./mh-e 
/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: 
    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.
- -- 
------- End of forwarded message -------

reply via email to

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