Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 639642

Summary: app-editors/xemacs-21.5.34-r4: Segmentation fault while dumping
Product: Gentoo Linux Reporter: Mats Lidell <matsl>
Component: Current packagesAssignee: XEmacs team <xemacs>
Status: RESOLVED FIXED    
Severity: normal CC: conardcox, scott, ulm
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 642232    

Description Mats Lidell gentoo-dev 2017-12-03 15:20:09 UTC
During the build at the dump stage there is a segmentation fault:

[...]
Finding pointers to doc strings...
Finding pointers to doc strings...done
Dumping under the name xemacs
./xemacs -no-packages -batch -no-autoloads -l update-elc-2.el -f batch-update-elc-2 /var/tmp/portage/app-editors/xemacs-21.5.34-r4/work/xemacs-21.5.34/src/../lisp
make[1]: *** [GNUmakefile:157: update-elc-2] Segmentation fault (core dumped)
make[1]: Leaving directory '/var/tmp/portage/app-editors/xemacs-21.5.34-r4/work/xemacs-21.5.34/src'
make: *** [GNUmakefile:97: src] Error 2
 * ERROR: app-editors/xemacs-21.5.34-r4::gentoo failed (compile phase):
 *   emake failed
[...]

This is the configuration:

XEmacs 21.5-b34 "kale"  configured for `x86_64-pc-linux'.

Compilation Environment and Installation Defaults:
  Source code location:              /var/tmp/portage/app-editors/xemacs-21.5.34-r4/work/xemacs-21.5.34
  Installation prefix:               /usr
  Operating system description file: `s/linux.h'
  Not using any machine description file
  Compiler version:                  x86_64-pc-linux-gnu-gcc (Gentoo 7.2.0 p1.1) 7.2.0
    - GCC specs file:                specs.
    - Compiler command:              x86_64-pc-linux-gnu-gcc   -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement  -Wunused-parameter -g -O3 -fno-strict-aliasing -march=native -O2 -pipe
  libc version:                      2.26
  Relocating allocator for buffers:  no
  GNU version of malloc:             no
    - User chose not to use GNU allocators.

Package Search (a 'root' contains '{xemacs,mule,site}-packages'):
  User package roots:    ~/.xemacs
  System package roots:  /usr/share/xemacs
  Legacy package roots:  /usr/lib/xemacs

Window System:
  Compiling in support for the X window system:
    - X Windows headers location:                 
    - X Windows libraries location:               
    - Handling WM_COMMAND properly.
  Compiling in support for the Athena widget set:
    - Athena headers location:                    X11/Xaw
    - Athena library to link:                     Xaw
  Using Lucid menubars.
  Using Athena scrollbars.
  Using Athena dialog boxes.
  Using Athena native widgets.

TTY:
  Compiling in support for ncurses.
  Compiling in support for GPM (General Purpose Mouse).

Images:
  Compiling in support for XPM  images.
  Compiling in support for PNG  images.
  Compiling in support for JPEG images.
  Compiling in support for TIFF images.

Sound:
  Compiling in support for sound (native).
  Compiling in support for ALSA (Advanced Linux Sound Architecture).
  Compiling in support for NAS (network audio system).

Databases:
  Compiling in support for Berkeley database.
  Compiling in support for GNU DBM.
  Compiling in support for LDAP.

Internationalization:

Mail:
  Compiling in support for "flock" mail spool file locking method.

Other Features:
  Inhibiting IPv6 canonicalization at startup.
  Compiling in support for dynamic shared object modules.
  Using the new GC mark algorithms (KKCC).
  WARNING: ---------------------------------------------------------
  WARNING: The new algorithms are experimental. They are enabled by
  WARNING: default for this release. Use `--disable-kkcc' to
  WARNING: turn it off.
  WARNING: ---------------------------------------------------------
  Using the new incremental garbage collector and the new allocator.
  Using POSIX sigaction() to install fault handler.
  Using the new portable dumper.
  Compiling in support for extra debugging code.
  Compiling in support for runtime error checking.
  WARNING: ---------------------------------------------------------
  WARNING: XEmacs will run noticeably more slowly as a result.
  WARNING: Error checking is on by default for XEmacs beta releases.
  WARNING: ---------------------------------------------------------
Comment 1 Ulrich Müller gentoo-dev 2017-12-09 00:08:09 UTC
Adding the following two lines right at the beginning of src_configure appears to fix the problem here (17.0 profile, gcc-6.4.0):

    test-flags -no-pie >/dev/null && append-flags -no-pie
    filter-flags -pie
Comment 2 Larry the Git Cow gentoo-dev 2017-12-10 12:39:33 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de27d8e5c53b1aaca10875b5fe5f5a19a7a9dcaf

commit de27d8e5c53b1aaca10875b5fe5f5a19a7a9dcaf
Author:     Mats Lidell <matsl@gentoo.org>
AuthorDate: 2017-12-10 12:34:21 +0000
Commit:     Mats Lidell <matsl@gentoo.org>
CommitDate: 2017-12-10 12:35:20 +0000

    app-editors/xemacs: Use system malloc and -no-pie
    
    For 21.4 use system malloc on all architectures. For both 21.4 and 21.5 use -no-pie option
    since xemacs can't be built with positions indipendent code yet. This is for adopting
    to the 17.0 profiles which defaults to use PIE.
    
    Bug: https://bugs.gentoo.org/639214
    Bug: https://bugs.gentoo.org/639508
    Bug: https://bugs.gentoo.org/639642
    Package-Manager: Portage-2.3.13, Repoman-2.3.3

 app-editors/xemacs/xemacs-21.4.24-r1.ebuild | 18 +++++++-----------
 app-editors/xemacs/xemacs-21.4.24.ebuild    | 18 +++++++-----------
 app-editors/xemacs/xemacs-21.5.34-r4.ebuild |  9 ++++++---
 3 files changed, 20 insertions(+), 25 deletions(-)}
Comment 3 vsync 2017-12-10 22:40:32 UTC
I ran into the exact same issue with xemacs-21.5.34-r4.  Once I ran "emerge --sync" I was able to build.

Is it normal to edit the ebuild in-place, without bumping the revision number?  This isn't intended as a dig, just I don't understand everything about Gentoo versioning mechanisms/policy.
Comment 4 Mats Lidell gentoo-dev 2017-12-10 23:05:05 UTC
Thanks for verifying that it works for you.

About version bumps read: https://devmanual.gentoo.org/general-concepts/ebuild-revisions/

My conclusion was the build would be broken for users switching to the new 17.0 profile which warranted that it was done in place with no revision bump.