Coda File System

coda 6.0.2 compile failure

From: Eric Sandall <eric_at_sandall.us>
Date: Tue, 7 Oct 2003 10:00:57 -0700
When compiling coda 6.0.2 I receive the following error:

g++ -fno-exceptions -fcheck-new -x c++ -Wall -MD -DHAVE_CONFIG_H -I.
-I/usr/src/coda-6.0.2/include -I/usr/src/coda-6.0.2 -march=athlon-mp -mmmx
-mfpmath=sse -msse -m3dnow  -c resolver_parser.c
y.tab.c: In function `int yyparse()':
y.tab.c:1331: error: parse error before `goto'
y.tab.c:1322: warning: label `yyerrlab1' defined but not used
make[3]: *** [resolver_parser.o] Error 1
make[3]: Leaving directory `/usr/src/coda-6.0.2/coda-src/asr'

Machine information:
Distro: Source Mage GNU/Linux
CPU: athlon-mp (single)
Packages:
  gcc:   3.3.1
  bison: 1.875
  flex:  2.5.27

I believe those are the relevant packages.

For coda 5.3.20, I used the following patch to fix this:
--- BEGIN PATCH ---

--- coda-src/asr/resolver_parser.c.old       2003-03-10 11:36:57.000000000
-0800
+++ coda-src/asr/resolver_parser.c   2003-03-10 11:37:20.000000000 -0800
@@ -1324,9 +1324,11 @@
 
   /* Suppress GCC warning that yyerrlab1 is unused when no action
      invokes YYERROR.  */
+/*
 #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
   __attribute__ ((__unused__))
 #endif
+*/
 
 
   goto yyerrlab2;

---END PATCH---

The following patch fixes this for 6.0.2 (however, I then get another error, see
below):

--- BEGIN PATCH ---

diff -uprN coda-6.0.2.old/coda-src/asr/resolver_parser.c
coda-6.0.2/coda-src/asr/resolver_parser.c
--- coda-6.0.2.old/coda-src/asr/resolver_parser.c       2003-10-07
16:55:46.000000000 +0000
+++ coda-6.0.2/coda-src/asr/resolver_parser.c   2003-10-07 16:57:34.000000000
+0000
@@ -1324,10 +1324,11 @@ yyerrlab1:
 
   /* Suppress GCC warning that yyerrlab1 is unused when no action
      invokes YYERROR.  */
+/*
 #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
   __attribute__ ((__unused__))
 #endif
-
+*/
 
   goto yyerrlab2;

--- END PATCH ---

I then receive this error:

gcc -fno-exceptions -Wall -MD -DHAVE_CONFIG_H -I. -I/usr/src/coda-6.0.2/include
-I/usr/src/coda-6.0.2 -march=athlon-mp -mmmx -mfpmath=sse -msse -m3dnow   -c -o
filerepair.o filerepair.c
gcc -fno-exceptions -z combreloc -s filerepair.o ../dir/libcodadir.a
../kerndep/libkerndep.a /usr/src/coda-6.0.2/lib-src/base/libbase.a
../util/libutil.a ../dir/libcodadir.a ../kerndep/libkerndep.a   
/usr/src/coda-6.0.2/lib-src/base/libbase.a ../util/libutil.a -lrpc2 -llwp 
-lresolv   -o filerepair
../util/libutil.a(getsecret.o)(.text+0x10): In function `HashSecret':
: undefined reference to `MD5_Init'
../util/libutil.a(getsecret.o)(.text+0x29): In function `HashSecret':
: undefined reference to `MD5_Update'
../util/libutil.a(getsecret.o)(.text+0x3b): In function `HashSecret':
: undefined reference to `MD5_Final'
collect2: ld returned 1 exit status
make[2]: *** [filerepair] Error 1
make[2]: Leaving directory `/usr/src/coda-6.0.2/coda-src/egasr'

I haven't done any research into where this error comes from, as I have to run
to class.

Thoughts?

-sandalle

-- 
PGP Key Fingerprint:  FCFF 26A1 BE21 08F4 BB91  FAED 1D7B 7D74 A8EF DD61
http://search.keyserver.net:11371/pks/lookup?op=get&search=0xA8EFDD61

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/E/IT$ d-- s++:+>: a-- C++(+++) BL++++VIS>$ P+(++) L+++ E-(---) W++ N+@ o?
K? w++++>-- O M-@ V-- PS+(+++) PE(-) Y++(+) PGP++(+) t+() 5++ X(+) R+(++)
tv(--)b++(+++) DI+@ D++(+++) G>+++ e>+++ h---(++) r++ y+
------END GEEK CODE BLOCK------

Eric Sandall                     |  Source Mage GNU/Linux Developer
[email protected]                  |  http://www.sourcemage.org/
http://eric.sandall.us/          |  SysAdmin @ Inst. Shock Physics @ WSU
http://counter.li.org/  #196285  |  http://www.shock.wsu.edu/

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
Received on 2003-10-07 13:03:12