First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 164127
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Gentoo Toolchain Maintainers <toolchain@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Pierre Poissinger <pierre.poissinger@gmail.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
guile_ebuild.patch Patch to guile ebuild patch Pierre Poissinger 2007-01-27 23:10 0000 346 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 164127 depends on: Show dependency tree
Show dependency graph
Bug 164127 blocks: 163921
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)







View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2007-01-27 23:08 0000
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 From Pierre Poissinger 2007-01-27 23:10:00 0000 -------
Created an attachment (id=108319) [edit]
Patch to guile ebuild

This patch allowed me to compile guile and autogen without segfault

------- Comment #2 From Pierre Poissinger 2007-01-27 23:12:35 0000 -------
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 From SpanKY 2007-01-28 03:19:16 0000 -------
so autogen needs to make sure guile is built with USE="discouraged deprecated
-threads" ?

------- Comment #4 From Niki Guldbrand 2007-01-28 11:19:21 0000 -------
*** Bug 164206 has been marked as a duplicate of this bug. ***

------- Comment #5 From Marijn Schouten 2007-01-28 11:43:18 0000 -------
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 From Pierre Poissinger 2007-01-28 11:59:34 0000 -------
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 From SpanKY 2007-01-28 12:10:13 0000 -------
the typo was fixed sometime ago

so what is the combination autogen needs ?  USE="deprecated discouraged
threads" ?

------- Comment #8 From Marijn Schouten 2007-01-28 12:12:19 0000 -------
discouraged is now implied by deprecated, see bug 164206.

------- Comment #9 From Pierre Poissinger 2007-01-28 12:16:48 0000 -------
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 From Sander Brabander 2007-01-28 15:10:29 0000 -------
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 From Pierre Poissinger 2007-01-28 17:05:57 0000 -------
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 From Sander Brabander 2007-01-28 18:16:22 0000 -------
It indeed seems that change didn't hit my ebuild yet. Adding discouraged solved
the problem. Thanks :)

------- Comment #13 From SpanKY 2007-01-28 22:47:28 0000 -------
autogen ebuild now checks those flags as well

First Last Prev Next    No search results available      Search page      Enter new bug