Bug 134197 - net-proxy/dansguardian-2.8.0.6-r1 fails to compile against uclibc++ due to missing ctime include
|
Bug#:
134197
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: net-proxy@gentoo.org
|
Reported By: natanael.copa@gmail.com
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: net-proxy/dansguardian-2.8.0.6-r1 fails to compile against uclibc++ due to missing ctime include
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2006-05-24 05:19 0000
|
Some of the sourcefiles are missing '#include <ctime>' so compiling against
uclibc++ fails.
Created an attachment (id=87386) [details]
dansguardian-2.8.0.6-ctime.patch
The attatched patch fixes the problem and should not hurt anybody.
The dansguardian autoconf stuff is really wierd. CXX is not honored. I don't
know how to fix it so I have just created a g++ symblink to g++-uc.
Yeah, the configure script is really strange, but the alpha version fixes this.
Can you test the latest alpha version to see if it works on your system?
Last time I tested it still missed the #include <ctime> in various places. I
will test the current tomorrow.
I would prefer to not ship alpha packages on my product so I'd really want it
fixed in the official stable dansguardian release too.
Of course I will fix this in the stable version, but I need to know if the
testing version is OK.
I also intend to set CPP to $(tc-getCXX) in the Makefile before compiling.
Please test if it fixes the other problem of yours.
Setting CPP=g++-uc does not work.
I gave up trying to fix the autoconf stuff and ended up linking g++ -> g++-uc.
Personally I'm ok with that until current alpha becomes stable.
(In reply to comment #4)
> Of course I will fix this in the stable version, but I need to know if the
> testing version is OK.
Its not.
if g++-uc -DHAVE_CONFIG_H -I. -I. -I.. -fexceptions -Os -pipe -MT
DataBuffer.o -MD -MP -MF ".deps/DataBuffer.Tpo" -c -o DataBuffer.o
DataBuffer.cpp; \
then mv -f ".deps/DataBuffer.Tpo" ".deps/DataBuffer.Po"; else rm -f
".deps/DataBuffer.Tpo"; exit 1; fi
ConnectionHandler.cpp: In member function `String
ConnectionHandler::hashedURL(String*, int, std::string*, bool)':
ConnectionHandler.cpp:187: error: `time' was not declared in this scope
make[2]: *** [ConnectionHandler.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory
`/var/tmp/portage/dansguardian-2.9.7.0_alpha/work/dansguardian-2.9.7.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/dansguardian-2.9.7.0_alpha/work/dansguardian-2.9.7.0'
make: *** [all] Error 2
Created an attachment (id=87914) [details]
dansguardian-2.9.7.0-ctime.patch
Patch for 2.9.7.0 that adds the missing ctime includes.
The ebuild still fails on linking with:
fancy.o: In function `fancydm::bytestring(int)':
fancy.cpp:(.text+0x782): undefined reference to `floor'
fancy.cpp:(.text+0x807): undefined reference to `floor'
fancy.cpp:(.text+0x88f): undefined reference to `floor'
fancy.o: In function `fancydm::timestring(int)':
fancy.cpp:(.text+0x9a6): undefined reference to `floor'
fancy.cpp:(.text+0x9de): undefined reference to `floor'
collect2: ld returned 1 exit status
make[2]: *** [dansguardian] Error 1
Setting LDADD=-lm works it around. Seems like the autoconf scripts needs a
better libmath detection.
This should probably be reported upstream.
I've fixed both versions in cvs and I've contacted upstream.
Thanks!