Bugzilla – Bug 314175
GNU bison 1.875 fails on monoburg compilation (use /usr/ccs/bin/yacc instead) (mono-0.31)
Last modified: 2007-09-15 21:24:46 UTC
---- Reported by Louis.P.Santillan@jpl.nasa.gov 2004-03-22 12:40:55 MST ---- Please fill in this template when reporting a bug, unless you know what you are doing. Description of Problem: After tweaking my PATH (per #55899), monoburg compilation fails (on GNU bison 1.875) on "bison monoburg.y -o parser.c" line. Manual compilation with "yacc: Software Generation Utilities (SGU) Solaris-ELF (4.0)" "/usr/ccs/bin/yacc monoburg.y ; mv y.tab.c parser.c" seems to fix that error and the rest of the build continues. Steps to reproduce the problem: 1. ./configure 2. make Actual Results: bison ./monoburg.y -o parser.c make[3]: *** [parser.c] Broken Pipe Expected Results: Successful build. How often does this happen? Always. Additional Information: (SunOS MachineName 5.9 Generic_112233-08 sun4u sparc SUNW,UltraAX-i2) ---- Additional Comments From vargaz@freemail.hu 2004-03-22 13:35:34 MST ---- I can't reproduce this. Could you try running bison by hand to see what is the problem ? ---- Additional Comments From Louis.P.Santillan@jpl.nasa.gov 2004-03-22 13:48:11 MST ---- I did attempt to GNU bison standalone but I receive "Broken Pipe" errors. lpsantil@MachineName:~/build/mono/mono-0.31/mono/monoburg>bison monoburg.y -o parser.c Broken Pipe lpsantil@MachineName:~/build/mono/mono-0.31/mono/monoburg>bison -V bison (GNU Bison) 1.875 Written by Robert Corbett and Richard Stallman. Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. However, using /usr/ccs/bin/yacc seems to produce a usable y.tab.c -> parser.c file. Unfortunately, I don't have root access to the box (and admin is on vacation). I'm pretty sure that our admin installed the default bison or bison from <sunfreeware.com>. The machine was also probably KickStart'd (or is JumpStart) so the bad bison package could have come from there also. lpsantil@MachineName:~/build/mono/mono-0.31>pkginfo|grep bison application SMCbison bison Louis ---- Additional Comments From vargaz@freemail.hu 2004-03-22 16:58:16 MST ---- Could you try running it under 'truss', e.g. truss bison ./monoburg.y -o parser.c and paste the output ? ---- Additional Comments From Louis.P.Santillan@jpl.nasa.gov 2004-03-22 17:10:05 MST ---- lpsantil@MachineName:~/build/mono/mono-0.31/mono/monoburg>truss bison ./monoburg.y -o parser.c execve("/usr/local/bin/bison", 0xFFBFFC5C, 0xFFBFFC70) argc = 4 resolvepath("/usr/local/bin/bison", "/usr/local/bin/bison", 1023) = 20 resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16 stat("/usr/local/bin/bison", 0xFFBFFA30) = 0 open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT stat("/usr/local/lib/libc.so.1", 0xFFBFF374) Err#2 ENOENT stat("/usr/lib/libc.so.1", 0xFFBFF374) = 0 open("/usr/lib/libc.so.1", O_RDONLY) = 3 fstat(3, 0xFFBFF374) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3B0000 mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF280000 mmap(0xFF33C000, 24472, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000 mmap(0xFF342000, 6588, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF342000 munmap(0xFF32C000, 65536) = 0 resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18 memcntl(0xFF280000, 117256, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3) = 0 stat("/usr/local/lib/libdl.so.1", 0xFFBFF374) Err#2 ENOENT stat("/usr/lib/libdl.so.1", 0xFFBFF374) = 0 open("/usr/lib/libdl.so.1", O_RDONLY) = 3 fstat(3, 0xFFBFF374) = 0 mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3B0000 resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19 close(3) = 0 stat("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", 0xFFBFF184) = 0 open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3 fstat(3, 0xFFBFF184) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3A0000 mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000 resolvepath("/usr/platform/sun4u/lib/libc_psr.so.1c_psr.so.1", "/usr/platform/sun4u/lib/libc_psr.so.1", 1023) = 37 close(3) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF380000 munmap(0xFF3A0000, 8192) = 0 getustack(0xFFBFF89C) getrlimit(RLIMIT_STACK, 0xFFBFF894) = 0 getcontext(0xFFBFF6D0) setustack(0xFF343944) brk(0x00057F40) = 0 brk(0x00059F40) = 0 brk(0x00059F40) = 0 brk(0x0005BF40) = 0 brk(0x0005BF40) = 0 brk(0x0005DF40) = 0 open("./monoburg.y", O_RDONLY) = 3 brk(0x0005DF40) = 0 brk(0x0005FF40) = 0 brk(0x0005FF40) = 0 brk(0x00063F40) = 0 fstat64(3, 0xFFBFCA18) = 0 brk(0x00063F40) = 0 brk(0x00065F40) = 0 fstat64(3, 0xFFBFC8C0) = 0 ioctl(3, TCGETA, 0xFFBFC9A4) Err#25 ENOTTY read(3, " % {\n / *\n * m o n".., 8192) = 5930 read(3, 0x00062A74, 8192) = 0 brk(0x00065F40) = 0 brk(0x00067F40) = 0 brk(0x00067F40) = 0 brk(0x00069F40) = 0 brk(0x00069F40) = 0 brk(0x0006BF40) = 0 llseek(3, 0, SEEK_CUR) = 5930 close(3) = 0 brk(0x0006BF40) = 0 brk(0x0006DF40) = 0 brk(0x0006DF40) = 0 brk(0x0008DF40) = 0 brk(0x0008DF40) = 0 brk(0x000ADF40) = 0 brk(0x000ADF40) = 0 brk(0x000CDF40) = 0 brk(0x000CDF40) = 0 brk(0x000CFF40) = 0 open("/usr/local/share/bison/m4sugar/m4sugar.m4", O_RDONLY) = 3 llseek(3, 0, SEEK_CUR) = 0 close(3) = 0 sigaction(SIGCLD, 0xFFBFF9B0, 0xFFBFFA30) = 0 pipe() = 3 [4] pipe() = 5 [6] vfork() = 7170 close(3) = 0 close(6) = 0 fstat64(4, 0xFFBFF8B8) = 0 fstat64(4, 0xFFBFF760) = 0 ioctl(4, TCGETA, 0xFFBFF844) Err#22 EINVAL write(4, " m 4 _ i n i t ( )\n m 4".., 5120) Err#32 EPIPE Received signal #13, SIGPIPE [default] Hmm...bison seems to want to use FD 4. I guess it is a bison error. The work around me at least was to manually translate monoburg.y by doing /usr/ccs/bin/yacc monoburg.y ; mv y.tab.c parser.c Everything seemed to compile OK after that and the ld fix I mentioned in #55910 <https://bugzilla.novell.com/show_bug.cgi?id=MONO55910>. Louis ---- Additional Comments From Louis.P.Santillan@jpl.nasa.gov 2004-03-22 17:10:53 MST ---- lpsantil@MachineName:~/build/mono/mono-0.31/mono/monoburg>truss bison ./monoburg.y -o parser.c execve("/usr/local/bin/bison", 0xFFBFFC5C, 0xFFBFFC70) argc = 4 resolvepath("/usr/local/bin/bison", "/usr/local/bin/bison", 1023) = 20 resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16 stat("/usr/local/bin/bison", 0xFFBFFA30) = 0 open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT stat("/usr/local/lib/libc.so.1", 0xFFBFF374) Err#2 ENOENT stat("/usr/lib/libc.so.1", 0xFFBFF374) = 0 open("/usr/lib/libc.so.1", O_RDONLY) = 3 fstat(3, 0xFFBFF374) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3B0000 mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF280000 mmap(0xFF33C000, 24472, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000 mmap(0xFF342000, 6588, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF342000 munmap(0xFF32C000, 65536) = 0 resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18 memcntl(0xFF280000, 117256, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 close(3) = 0 stat("/usr/local/lib/libdl.so.1", 0xFFBFF374) Err#2 ENOENT stat("/usr/lib/libdl.so.1", 0xFFBFF374) = 0 open("/usr/lib/libdl.so.1", O_RDONLY) = 3 fstat(3, 0xFFBFF374) = 0 mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3B0000 resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19 close(3) = 0 stat("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", 0xFFBFF184) = 0 open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3 fstat(3, 0xFFBFF184) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3A0000 mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000 resolvepath("/usr/platform/sun4u/lib/libc_psr.so.1c_psr.so.1", "/usr/platform/sun4u/lib/libc_psr.so.1", 1023) = 37 close(3) = 0 mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF380000 munmap(0xFF3A0000, 8192) = 0 getustack(0xFFBFF89C) getrlimit(RLIMIT_STACK, 0xFFBFF894) = 0 getcontext(0xFFBFF6D0) setustack(0xFF343944) brk(0x00057F40) = 0 brk(0x00059F40) = 0 brk(0x00059F40) = 0 brk(0x0005BF40) = 0 brk(0x0005BF40) = 0 brk(0x0005DF40) = 0 open("./monoburg.y", O_RDONLY) = 3 brk(0x0005DF40) = 0 brk(0x0005FF40) = 0 brk(0x0005FF40) = 0 brk(0x00063F40) = 0 fstat64(3, 0xFFBFCA18) = 0 brk(0x00063F40) = 0 brk(0x00065F40) = 0 fstat64(3, 0xFFBFC8C0) = 0 ioctl(3, TCGETA, 0xFFBFC9A4) Err#25 ENOTTY read(3, " % {\n / *\n * m o n".., 8192) = 5930 read(3, 0x00062A74, 8192) = 0 brk(0x00065F40) = 0 brk(0x00067F40) = 0 brk(0x00067F40) = 0 brk(0x00069F40) = 0 brk(0x00069F40) = 0 brk(0x0006BF40) = 0 llseek(3, 0, SEEK_CUR) = 5930 close(3) = 0 brk(0x0006BF40) = 0 brk(0x0006DF40) = 0 brk(0x0006DF40) = 0 brk(0x0008DF40) = 0 brk(0x0008DF40) = 0 brk(0x000ADF40) = 0 brk(0x000ADF40) = 0 brk(0x000CDF40) = 0 brk(0x000CDF40) = 0 brk(0x000CFF40) = 0 open("/usr/local/share/bison/m4sugar/m4sugar.m4", O_RDONLY) = 3 llseek(3, 0, SEEK_CUR) = 0 close(3) = 0 sigaction(SIGCLD, 0xFFBFF9B0, 0xFFBFFA30) = 0 pipe() = 3 [4] pipe() = 5 [6] vfork() = 7170 close(3) = 0 close(6) = 0 fstat64(4, 0xFFBFF8B8) = 0 fstat64(4, 0xFFBFF760) = 0 ioctl(4, TCGETA, 0xFFBFF844) Err#22 EINVAL write(4, " m 4 _ i n i t ( )\n m 4".., 5120) Err#32 EPIPE Received signal #13, SIGPIPE [default] Hmm...bison seems to want to use FD 4. I guess it is a bison error. The work around me at least was to manually translate monoburg.y by doing /usr/ccs/bin/yacc monoburg.y ; mv y.tab.c parser.c Everything seemed to compile OK after that and the ld fix I mentioned in #55910 <https://bugzilla.novell.com/show_bug.cgi?id=MONO55910>. Louis ---- Additional Comments From vargaz@freemail.hu 2004-03-23 13:59:40 MST ---- Could you run truss with the -f flags like this: truss -f bison ./monoburg.y -o parser.c ---- Additional Comments From Louis.P.Santillan@jpl.nasa.gov 2004-03-23 15:35:35 MST ---- lpsantil@MachineName:~/build/mono/mono-0.31/mono/monoburg>truss -f bison ./monoburg.y -o parser.c 12045: execve("/usr/local/bin/bison", 0xFFBFFCAC, 0xFFBFFCC0) argc = 4 12045: resolvepath("/usr/local/bin/bison", "/usr/local/bin/bison", 1023) = 20 12045: resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16 12045: stat("/usr/local/bin/bison", 0xFFBFFA80) = 0 12045: open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT 12045: stat("/usr/local/lib/libc.so.1", 0xFFBFF3C4) Err#2 ENOENT 12045: stat("/usr/lib/libc.so.1", 0xFFBFF3C4) = 0 12045: open("/usr/lib/libc.so.1", O_RDONLY) = 3 12045: fstat(3, 0xFFBFF3C4) = 0 12045: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3B0000 12045: mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF280000 12045: mmap(0xFF33C000, 24472, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF33C000 12045: mmap(0xFF342000, 6588, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF342000 12045: munmap(0xFF32C000, 65536) = 0 12045: resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18 12045: memcntl(0xFF280000, 117256, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0 12045: close(3) = 0 12045: stat("/usr/local/lib/libdl.so.1", 0xFFBFF3C4) Err#2 ENOENT 12045: stat("/usr/lib/libdl.so.1", 0xFFBFF3C4) = 0 12045: open("/usr/lib/libdl.so.1", O_RDONLY) = 3 12045: fstat(3, 0xFFBFF3C4) = 0 12045: mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3B0000 12045: resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19 12045: close(3) = 0 12045: stat("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", 0xFFBFF1D4) = 0 12045: open("/usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1", O_RDONLY) = 3 12045: fstat(3, 0xFFBFF1D4) = 0 12045: mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3A0000 12045: mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000 12045: resolvepath("/usr/platform/sun4u/lib/libc_psr.so.1c_psr.so.1", "/usr/platform/sun4u/lib/libc_psr.so.1", 1023) = 37 12045: close(3) = 0 12045: mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF380000 12045: munmap(0xFF3A0000, 8192) = 0 12045: getustack(0xFFBFF8EC) 12045: getrlimit(RLIMIT_STACK, 0xFFBFF8E4) = 0 12045: getcontext(0xFFBFF720) 12045: setustack(0xFF343944) 12045: brk(0x00057F40) = 0 12045: brk(0x00059F40) = 0 12045: brk(0x00059F40) = 0 12045: brk(0x0005BF40) = 0 12045: brk(0x0005BF40) = 0 12045: brk(0x0005DF40) = 0 12045: open("./monoburg.y", O_RDONLY) = 3 12045: brk(0x0005DF40) = 0 12045: brk(0x0005FF40) = 0 12045: brk(0x0005FF40) = 0 12045: brk(0x00063F40) = 0 12045: fstat64(3, 0xFFBFCA68) = 0 12045: brk(0x00063F40) = 0 12045: brk(0x00065F40) = 0 12045: fstat64(3, 0xFFBFC910) = 0 12045: ioctl(3, TCGETA, 0xFFBFC9F4) Err#25 ENOTTY 12045: read(3, " % {\n / *\n * m o n".., 8192) = 5930 12045: read(3, 0x00062A74, 8192) = 0 12045: brk(0x00065F40) = 0 12045: brk(0x00067F40) = 0 12045: brk(0x00067F40) = 0 12045: brk(0x00069F40) = 0 12045: brk(0x00069F40) = 0 12045: brk(0x0006BF40) = 0 12045: llseek(3, 0, SEEK_CUR) = 5930 12045: close(3) = 0 12045: brk(0x0006BF40) = 0 12045: brk(0x0006DF40) = 0 12045: brk(0x0006DF40) = 0 12045: brk(0x0008DF40) = 0 12045: brk(0x0008DF40) = 0 12045: brk(0x000ADF40) = 0 12045: brk(0x000ADF40) = 0 12045: brk(0x000CDF40) = 0 12045: brk(0x000CDF40) = 0 12045: brk(0x000CFF40) = 0 12045: open("/usr/local/share/bison/m4sugar/m4sugar.m4", O_RDONLY) = 3 12045: llseek(3, 0, SEEK_CUR) = 0 12045: close(3) = 0 12045: sigaction(SIGCLD, 0xFFBFFA00, 0xFFBFFA80) = 0 12045: pipe() = 3 [4] 12045: pipe() = 5 [6] 12045: vfork() = 12046 12046: vfork() (returning as child ...) = 12045 12046: close(4) = 0 12046: close(5) = 0 12046: fcntl(3, F_DUP2FD, 0x00000000) = 0 12046: close(3) = 0 12046: fcntl(6, F_DUP2FD, 0x00000001) = 1 12046: close(6) = 0 12046: execve("/usr/local/bin/m4", 0xFFBFFB38, 0xFFBFFCC0) Err#2 ENOENT 12046: _exit(127) 12045: close(3) = 0 12045: close(6) = 0 12045: fstat64(4, 0xFFBFF908) = 0 12045: fstat64(4, 0xFFBFF7B0) = 0 12045: ioctl(4, TCGETA, 0xFFBFF894) Err#22 EINVAL 12045: write(4, " m 4 _ i n i t ( )\n m 4".., 5120) Err#32 EPIPE 12045: Received signal #13, SIGPIPE [default] Seems like a bison/m4 interaction error. bison is expecting the execve to m4 to be around for a while when it really isn't. Louis ---- Additional Comments From vargaz@freemail.hu 2004-03-23 15:44:35 MST ---- I think you need to have m4 installed at /usr/local/bin/m4. ---- Additional Comments From Louis.P.Santillan@jpl.nasa.gov 2004-03-23 16:00:29 MST ---- That might work. Except for the fact that I don't have GNU m4 installed or an m4 binary installed there. Sun's m4 is in /usr/ccs/bin/m4. Adding /usr/ccs/bin to PATH doesn't help either (must be hard coded in the binary). It's funny, this the second time in the past week that the differences between Sun's tools and GNU's tools has tripped me up. Last week it was the funky way Sun's cut tool works. Louis ---- Additional Comments From vargaz@freemail.hu 2004-03-28 11:56:16 MST ---- So this isn't a mono bug. This bug depended on bug(s) 55899. Unknown bug field "cf_op_sys_details" encountered while moving bug <cf_op_sys_details>Solaris 9</cf_op_sys_details> Unknown operating system Solaris [Other]. Setting to default OS "Other".