[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    RE: can't build kcheckpass from kde3.1 on rh7.2?  missing crypt f
From:       "Furnish, Trever G" <TGFurnish () herff-jones ! com>
Date:       2003-02-27 14:48:54
[Download RAW message or body]

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 <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic