[sudo-workers] 1.6.9b1 compilation fails on Solaris 10 x86

Drew Schatt schatt at schatt.com
Tue Jun 19 15:07:12 EDT 2007


On Jun 19, 2007, at 11:54 AM, Drew Schatt wrote:

> Attempting to compile sudo 1.6.9b1 on Solaris 10 x86, I get the
> following error during compile:
>
>> cc -c -I. -I. -I/usr/local/include -I/usr/local/ssl/include -D_XPG6
>> -L/usr/local/lib -L/usr/local/ssl/lib -KPIC -lm -xc99 -I/usr/local/
>> include -I/usr/local/ssl/include -L/usr/local/lib -L/usr/local/ssl/
>> lib -D_XPG6 -xstrconst -KPIC -lm -D__EXTENSIONS__ -D_PATH_SUDOERS=
>> \"/etc/sudoers\" -D_PATH_SUDOERS_TMP=\"/etc/sudoers.tmp\" -
>> DSUDOERS_UID=0 -DSUDOERS_GID=0 -DSUDOERS_MODE=0440  parse.c
>> "parse.c", line 443: undefined symbol: FNM_CASEFOLD
>> "parse.c", line 445: undefined symbol: FNM_CASEFOLD
>> cc: acomp failed for parse.c
>
>
> According to the configure output, I have a working fnmatch:
>> checking for working POSIX fnmatch... yes
>
> Anyone have any ideas, or anything that I should try?
> 	-Drew Schatt

Bad form to respond to my own message, but I have the following  
additional information:


To fix the error in compilation in parse.c, I think that the ifndef  
needs to be changed to an ifdef - line 47 in parse.c needs to be:

> #ifdef HAVE_FNMATCH
> # include "emul/fnmatch.h"
> #endif /* HAVE_FNMATCH */

instead of:
> #ifndef HAVE_FNMATCH
> # include "emul/fnmatch.h"
> #endif /* HAVE_FNMATCH */


In addition, there is an undefined symbol "_PATH_DEVNULL", which  
isn't mentioned anywhere else in the source code - (perhaps a missing  
autoconf change?) on line 966 in sudo.c.

After changing that to be "/dev/null", sudo compiles fine.

However, visudo fails to compile, because of two missing symbols,  
both of which are defined in sudo.c.

> cc -o visudo visudo.o fileops.o gettime.o goodpath.o find_path.o  
> sudo.tab.o lex.yy.o alloc.o defaults.o err.o glob.o memrchr.o  
> snprintf.o getprogname.o    -lsocket -lnsl
> Undefined                       first referenced
> symbol                             in file
> sudo_getpwnam                       glob.o
> sudo_getpwuid                       glob.o
>

Any ideas on how to get visudo to compile as well?
	-Drew Schatt



More information about the sudo-workers mailing list