On Sun, Nov 24, 2013 at 05:11:51PM -0800, Manfred Antar wrote:
> Since the changes to libc in the last few weeks.
> building world fails in /bin/csh
> 
> cc -O2 -pipe  -I. -I/usr/src/bin/csh -I/usr/src/bin/csh/../../contrib/tcsh 
> -D_PATH_TCSHELL='"/bin/csh"' -DHAVE_ICONV -std=gnu99 -Qunused-arguments 
> -fstack-protector -Wsystem-headers -Wno-pointer-sign -Wno-empty-body 
> -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value 
> -Wno-parentheses-equality -Wno-unused-function -Wno-conversion -Wno-switch 
> -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses  -static -o csh 
> sh.o sh.dir.o sh.dol.o sh.err.o sh.exec.o sh.char.o sh.exp.o sh.file.o 
> sh.func.o sh.glob.o sh.hist.o sh.init.o sh.lex.o sh.misc.o sh.parse.o 
> sh.print.o sh.proc.o sh.sem.o sh.set.o sh.time.o glob.o mi.termios.o 
> tw.help.o tw.init.o tw.parse.o tw.spell.o tw.comp.o tw.color.o ed.chared.o 
> ed.defns.o ed.init.o ed.inputl.o ed.refresh.o ed.screen.o ed.xmap.o ed.term.o 
> tc.alloc.o tc.bind.o tc.const.o tc.disc.o tc.func.o tc.nls.o tc.os.o 
> tc.printf.o tc.prompt.o tc.sched.o tc.sig.o tc.str.o tc.vers.o tc.who.o 
> tc.defs.o -ltermcap -lcrypt
> sh.func.o: In function `nlsclose':
> /usr/src/bin/csh/../../contrib/tcsh/sh.func.c:(.text+0x2753): undefined 
> reference to `iconv_close'
> sh.func.o: In function `nlsinit':
> /usr/src/bin/csh/../../contrib/tcsh/sh.func.c:(.text+0x2874): undefined 
> reference to `iconv_open'
> sh.func.o: In function `iconv_catgets':
> /usr/src/bin/csh/../../contrib/tcsh/sh.func.c:(.text+0x3f9a): undefined 
> reference to `iconv'
> cc: error: linker command failed with exit code 1 (use -v to see invocation)
> *** Error code 1
> 
> If I add -lc_nonshared to the LADD= line it builds fine 
> 
> cc -O2 -pipe  -I. -I/usr/src/bin/csh -I/usr/src/bin/csh/../../contrib/tcsh 
> -D_PATH_TCSHELL='"/bin/csh"' -DHAVE_ICONV -std=gnu99 -Qunused-arguments 
> -fstack-protector -Wsystem-headers -Wno-pointer-sign -Wno-empty-body 
> -Wno-string-plus-int -Wno-tautological-compare -Wno-unused-value 
> -Wno-parentheses-equality -Wno-unused-function -Wno-conversion -Wno-switch 
> -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses  -static -o csh 
> sh.o sh.dir.o sh.dol.o sh.err.o sh.exec.o sh.char.o sh.exp.o sh.file.o 
> sh.func.o sh.glob.o sh.hist.o sh.init.o sh.lex.o sh.misc.o sh.parse.o 
> sh.print.o sh.proc.o sh.sem.o sh.set.o sh.time.o glob.o mi.termios.o 
> tw.help.o tw.init.o tw.parse.o tw.spell.o tw.comp.o tw.color.o ed.chared.o 
> ed.defns.o ed.init.o ed.inputl.o ed.refresh.o ed.screen.o ed.xmap.o ed.term.o 
> tc.alloc.o tc.bind.o tc.const.o tc.disc.o tc.func.o tc.nls.o tc.os.o 
> tc.printf.o tc.prompt.o tc.sched.o tc.sig.o tc.str.o tc.vers.o tc.who.o 
> tc.defs.o -ltermcap -lcrypt -lc_nonshared
> 
> Not sure what rule to use.
> I don't know how many people use WITHOUT_DYNAMICROOT
> I like it though.
> Manfred
> 

I think WITHOUT_DYNAMICROOT=1 has nothing to do with this.  I worked
around it by setting WITHOUT_NLS_CATALOGS=1 (see src.conf(5)).

The relevant parts of the contrib/tcsh/sh.func.c are:

2578 # if defined(HAVE_ICONV) && defined(HAVE_NL_LANGINFO)
2579 char *
2580 iconv_catgets(nl_catd ctd, int set_id, int msg_id, const char *s)
2581 {
2582     static char *buf = NULL;
2583     static size_t buf_size = 0;

Glen

Attachment: pgpcodVLy5Eeg.pgp
Description: PGP signature

Reply via email to