On Wed, 15 Nov 2000, Jere C. Julian, Jr. wrote:
> I'm on a FreeBSD 3.4-RELEASE box and I've just built and tested apache
> 1.3.14 from source. Then I try to build mod_perl with the following
> commands and get the errors below.
...
> Symbol.xs:106: `na' undeclared (first use this function)
> Symbol.xs:106: (Each undeclared identifier is reported only once
> Symbol.xs:106: for each function it appears in.)
this is supposed to be taken care of in Symbol.xs:
#include "patchlevel.h"
#if ((PATCHLEVEL >= 4) && (SUBVERSION >= 76)) || (PATCHLEVEL >= 5)
#define na PL_na
#endif
which probably means you have a bogus patchlevel.h (from an old tcl
install) in /usr/local/include either delete that or move it aside. the
right thing for Symbol.xs todo is not to use na at all, patch below.
Index: Symbol/Symbol.xs
===================================================================
RCS file: /home/cvs/modperl/Symbol/Symbol.xs,v
retrieving revision 1.4
diff -u -r1.4 Symbol.xs
--- Symbol/Symbol.xs 1998/11/24 19:10:56 1.4
+++ Symbol/Symbol.xs 2000/12/22 06:01:06
@@ -2,11 +2,6 @@
#include "perl.h"
#include "XSUB.h"
-#include "patchlevel.h"
-#if ((PATCHLEVEL >= 4) && (SUBVERSION >= 76)) || (PATCHLEVEL >= 5)
-#define na PL_na
-#endif
-
#ifdef PERL_OBJECT
#define sv_name(svp) svp
#define undef(ref)
@@ -102,8 +97,10 @@
mg_get(sv);
sym = SvPOKp(sv) ? SvPVX(sv) : Nullch;
}
- else
- sym = SvPV(sv, na);
+ else {
+ STRLEN n_a;
+ sym = SvPV(sv, n_a);
+ }
if(sym)
cv = perl_get_cv(sym, TRUE);
break;