Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 246262 - dev-libs/libIDL-0.8.11 - does not compile with bison-2.4
Summary: dev-libs/libIDL-0.8.11 - does not compile with bison-2.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
: 246681 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-11-10 10:35 UTC by Joel
Modified: 2008-11-14 16:34 UTC (History)
2 users (show)

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


Attachments
emerge --info (info.txt,3.58 KB, text/plain)
2008-11-10 10:35 UTC, Joel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joel 2008-11-10 10:35:34 UTC
libIDL-0.8.11 fails to compile, so I have modified the MakeFile to see the errors and I've seen this:
bison -y -d -v ./parser.y
./parser.y:610.9-10: $$ for the midrule at $6 of `struct_type' has no declared type
./parser.y:627.9-10: $$ for the midrule at $10 of `union_type' has no declared type
make: *** [stamp-parser] Error 1
In the attached file it's my emerge --info

Reproducible: Always
Comment 1 Joel 2008-11-10 10:35:48 UTC
Created attachment 171290 [details]
emerge --info
Comment 2 berger 2008-11-10 11:48:01 UTC
(In reply to comment #0)
> libIDL-0.8.11 fails to compile, so I have modified the MakeFile to see the
> errors and I've seen this:
> bison -y -d -v ./parser.y
> ./parser.y:610.9-10: $$ for the midrule at $6 of `struct_type' has no declared
> type
> ./parser.y:627.9-10: $$ for the midrule at $10 of `union_type' has no declared
> type
> make: *** [stamp-parser] Error 1
> In the attached file it's my emerge --info
> 
> Reproducible: Always
> 

Temp fix : downgrade to bison 2.3
emerge -a =bison-2.3 libIDL

(Then updrade to latest bison again).


Comment 3 Rafał Mużyło 2008-11-10 14:34:27 UTC
While it's revealed by bison 2.4,
according to bug-bison list,
bug lies in libIDL, cause it's using a construct,
that, while accepted in 2.3, was invalid even then.
Comment 4 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-11-11 10:21:28 UTC
this is a problem still.
Comment 5 Mart Raudsepp gentoo-dev 2008-11-12 16:23:10 UTC
So basically bison-2.4.1 is supposed to be made to still accept this case, but not a bison-2.5 in the future, if I remember right from reading the bug-bison mailing list for the purpose of figuring out a fix for another project (coreboot).

As bison-2.4(.0) has other issues, some are even suggesting to not distribute it and wait for 2.4.1 anyway. Hence if bison-2.4 would be masked and 2.4.1 entered the tree first from the 2.4 series we'd have some time for libIDL fix being included in an upstream release. This all was under the assumption 2.4.1 will accept what current libIDL does, but as I said I'm not sure I remember that one right.
Comment 6 Doug Goldstein (RETIRED) gentoo-dev 2008-11-12 18:51:02 UTC
Should be fixed with bison-2.4-r1. Please test.
Comment 7 Rafał Mużyło 2008-11-12 19:04:25 UTC
There's a good chance it won't.
There are two outstanding types of bugs with 2.4:
first is missing semicolon - and r1 will probably fix that
the other is this one - I don't think r1 will fix it, cause 
according to bison upstream, bison 2.3 has incorrectly accepted this
Points of reference:
http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00013.html
http://lists.gnu.org/archive/html/bug-bison/2008-11/msg00015.html

Quoting:
It is a bug that Bison 2.3 accepts this line.  The user failed to specify 
the semantic type for the mid-rule value (referenced by $$ here but $6 in 
later actions).  Bison 2.3 accidentally uses the semantic type from the 
LHS (which would be referenced by $$ if this were not a mid-rule).  The 
user is lucky that this just happens to be the right semantic type.

Bison 2.3a and later correctly spot this as a user error and fail because 
they realize there's no logical way to proceed. 
End quote.
Comment 8 Sascha Cunz 2008-11-12 22:32:15 UTC
I yesterday created a patch that solves the problem as stated in the above referred mail thread?

It is located at: http://sacu-consulting.de/parser.y.patch
Comment 9 Hugo Mildenberger 2008-11-13 18:25:05 UTC
I applied the patch given by Sascha Cunz in #8. libIDL compiles and installs ok now using bison-2.4. Thank you very much for providing it!
Comment 10 Daniel Gryniewicz (RETIRED) gentoo-dev 2008-11-13 20:47:32 UTC
Okay, this is in portage now, without a bump.  Thanks everyone.
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2008-11-14 16:34:29 UTC
*** Bug 246681 has been marked as a duplicate of this bug. ***