[Bug 211152] benchmarks/iozone: Build fails on typedef redefinition with different types ('long long' vs '__off64_t' (aka 'long'))
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Jul 19 00:09:55 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211152
--- Comment #29 from Mark Millard <markmi at dsl-only.net> ---
(In reply to w.schwarzenfeld from comment #28)
[I've only tried amd64 so far, not armv6.]
The new patch created a zero length files/patch-libasync.c :
# ls -lt /usr/ports/benchmarks/iozone/files/
total 14
-rw-r--r-- 1 root wheel 126 Jul 18 16:56 patch-pit_server.c
-rw-r--r-- 1 root wheel 0 Jul 18 16:56 patch-libasync.c
-rw-r--r-- 1 root wheel 19945 Jul 18 16:56 patch-iozone.c
and that lead to:
===> Found saved configuration for iozone-3.434
===> iozone-3.444 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by iozone-3.444 for building
===> Extracting for iozone-3.444
=> SHA256 Checksum OK for iozone3_444.tgz.
===> Patching for iozone-3.444
===> Applying FreeBSD patches for iozone-3.444
I can't seem to find a patch in there anywhere.
=> Patch patch-libasync.c failed to apply cleanly.
=> Patch(es) patch-iozone.c applied cleanly.
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/benchmarks/iozone
*** Error code 1
Stop.
make: stopped in /usr/ports/benchmarks/iozone
===>>> make build failed for benchmarks/iozone
===>>> Aborting update
Retrying after a manual . . .
# rm /usr/ports/benchmarks/iozone/files/patch-libasync.c
did build. It reported what our past exchanges would indicate as expected for
amd64:
cc -c -pipe -g -fstack-protector -fno-strict-aliasing -DFreeBSD -Dunix
-Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD -DNAME='"freebsd"'
-DSHARED_MEM -pipe -g -fstack-protector -fno-strict-aliasing iozone.c -o
iozone_freebsd.o
iozone.c:768:9: warning: 'CACHE_LINE_SIZE' macro redefined [-Wmacro-redefined]
#define CACHE_LINE_SIZE 32
^
/usr/include/machine/param.h:93:9: note: previous definition is here
#define CACHE_LINE_SIZE (1 << CACHE_LINE_SHIFT)
^
iozone.c:1927:25: warning: format specifies type 'long long *' but the argument
has type 'off64_t *' (aka 'long *') [-Wformat]
sscanf(optarg,"%lld",&kilobytes64);
~~~~ ^~~~~~~~~~~~
%ld
iozone.c:2456:28: warning: format specifies type 'long long *' but the argument
has type 'off64_t *' (aka 'long *') [-Wformat]
sscanf(subarg,"%lld",&burst_size_kb_64);
~~~~
^~~~~~~~~~~~~~~~~
%ld
3 warnings generated.
Note: armv6 would not have the long long* vs. long * messages because off64_t
(really off_t for FreeBSD) would translated to long long because long is only
32-bits for armv6. FreeBSD only uses long for such when long is 64-bits.
Non-FreeBSD might have a wider variety of off64_t definitions overall.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list