Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 164127 - sys-devel/autogen-5.8.8: segfault during build w/ dev-scheme/guile-1.8.1-r1
Summary: sys-devel/autogen-5.8.8: segfault during build w/ dev-scheme/guile-1.8.1-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: guile-1.8
  Show dependency tree
 
Reported: 2007-01-27 23:08 UTC by Pierre Poissinger
Modified: 2007-01-28 22:47 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to guile ebuild (guile_ebuild.patch,346 bytes, patch)
2007-01-27 23:10 UTC, Pierre Poissinger
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre Poissinger 2007-01-27 23:08:24 UTC
To build autogen-5.8.8, guile has to be compiled with deprecated (+discouraged or guile don't compile) and result in
a segfault of autogen during build: 
make[4]: Entering directory
`/var/tmp/portage/sys-devel/autogen-5.8.8/work/autogen-5.8.8/getdefs'
top_builddir=.. top_srcdir=.. PATH=`cd ../columns >/dev/null && pwd`:$PATH ;
export top_builddir top_srcdir PATH ;
/var/tmp/portage/sys-devel/autogen-5.8.8/work/autogen-5.8.8/agen5/autogen
-L../autoopts ./opts.def
AutoGen aborting on signal 11 (Segmentation fault) in state DONE
processing template >
            on line 312
       for function Text (17)
/bin/sh: line 1: 32658 Aborted                
/var/tmp/portage/sys-devel/autogen-5.8.8/work/autogen-5.8.8/agen5/autogen
-L../autoopts ./opts.def
make[4]: *** [opts.h] Error 134

Btw, this is working with guile-1.8.1 (with borked econfigure)

Reproducible: Always

Steps to Reproduce:
1. emerge guile with +deprecated and +discouraged
2. emerge autogen
3. profit!

Actual Results:  
AutoGen aborting on signal 11 (Segmentation fault) in state DONE

Expected Results:  
Autogen merged
Comment 1 Pierre Poissinger 2007-01-27 23:10:00 UTC
Created attachment 108319 [details, diff]
Patch to guile ebuild

This patch allowed me to compile guile and autogen without segfault
Comment 2 Pierre Poissinger 2007-01-27 23:12:35 UTC
btw, some version (after patched guile emerge):
# emerge guile autogen -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-scheme/guile-1.8.1-r2  USE="deprecated discouraged nls
-debug -debug-freelist -debug-malloc -elisp -networking -regex -threads" 0 kB
[1] 
[ebuild   R   ] sys-devel/autogen-5.8.8  0 kB 

Total: 2 packages (2 reinstalls), Size of downloads: 0 kB
Portage overlays:
 [1] /usr/local/portage
Comment 3 SpanKY gentoo-dev 2007-01-28 03:19:16 UTC
so autogen needs to make sure guile is built with USE="discouraged deprecated -threads" ?
Comment 4 Niki Guldbrand 2007-01-28 11:19:21 UTC
*** Bug 164206 has been marked as a duplicate of this bug. ***
Comment 5 Marijn Schouten (RETIRED) gentoo-dev 2007-01-28 11:43:18 UTC
I forgot a '\' in guile-1.8.1 ebuild causing almost all econf options to be ignored. This caused (among others) deprecated, discouraged and threads to be on regardless of use flags.

Pierre's patch is wrong. The config option is "--with-threads". By effectively removing it, threads are built by default regardless of use flag.
Comment 6 Pierre Poissinger 2007-01-28 11:59:34 UTC
Thx to point out, didn't look that far: so it means guile without thread don't work well since autogen will segfault (and possibly others)

side note: typo in autogen-5.8.8 --> dec-scheme instead if dev-scheme
!!! ERROR: sys-devel/autogen-5.8.8 failed.
Call stack:
  ebuild.sh, line 1627:   Called dyn_setup
  ebuild.sh, line 699:   Called qa_call 'pkg_setup'
  ebuild.sh, line 38:   Called pkg_setup
  autogen-5.8.8.ebuild, line 21:   Called built_with_use '--missing' 'false' 'dec-scheme/guile' 'deprecated'
  eutils.eclass, line 1647:   Called die
Comment 7 SpanKY gentoo-dev 2007-01-28 12:10:13 UTC
the typo was fixed sometime ago

so what is the combination autogen needs ?  USE="deprecated discouraged threads" ?
Comment 8 Marijn Schouten (RETIRED) gentoo-dev 2007-01-28 12:12:19 UTC
discouraged is now implied by deprecated, see bug 164206.
Comment 9 Pierre Poissinger 2007-01-28 12:16:48 UTC
Just tested -r1: correct flags should be "+deprecated +threads" and it works fine

Just I have some doubt for other packages: This will work for autogen but I don't have a clue for other package using a -thread guile: They may start to segfault as well
Comment 10 Sander Brabander 2007-01-28 15:10:29 UTC
No matter if I set deprecated and/or threads or nothinh as extra USE flag, guile-1.8.1-r1 won't compile right.

rm -f .libs/guileS.c .libs/guile.nm .libs/guile.nmS .libs/guile.nmT
x86_64-pc-linux-gnu-gcc -march=athlon64 -O2 -pipe -msse3 -Wall -Wmissing-prototypes -o .libs/guile .libs/guileS.o guile-guile.o -Wl,--export-dynamic  ./.libs/libguile.so /usr/lib64/libgmp.so -lcrypt -lm /usr/lib64/libltdl.so
./.libs/libguile.so: undefined reference to `scm_keyword_dash_symbol'
./.libs/libguile.so: undefined reference to `SCM_SYMBOLP'
collect2: ld returned 1 exit status
make[3]: *** [guile] Error 1
make[3]: Leaving directory `/var/tmp/portage/dev-scheme/guile-1.8.1-r1/work/guile-1.8.1/libguile'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/dev-scheme/guile-1.8.1-r1/work/guile-1.8.1/libguile'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-scheme/guile-1.8.1-r1/work/guile-1.8.1'
make: *** [all] Error 2
Comment 11 Pierre Poissinger 2007-01-28 17:05:57 UTC
Just to be sure, did you also set +discouraged (Looks like the change didn't hit your ebuild) since if found these def's in discouraged and deprecated files:

guile-1.8.1 $ find . -iname \*.[ch] | xargs grep -H SCM_SYMBOLP
./libguile/discouraged.h:#define SCM_SYMBOLP scm_is_symbol
./libguile/deprecated.c:  if (SCM_SYMBOLP (obj))
./libguile/deprecated.c:  if (SCM_SYMBOLP (obj))
./libguile/deprecated.h:#define SCM_XEVALCAR(x, env) (SCM_SYMBOLP (SCM_CAR (x))
and
guile-1.8.1 $ find . -iname \*.[ch] | xargs grep -H scm_keyword_dash_symbol
./libguile/discouraged.c:SCM_DEFINE (scm_keyword_dash_symbol, "keyword-dash-symbol", 1, 0, 0, 
./libguile/discouraged.c:#define FUNC_NAME s_scm_keyword_dash_symbol
./libguile/discouraged.h:SCM_API SCM scm_keyword_dash_symbol (SCM keyword);
./libguile/deprecated.c:  return scm_keyword_dash_symbol (keyword);
Comment 12 Sander Brabander 2007-01-28 18:16:22 UTC
It indeed seems that change didn't hit my ebuild yet. Adding discouraged solved the problem. Thanks :)
Comment 13 SpanKY gentoo-dev 2007-01-28 22:47:28 UTC
autogen ebuild now checks those flags as well