pkgsrc-Bugs archive

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

Re: pkg/43091: emacs20 doesn't work



> The following reply was made to PR pkg/43091; it has been noted by GNATS.
> 
> From: David Holland <dholland-pbugs%netbsd.org@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc: 
> Subject: Re: pkg/43091: emacs20 doesn't work
> Date: Thu, 8 Apr 2010 09:51:03 +0000
> 
>  On Wed, Mar 31, 2010 at 10:05:01PM +0000, schaecsn%gmx.net@localhost wrote:
>   > 1. editors/emacs20 tries to link against libXaw.so (-lXaw). This
>   > library is called in pkgsrc libXaw6.so a/o libXaw7.so.
>  
>  It works for me (TM):
>  
>  % ldd /usr/pkg/bin/emacs
>  /usr/pkg/bin/emacs:
>          -lXaw7.7 => /usr/pkg/lib/libXaw7.so.7
>              :

>  
>  That's emacs20 with pkgsrc libXaw-1.0.7. However, that's not on Linux.
>  Perhaps the configure script is examining your /usr/X11R6, but the
>  build is using the buildlinked pkgsrc libs?

Now, that I try to compile emacs20 again, I don't have any problems with 
linking libXaw, anymore.

I used to have X stuff from my linux distribution installed, but not anymore. 
When I filed the bug report I *may* have had still the X stuff from my linux 
distribution. So, you may be right.

  
>   > 2. On linux, emacs20 does not run (slackware 13 - gcc-4.3.3, CLAGS=-O2 
> -march=pentium4)
>   > 
>   > # /usr/current/bin/emacs
>   > Fatal error (11).Segmentation fault
>  
>  What's it crashing on? If it's using mixed versions of X libraries (as
>  point (1) suggests it may be) core dumping isn't particularly a
>  surprise.

It crashes on startup. I found the problem. From the Makefile:

# This matches NetBSD <1.7 releases and 1.6A-1.6P, where ld is <2.13.2.1.
.if (${OPSYS} == "NetBSD" && \
    (empty(OS_VERSION:M1.[0-5]*) && \
     empty(OS_VERSION:M1.6_*) && \
     empty(OS_VERSION:M1.6) && \
     empty(OS_VERSION:M1.6.[0-9]*) && \
     empty(OS_VERSION:M1.6[A-P]*))) || \
    (${OPSYS} == "DragonFly")
# If using GNU ld 2.13.2.1 or later, avoid creating combined reloc
# sections and .data reloc sections, both of which Emacs can't handle
# properly.  Analyzed by Stephen Ma.
LDFLAGS+=       -Wl,-z,nocombreloc
.endif


Nowadays, most Linux-distributions should have ld 2.13.2.1 or later. Suggestion:

Replace

    (${OPSYS} == "DragonFly")

with

    (${OPSYS} == "DragonFly") ||
    (${OPSYS} == "Linux")

With that change, emacs20 works on linux slackware 13.0.




I encountered one voodoo-magic problem

When I compile editors/emacs20 with -O2 or -O1, I get

/tmp/pkgsrc/editors/emacs20/work/emacs-20.7/lib-src/sorted-doc.c:12: error: 
conflicting types for 'malloc'
/tmp/pkgsrc/editors/emacs20/work/emacs-20.7/lib-src/sorted-doc.c: In function 
'fatal':


mk.conf:
CFLAGS+=                -O2
CXXFLAGS+=              -O2


(commenting out the two malloc declarations in sorted-doc.c fixes the problem).



When I compile emacs20 with -O0, everything compiles (the error is now a 
warning and there is a built-in function opposed to ???).

/tmp/pkgsrc/editors/emacs20/work/emacs-20.7/lib-src/sorted-doc.c:12: warning: 
conflicting types for built-in function 'malloc'

mk.conf:
CFLAGS+=-O0
CXXFLAGS+=-O0



Environment: gcc-4.3.3 on Slackware 13.0


Home | Main Index | Thread Index | Old Index