emacs-devel
[Top][All Lists]
Advanced

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

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


From: Jan Djärv
Subject: Re: address@hidden: Re: 22.0.95 fails to link (missing -lX11) on Solaris with Sun cc]
Date: Mon, 05 Mar 2007 08:09:10 +0100
User-agent: Thunderbird 1.5.0.9 (X11/20070212)



Richard Stallman skrev:
Would this change fix the new bug and avoid the old one?


This is the same fix. Instead of keeping -lX11 in LIB_X11_LIB it has been added to XFT_LIBS. The net result is something like

  -lXft -lXrender -lfontconfig -lfreetype -lX11

in both cases.

Or

   -lXft -lXrender -lfontconfig -lfreetype -lX11 -lX11

when -lX11 is included in XFT_LIBS.

        Jan D.

------- 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 version=3.0.4

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.
------- End of forwarded message -------




reply via email to

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