perf build failure on current tip:perf/core
Hi,
When I tried to build perf, I was faced with following error:
CC util/trace-event-info.o
cc1: warnings being treated as errors util/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1
The code I tried was latest tip:perf/core - 9e183426bfb5 ("perf kvm: Fix copy & paste error in description") and code in mainline (v3.2) doesn't have this problem. Looking at the code, I couldn't find any clue to this. Any idea?
FYI, my system is Ubuntu 10.04 on x86_64. gcc version is 4.4.3:
namhyung@leonhard:perf$ gcc -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
Thanks.
Signature · 2 lines
Regards, Namhyung Kim
Em Sun, Jan 08, 2012 at 12:42:29AM +0900, Namhyung Kim escreveu:
Quoted 13 lines
Hi,
When I tried to build perf, I was faced with following error:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1
Quoted 6 lines
The code I tried was latest tip:perf/core -
9e183426bfb5("perf kvm: Fix copy & paste error in description") and code in mainline (v3.2) doesn't have this problem. Looking at the code, I couldn't find any clue to this. Any idea?FYI, my system is Ubuntu 10.04 on
x86_64. gcc version is 4.4.3:
Yeah, yesterday Joerg reported this as well, I managed to reproduce it on a newly installed ubuntu 10.04.3 (LTS) i686 VM, haven't had time to investigate yet tho.
- Arnaldo
Quoted 24 lines
namhyung@leonhard:perf$ gcc -v Using built-in specs. Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.3-4ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5)Thanks.
Signature · 2 lines
Regards, Namhyung Kim
Quoted 13 lines · Namhyung Kim
Hi,
When I tried to build perf, I was faced with following error:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1
Quoted 6 lines
The code I tried was latest tip:perf/core -
9e183426bfb5("perf kvm: Fix copy & paste error in description") and code in mainline (v3.2) doesn't have this problem. Looking at the code, I couldn't find any clue to this. Any idea?FYI, my system is Ubuntu 10.04 on
x86_64. gcc version is 4.4.3:
Which header does pwrite() belong to on that system - what does 'map pwrite' say? It ought to be unistd.h, which is directly included in util/trace-event-info.c.
My guess is that it might be related to:
tools/perf/Makefile:ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
Which introduces pwrite64() and defines pwrite() to them.
Does the patch below help? It's only a workaround really as pwrite() ought to exist ... Also, i have only tested this on 64-bit.
Thanks,
Ingo
tools/perf/util/trace-event-info.c +1 -1
@@ -189,7 +189,7 @@ static void record_file(const char *file, size_t hdr_sz)if (bigendian ()) sizep +=sizeof (u64) - hdr_sz; -if (hdr_sz &&pwrite (output_fd, sizep, hdr_sz, hdr_pos) <0 ) +if (hdr_sz &&pwrite64 (output_fd, sizep, hdr_sz, hdr_pos) <0 )die ("writing to %s" , output_file); }
2012-01-08 (일), 10:00 +0100, Ingo Molnar:
Quoted 45 lines · Namhyung Kim
Quoted 14 lines
Hi,
When I tried to build perf, I was faced with following error:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1Quoted 6 lines
The code I tried was latest tip:perf/core -
9e183426bfb5("perf kvm: Fix copy & paste error in description") and code in mainline (v3.2) doesn't have this problem. Looking at the code, I couldn't find any clue to this. Any idea?FYI, my system is Ubuntu 10.04 on
x86_64. gcc version is 4.4.3:Which header does
pwrite()belong to on that system - what does 'map pwrite' say? It ought to beunistd.h, which is directly included inutil/trace-event-info.c.My guess is that it might be related to:
tools/perf/Makefile:ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
Which introduces
pwrite64()and definespwrite()to them.Does the patch below help? It's only a workaround really as
pwrite()ought to exist ... Also, i have only tested this on 64-bit.Thanks,
Ingo
tools/perf/util/trace-event-info.c +0
-0
tools/perf/util/trace-event-info.c static void record_file(const char *file, size_t hdr_sz) · line 195
Quoted 8 lines
tools/perf/util/trace-event-info.c +1
-1@@ -189,7 +189,7 @@ static void record_file(const char *file, size_t hdr_sz)if (bigendian ()) sizep +=sizeof (u64) - hdr_sz; -if (hdr_sz &&pwrite (output_fd, sizep, hdr_sz, hdr_pos) <0 ) +if (hdr_sz &&pwrite64 (output_fd, sizep, hdr_sz, hdr_pos) <0 )die ("writing to %s" , output_file); }
Hello,
Unfortunately, above patch doesn't work for my system:
CC util/trace-event-info.o
cc1: warnings being treated as errors util/trace-event-info.c: In function ‘record_file’:
util/trace-event-info.c:192: error: implicit declaration of function
‘pwrite64’
util/trace-event-info.c:192: error: nested extern declaration of
‘pwrite64’
And 'map pwrite' on terminal says:
$ map pwrite The program 'map' is currently not installed. You can install it by typing: sudo apt-get install sgt-puzzles
I don't think this is the package what you said. Anyway quick grep'ing pwrite tells me it's in the unistd.h:
$ grep pwrite /usr/include/unistd.h extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, pwrite64) __wur; # define pwrite pwrite64
Thanks.
Signature · 2 lines
Regards, Namhyung Kim
Quoted 67 lines · Namhyung Kim
2012-01-08 (일), 10:00 +0100, Ingo Molnar:
Quoted 45 lines · Namhyung Kim
Quoted 14 lines
Hi,
When I tried to build perf, I was faced with following error:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1Quoted 6 lines
The code I tried was latest tip:perf/core -
9e183426bfb5("perf kvm: Fix copy & paste error in description") and code in mainline (v3.2) doesn't have this problem. Looking at the code, I couldn't find any clue to this. Any idea?FYI, my system is Ubuntu 10.04 on
x86_64. gcc version is 4.4.3:Which header does
pwrite()belong to on that system - what does 'map pwrite' say? It ought to beunistd.h, which is directly included inutil/trace-event-info.c.My guess is that it might be related to:
tools/perf/Makefile:ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
Which introduces
pwrite64()and definespwrite()to them.Does the patch below help? It's only a workaround really as
pwrite()ought to exist ... Also, i have only tested this on 64-bit.Thanks,
Ingo
tools/perf/util/trace-event-info.c +0
-0tools/perf/util/trace-event-info.c static void record_file(const char *file, size_t hdr_sz) · line 195
Quoted 8 lines
tools/perf/util/trace-event-info.c +1
-1@@ -189,7 +189,7 @@ static void record_file(const char *file, size_t hdr_sz)if (bigendian ()) sizep +=sizeof (u64) - hdr_sz; -if (hdr_sz &&pwrite (output_fd, sizep, hdr_sz, hdr_pos) <0 ) +if (hdr_sz &&pwrite64 (output_fd, sizep, hdr_sz, hdr_pos) <0 )die ("writing to %s" , output_file); }Hello,
Unfortunately, above patch doesn't work for my system:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:
util/trace-event-info.c:192: error: implicit declaration of function
‘pwrite64’
util/trace-event-info.c:192: error: nested extern declaration of
‘pwrite64’
Quoted 1 line
And 'map pwrite' on terminal says:
'man pwrite' i wanted to say.
Quoted 5 lines
$ map pwrite The program 'map' is currently not installed. You can install it by typing: sudo apt-get install sgt-puzzles
Quoted 8 lines
I don't think this is the package what you said. Anyway quick grep'ing pwrite tells me it's in the
unistd.h:$ grep pwrite /usr/include/unistd.h extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, pwrite64) __wur; # define pwrite pwrite64
There's multiple definitions there, and we get lost somehow - as unistd.h is included:
~/tip/tools/perf> grep -n unistd.h util/trace-event-info.c 34:#include <unistd.h>
Thanks,
Ingo
Quoted 69 lines · Ingo Molnar
Quoted 67 lines · Namhyung Kim
2012-01-08 (일), 10:00 +0100, Ingo Molnar:
Quoted 45 lines · Namhyung Kim
Quoted 14 lines
Hi,
When I tried to build perf, I was faced with following error:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1Quoted 6 lines
The code I tried was latest tip:perf/core -
9e183426bfb5("perf kvm: Fix copy & paste error in description") and code in mainline (v3.2) doesn't have this problem. Looking at the code, I couldn't find any clue to this. Any idea?FYI, my system is Ubuntu 10.04 on
x86_64. gcc version is 4.4.3:Which header does
pwrite()belong to on that system - what does 'map pwrite' say? It ought to beunistd.h, which is directly included inutil/trace-event-info.c.My guess is that it might be related to:
tools/perf/Makefile:ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
Which introduces
pwrite64()and definespwrite()to them.Does the patch below help? It's only a workaround really as
pwrite()ought to exist ... Also, i have only tested this on 64-bit.Thanks,
Ingo
tools/perf/util/trace-event-info.c +0
-0tools/perf/util/trace-event-info.c static void record_file(const char *file, size_t hdr_sz) · line 195
Quoted 8 lines
tools/perf/util/trace-event-info.c +1
-1@@ -189,7 +189,7 @@ static void record_file(const char *file, size_t hdr_sz)if (bigendian ()) sizep +=sizeof (u64) - hdr_sz; -if (hdr_sz &&pwrite (output_fd, sizep, hdr_sz, hdr_pos) <0 ) +if (hdr_sz &&pwrite64 (output_fd, sizep, hdr_sz, hdr_pos) <0 )die ("writing to %s" , output_file); }Hello,
Unfortunately, above patch doesn't work for my system:
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:
util/trace-event-info.c:192: error: implicit declaration of function
‘pwrite64’
util/trace-event-info.c:192: error: nested extern declaration of
‘pwrite64’
Quoted 3 lines
Quoted 1 line
And 'map pwrite' on terminal says:
'man pwrite' i wanted to say.
Ah, OK :) here it is.
PREAD(2) Linux Programmer's Manual PREAD(2)
NAME
pread, pwrite - read from or write to a file descriptor at a given offset
SYNOPSIS
#define _XOPEN_SOURCE 500
#include <unistd.h>
ssize_t pread(int fd, void *buf, size_t count, off_t offset);
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);...
And #defining _XOPEN_SOURCE to 500 before the #include doesn't resolve the issue.
Quoted 18 lines
Quoted 6 lines
$ map pwrite The program 'map' is currently not installed. You can install it by typing: sudo apt-get install sgt-puzzlesQuoted 8 lines
I don't think this is the package what you said. Anyway quick grep'ing pwrite tells me it's in the
unistd.h:$ grep pwrite /usr/include/unistd.h extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, pwrite64) __wur; # define pwrite pwrite64There's multiple definitions there, and we get lost somehow - as
unistd.his included:
Quoted 6 lines
~/tip/tools/perf> grep -n
unistd.hutil/trace-event-info.c34:#include <unistd.h>Thanks,
Ingo
This is the content of my /usr/include/unistd.h:
#ifdef __USE_UNIX98
# ifndef __USE_FILE_OFFSET64 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __wur; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) __wur; # else # ifdef __REDIRECT extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, __off64_t __offset), pread64) __wur; extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset), pwrite64) __wur; # else # define pread pread64 # define pwrite pwrite64 # endif # endif
# ifdef __USE_LARGEFILE64 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __wur; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) __wur; # endif #endif
I think all of pread/write functions are properly defined here:
$ echo '#include <unistd.h>' | \
Quoted 2 lines
gcc -xc -E -dM -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 - | \
grep -e UNIX98 -e LARGEFILE64 -eFILE_OFFSET
#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" #define _LARGEFILE64_SOURCE 1
#define __USE_UNIX98 1
#define __USE_LARGEFILE64 1
#define _FILE_OFFSET_BITS 64
#define __USE_FILE_OFFSET64 1
Thanks,
Namhyung
Quoted 57 lines · Namhyung Kim
Quoted 17 lines
Quoted 5 lines
$ map pwrite The program 'map' is currently not installed. You can install it by typing: sudo apt-get install sgt-puzzlesQuoted 8 lines
I don't think this is the package what you said. Anyway quick grep'ing pwrite tells me it's in the
unistd.h:$ grep pwrite /usr/include/unistd.h extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, pwrite64) __wur; # define pwrite pwrite64There's multiple definitions there, and we get lost somehow - as
unistd.his included:Quoted 6 lines
~/tip/tools/perf> grep -n
unistd.hutil/trace-event-info.c34:#include <unistd.h>Thanks,
Ingo
This is the content of my
/usr/include/unistd.h:#ifdef
__USE_UNIX98# ifndef __USE_FILE_OFFSET64 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __wur; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) __wur; # else # ifdef __REDIRECT extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, __off64_t __offset), pread64) __wur; extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset), pwrite64) __wur; # else # define pread pread64 # define pwrite pwrite64 # endif # endif# ifdef __USE_LARGEFILE64 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __wur; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) __wur; # endif #endifI think all of pread/write functions are properly defined here:
$ echo '#include <unistd.h>' | \
Quoted 8 lines
Quoted 2 lines
gcc -xc -E -dM -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 - | \
grep -e UNIX98 -e LARGEFILE64 -eFILE_OFFSET#define
__ILP32_OFFBIG_CFLAGS"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" #define_LARGEFILE64_SOURCE1
#define__USE_UNIX981
#define__USE_LARGEFILE641
#define_FILE_OFFSET_BITS64
#define__USE_FILE_OFFSET641
So which preprocessor branch within unistd.h does it get into on your system and why isnt there a pwrite()/pwrite64() prototype once it goes along that path?
You could try an ugly approach and edit your unistd.h and put in debug lines like this:
#warn got here: __LINE__
and thus see which branch it really gets into.
(save a backup copy of unistd.h first ;-)
Thanks,
Ingo
Quoted 77 lines · Ingo Molnar
Quoted 57 lines · Namhyung Kim
Quoted 17 lines
Quoted 5 lines
$ map pwrite The program 'map' is currently not installed. You can install it by typing: sudo apt-get install sgt-puzzlesQuoted 8 lines
I don't think this is the package what you said. Anyway quick grep'ing pwrite tells me it's in the
unistd.h:$ grep pwrite /usr/include/unistd.h extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, pwrite64) __wur; # define pwrite pwrite64There's multiple definitions there, and we get lost somehow - as
unistd.his included:Quoted 6 lines
~/tip/tools/perf> grep -n
unistd.hutil/trace-event-info.c34:#include <unistd.h>Thanks,
Ingo
This is the content of my
/usr/include/unistd.h:#ifdef
__USE_UNIX98# ifndef __USE_FILE_OFFSET64 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __wur; extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, __off_t __offset) __wur; # else # ifdef __REDIRECT extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, __off64_t __offset), pread64) __wur; extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset), pwrite64) __wur; # else # define pread pread64 # define pwrite pwrite64 # endif # endif# ifdef __USE_LARGEFILE64 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __wur; extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset) __wur; # endif #endifI think all of pread/write functions are properly defined here:
$ echo '#include <unistd.h>' | \Quoted 8 lines
Quoted 2 lines
gcc -xc -E -dM -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 - | \
grep -e UNIX98 -e LARGEFILE64 -eFILE_OFFSET#define
__ILP32_OFFBIG_CFLAGS"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" #define_LARGEFILE64_SOURCE1
#define__USE_UNIX981
#define__USE_LARGEFILE641
#define_FILE_OFFSET_BITS64
#define__USE_FILE_OFFSET641So which preprocessor branch within
unistd.hdoes it get into on your system and why isnt there a pwrite()/pwrite64() prototype once it goes along that path?You could try an ugly approach and edit your
unistd.hand put in debug lines like this:#warn got here:
__LINE__
Quoted 7 lines
and thus see which branch it really gets into.
(save a backup copy of
unistd.hfirst ;-)Thanks,
Ingo
Hi, Ingo
Putting the debug lines told me __USE_UNIX98 is not defined for the file. It's because ctype.h gets included without _GNU_SOURCE and then it includes feature.h AFAICS. Encompassing ctype.h with #define/#undef _GNU_SOURCE or just adding __USE_UNIX98 before unistd.h makes the file compiled, but it seems like an improper solution. What is the right way?
Thanks.
Signature · 2 lines
Regards, Namhyung Kim
Quoted 6 lines · Namhyung Kim
Putting the debug lines told me
__USE_UNIX98is not defined for the file. It's becausectype.hgets included without_GNU_SOURCEand then it includesfeature.hAFAICS. Encompassingctype.hwith #define/#undef_GNU_SOURCEor just adding__USE_UNIX98beforeunistd.hmakes the file compiled, but it seems like an improper solution. What is the right way?
Could you just remove the ctype.h include? AFAICS it's not needed in that file.
Thanks,
Ingo
PATCH 1/1 perf tools: Fix compile error on x86_64 Ubuntu
ctype.h is not needed here and it breaks build on some system (at least 64bit Ubuntu 10.04) like below. Just get rid of it.
CC util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’ util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1
--- tools/perf/util/trace-event-info.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)
tools/perf/util/trace-event-info.c +0 -1
@@ -18,7 +18,6 @@* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -#include <ctype.h> #include "util.h" #include <dirent.h> #include <mntent.h>
Signature · 1 line
1.7.8.2
Re: [PATCH] perf tools: Fix compile error on x86_64 Ubuntu
Em Mon, Jan 09, 2012 at 12:10:30AM +0900, Namhyung Kim escreveu:
Quoted 2 lines
ctype.his not needed here and it breaks build on some system (at least 64bit Ubuntu 10.04) like below. Just get rid of it.
Thanks, applying it together with your previous patchset.
- Arnaldo
Quoted 26 lines
CC
util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1Signed-off-by Namhyung Kim <[email protected]>--- tools/perf/util/trace-event-info.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)tools/perf/util/trace-event-info.c +0
-1@@ -18,7 +18,6 @@* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -#include <ctype.h> #include "util.h" #include <dirent.h> #include <mntent.h> Signature · 1 line
1.7.8.2
Re: [PATCH] perf tools: Fix compile error on x86_64 Ubuntu
Quoted 5 lines · Arnaldo Carvalho de Melo
Em Mon, Jan 09, 2012 at 12:10:30AM +0900, Namhyung Kim escreveu:
Quoted 2 lines
ctype.his not needed here and it breaks build on some system (at least 64bit Ubuntu 10.04) like below. Just get rid of it.Thanks, applying it together with your previous patchset.
Note that there are other ctype.h inclusions elsewhere as well, which should be considered for removal as well.
Thanks,
Ingo
Re: [PATCH] perf tools: Fix compile error on x86_64 Ubuntu
2012-01-08 (일), 16:32 +0100, Ingo Molnar:
Quoted 6 lines · Arnaldo Carvalho de Melo
Quoted 5 lines
Em Mon, Jan 09, 2012 at 12:10:30AM +0900, Namhyung Kim escreveu:
Quoted 2 lines
ctype.his not needed here and it breaks build on some system (at least 64bit Ubuntu 10.04) like below. Just get rid of it.
Quoted 8 lines
Quoted 1 line
Thanks, applying it together with your previous patchset.
Note that there are other
ctype.hinclusions elsewhere as well, which should be considered for removal as well.Thanks,
Ingo
Hi,
I'll look into them as well later.
Thanks.
Signature · 2 lines
Regards, Namhyung Kim
[tip:perf/core] perf tools: Fix compile error on x86_64 Ubuntu
In reply to Namhyung KimCommit-ID: 172d1b0b73256551f100fc00c69e356d047103f5 Gitweb: http://git.kernel.org/tip/172d1b0b73256551f100fc00c69e356d047103f5 Author: Namhyung Kim <[email protected]> AuthorDate: Mon, 9 Jan 2012 00:10:30 +0900 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Sun, 8 Jan 2012 13:34:55 -0200
perf tools: Fix compile error on x86_64 Ubuntu
The ctype.h include is not needed here and it breaks build on some systems (at least 64bit Ubuntu 10.04) like below. Just get rid of it.
CC util/trace-event-info.o
cc1: warnings being treated as errorsutil/trace-event-info.c: In function ‘record_file’:util/trace-event-info.c:192: error: implicit declaration of function ‘pwrite’ util/trace-event-info.c:192: error: nested extern declaration of ‘pwrite’
make: *** [util/trace-event-info.o] Error 1
--- tools/perf/util/trace-event-info.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-)
tools/perf/util/trace-event-info.c +0 -1
@@ -18,7 +18,6 @@* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -#include <ctype.h> #include "util.h" #include <dirent.h> #include <mntent.h>