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
pgpcodVLy5Eeg.pgp
Description: PGP signature