[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