Ok, I went back to the kde/kdebase dir and re-ran make in the hopes it would consider kcheckpass up to date and skip it (which it did), but after some more compiling the process choked again, this time with what looks (to my blind eyes) like a more difficult problem. KDE_CONFDIR doesn't seem to be getting replaced properly in the cpp files. Here's the error from the build process: /mnt/space/kde3.1/bin/moc ./main.h -o main.moc creating kcm_kdm_la.all_cpp.cpp ... source='kcm_kdm_la.all_cpp.cpp' object='kcm_kdm_la.all_cpp.lo' libtool=yes \ depfile='.deps/kcm_kdm_la.all_cpp.Plo' tmpdepfile='.deps/kcm_kdm_la.all_cpp.TPlo' \ depmode=gcc3 /bin/sh ../../admin/depcomp \ /bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../kcontrol/background -I../../kcontrol/background -I../../kdesktop -I/mnt/space/kde3.1/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -O2 -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST -D_GNU_SOURCE -c -o kcm_kdm_la.all_cpp.lo `test -f 'kcm_kdm_la.all_cpp.cpp' || echo './'`kcm_kdm_la.all_cpp.cpp In file included from kcm_kdm_la.all_cpp.cpp:2: background.cpp: In method `KBackground::KBackground (QWidget *, const char *)': background.cpp:57: `KDE_CONFDIR' undeclared (first use this function) background.cpp:57: (Each undeclared identifier is reported only once for each function it appears in.) background.cpp:57: parse error before string constant In file included from kcm_kdm_la.all_cpp.cpp:8: klanguagebutton.cpp: In method `void KLanguageButton::insertLanguage (const QString &, const QString &, const QString &, const QString &, int)': klanguagebutton.cpp:133: warning: unused parameter `const QString &sub' In file included from kcm_kdm_la.all_cpp.cpp:9: main.cpp: In method `KDModule::KDModule (QWidget *, const char *, const QStringList &)': main.cpp:95: parse error before string constant make[4]: *** [kcm_kdm_la.all_cpp.lo] Error 1 make[4]: Leaving directory `/root/konstruct/kde/kdebase/work/kdebase-3.1/kcontrol/kdm' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/root/konstruct/kde/kdebase/work/kdebase-3.1/kcontrol' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/root/konstruct/kde/kdebase/work/kdebase-3.1' make[1]: *** [all] Error 2 make[1]: Leaving directory `/root/konstruct/kde/kdebase/work/kdebase-3.1' make: *** [build-work/kdebase-3.1/Makefile] Error 2 And if I look at the actual cpp file, I see string KDE_CONFDIR at a spot where I would expect to see a directory in quotes with a comma after it and a space before it (since it's a list of args to a function). If I fix it here and re-run make in just that directory, then the problem moves over to main.cpp. I could fix it there too, I suppose, but doesn't this point towards a problem with the Makefile not being interpreted correctly on my machine, which would in turn point to my having some build tool out of date? If so, which tool? Any advice would be appreciated. -- Trever -----Original Message----- From: Thiago Macieira [mailto:thiagom@wanadoo.fr] Sent: Thursday, February 27, 2003 1:25 AM To: kde-devel@kde.org Subject: RE: can't build kcheckpass from kde3.1 on rh7.2? missing crypt f unct ion? Furnish, Trever G wrote: >Thiago Macieira [mailto:thiagom@wanadoo.fr] wrote: >>Furnish, Trever G wrote: >>>checkpass_etcpasswd.o(.text+0x26): undefined reference to `crypt' >>>collect2: ld returned 1 exit status >> >>You're just missing -lcrypt in the link line. > >Thanks - I'll give it a try. Any thoughts on the "proper" way to get that >added to the line? And by "the link line", you're refering to the line that >begins with /bin/sh ../libtool, correct? You can compile manually by copy/pasting the link line (yes, the one that starts with libtool and has -o myprogram) and adding -lcrypt to its end. The Right Solution (TM) would be to write a test case in the configure script that detects that crypt(3) is in libcrypt and automatically add -lcrypt to the automatic library variable or to something like $(LIBCRYPT). That way, you can use myprogram_LDADD = $(LIBCRYPT) to make sure you link against the proper libraries. > >Did I mention that my C skill level is pretty low? :-) As long as your make / Automake level is pretty high, it won't matter ;-) -- Thiago Macieira - UFOT Registry number: 1001 thiagom@mail.com ICQ UIN: 1967141 PGP/GPG: 0x6EF45358 Registered Linux user #65028 >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<