Skip to Content.
Sympa Menu

svadev - Re: [svadev] clang fails to build poolalloc

svadev AT lists.siebelschool.illinois.edu

Subject: Svadev mailing list

List archive

Re: [svadev] clang fails to build poolalloc


Chronological Thread 
  • From: John Criswell <criswell AT illinois.edu>
  • To: Csaba Raduly <rcsaba AT gmail.com>
  • Cc: svadev AT cs.uiuc.edu
  • Subject: Re: [svadev] clang fails to build poolalloc
  • Date: Fri, 21 Oct 2011 09:58:59 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
  • List-id: <svadev.cs.uiuc.edu>
  • Organization: University of Illinois

On 10/21/11 2:45 AM, Csaba Raduly wrote:
Hi,
I was trying to compile poolalloc r142643 (accidentally with clang++)
on SUSE Linux Enterprise Desktop 11 (x86_64) when this happened:

I believe I've fixed the error. Can you update from the SVN repository and try again?

-- John T.


make[4]: Entering directory
`/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog'
llvm[4]: Compiling WatchDog.cpp for Release+Asserts build
if clang++ -I/local/csaba/LLVM/build-release/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/../../../llvm/projects/poolalloc/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog
-I/local/csaba/LLVM/llvm/include
-I/local/csaba/LLVM/llvm/projects/poolalloc/tools/WatchDog -D_DEBUG
-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fno-exceptions
-fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual -Werror -Wall
-Wno-deprecated -pedantic -Wno-long-long -Wall -W
-Wno-unused-parameter -Wwrite-strings -c -MMD -MP -MF
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d.tmp"
-MT
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.o"
-MT
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d"
/local/csaba/LLVM/llvm/projects/poolalloc/tools/WatchDog/WatchDog.cpp
-o
/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.o
; \
then /bin/mv -f
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d.tmp"
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d";
else /bin/rm
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d.tmp";
exit 1; fi
/local/csaba/LLVM/llvm/projects/poolalloc/tools/WatchDog/WatchDog.cpp:96:1:
error: function 'check_process' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
check_process (int sig) {
^
1 error generated.

$ clang++ -v
clang version 3.1 (trunk 142572)
Target: x86_64-unknown-linux-gnu
Thread model: posix

Retrying with g++ version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE
Linux) succeeded:

make[4]: Entering directory
`/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog'
llvm[4]: Compiling WatchDog.cpp for Release+Asserts build
if g++ -I/local/csaba/LLVM/build-release/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/../../../llvm/projects/poolalloc/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog
-I/local/csaba/LLVM/llvm/include
-I/local/csaba/LLVM/llvm/projects/poolalloc/tools/WatchDog -D_DEBUG
-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fno-exceptions
-fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual -Werror -Wall
-Wno-deprecated -pedantic -Wno-long-long -Wall -W
-Wno-unused-parameter -Wwrite-strings -c -MMD -MP -MF
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d.tmp"
-MT
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.o"
-MT
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d"
/local/csaba/LLVM/llvm/projects/poolalloc/tools/WatchDog/WatchDog.cpp
-o
/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.o
; \
then /bin/mv -f
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d.tmp"
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d";
else /bin/rm
"/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.d.tmp";
exit 1; fi
llvm[4]: Linking Release+Asserts executable watchdog (without symbols)
g++ -I/local/csaba/LLVM/build-release/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/../../../llvm/projects/poolalloc/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/include
-I/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog
-I/local/csaba/LLVM/llvm/include
-I/local/csaba/LLVM/llvm/projects/poolalloc/tools/WatchDog -D_DEBUG
-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
-D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fno-exceptions
-fno-rtti -fPIC -Woverloaded-virtual -Wcast-qual -Werror -Wall
-Wno-deprecated -O3 -Wl,-R -Wl,'$ORIGIN/../lib' -Wl,-R
-Wl,/local/csaba/LLVM/build-release/projects/poolalloc/Release+Asserts/bin
-Wl,-export-dynamic
-L/local/csaba/LLVM/build-release/projects/poolalloc/Release+Asserts/lib
-L/local/csaba/LLVM/build-release/Release+Asserts/lib -pedantic
-Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -o
/local/csaba/LLVM/build-release/projects/poolalloc/Release+Asserts/bin/watchdog

/local/csaba/LLVM/build-release/projects/poolalloc/tools/WatchDog/Release+Asserts/WatchDog.o
\
-lpthread -ldl -lm
llvm[4]: ======= Finished Linking Release+Asserts Executable watchdog
(without symbols)

I think that if the signal(check_proces) call is inside an #ifdef
__APPLE__, then check_process() itself should also be in an ifdef:

$ svn diff ../llvm/projects/poolalloc/tools/WatchDog/
Index: ../llvm/projects/poolalloc/tools/WatchDog/WatchDog.cpp
===================================================================
--- ../llvm/projects/poolalloc/tools/WatchDog/WatchDog.cpp
(revision 142643)
+++ ../llvm/projects/poolalloc/tools/WatchDog/WatchDog.cpp (working copy)
@@ -92,6 +92,7 @@
// This function is a signal handler. It is called on receipt of an alarm
// signal to check the memory usage of a child process.
//
+#if defined(__APPLE__)
static void
check_process (int sig) {
char cmd[256];
@@ -120,6 +121,7 @@
alarm (check_interval);
return;
}
+#endif

int
main (int argc, char ** argv) {


Csaba





Archive powered by MHonArc 2.6.16.

Top of Page