* fio-f1480f9: AIX 6.1 build KO against gcc function overlap
@ 2015-12-28 21:45 Thierry BERTAUD
2015-12-28 22:24 ` Andrey Kuzmin
2015-12-28 23:21 ` Jens Axboe
0 siblings, 2 replies; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-28 21:45 UTC (permalink / raw)
To: fio@vger.kernel.org
Hello Fio Team,
The 'send_file' function is defiined twice, so gcc doesn't like the same function with different signature.
How can i fix this issue and build fio since send_file is used by a system library?
Output from make:
---------------
client.c:1488:12: error: conflicting types for 'send_file'
static int send_file(struct fio_client *client, struct cmd_sendfile *pdu,
^
In file included from client.c:11:0:
/usr/include/sys/socket.h:760:9: note: previous declaration of 'send_file' was here
ssize_t send_file(int *, struct sf_parms *, uint_t);
-------------
Version:
AIX:
# oslevel -s
6100-08-01-1245
#
GCC:
# gcc --version
gcc (GCC) 4.8.3
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
Build output:
# ./configure --disable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic no
getmntent yes
getmntinfo no
Static Assert yes
bool yes
#
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
lib/pattern.c: In function 'parse_number':
lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
_end = strcasestr(beg, "0x");
^
lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
_end = strcasestr(beg, "0x");
^
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
client.c:1488:12: error: conflicting types for 'send_file'
static int send_file(struct fio_client *client, struct cmd_sendfile *pdu,
^
In file included from client.c:11:0:
/usr/include/sys/socket.h:760:9: note: previous declaration of 'send_file' was here
ssize_t send_file(int *, struct sf_parms *, uint_t);
^
Makefile:289: recipe for target 'client.o' failed
gmake: *** [client.o] Error 1
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-28 21:45 fio-f1480f9: AIX 6.1 build KO against gcc function overlap Thierry BERTAUD
@ 2015-12-28 22:24 ` Andrey Kuzmin
2015-12-28 23:18 ` Thierry BERTAUD
2015-12-28 23:21 ` Jens Axboe
1 sibling, 1 reply; 21+ messages in thread
From: Andrey Kuzmin @ 2015-12-28 22:24 UTC (permalink / raw)
To: Thierry BERTAUD; +Cc: fio@vger.kernel.org
On Tue, Dec 29, 2015 at 12:45 AM, Thierry BERTAUD <tbertaud@conforama.fr> wrote:
> Hello Fio Team,
>
> The 'send_file' function is defiined twice, so gcc doesn't like the same function with different signature.
> How can i fix this issue and build fio since send_file is used by a system library?
>
> Output from make:
> ---------------
> client.c:1488:12: error: conflicting types for 'send_file'
> static int send_file(struct fio_client *client, struct cmd_sendfile *pdu,
Seems to be AIX sys/socket.h specific, you can just rename the above
to fio_send_file, I believe.
> ^
> In file included from client.c:11:0:
> /usr/include/sys/socket.h:760:9: note: previous declaration of 'send_file' was here
> ssize_t send_file(int *, struct sf_parms *, uint_t);
> -------------
>
>
> Version:
> AIX:
> # oslevel -s
> 6100-08-01-1245
> #
>
> GCC:
> # gcc --version
> gcc (GCC) 4.8.3
> Copyright (C) 2013 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> #
>
>
> Build output:
> # ./configure --disable-lex
> Operating system AIX
> CPU ppc
> Big endian yes
> Compiler gcc
> Cross compile no
>
> Static build no
> Wordsize 32
> zlib yes
> Linux AIO support no
> POSIX AIO support yes
> POSIX AIO support needs -lrt no
> POSIX AIO fsync yes
> Solaris AIO support no
> __sync_fetch_and_add no
> libverbs no
> rdmacm yes
> Linux fallocate no
> POSIX fadvise yes
> POSIX fallocate yes
> sched_setaffinity(3 arg) no
> sched_setaffinity(2 arg) no
> clock_gettime yes
> CLOCK_MONOTONIC yes
> CLOCK_MONOTONIC_RAW no
> CLOCK_MONOTONIC_PRECISE no
> gettimeofday yes
> fdatasync yes
> sync_file_range no
> EXT4 move extent no
> Linux splice(2) no
> GUASI no
> Fusion-io atomic engine no
> libnuma no
> strsep yes
> strcasestr no
> strlcat no
> getopt_long_only() no
> inet_aton yes
> socklen_t yes
> __thread yes
> RUSAGE_THREAD yes
> SCHED_IDLE no
> TCP_NODELAY yes
> Net engine window_size yes
> TCP_MAXSEG yes
> RLIMIT_MEMLOCK no
> pwritev/preadv yes
> IPv6 helpers yes
> Rados Block Device engine no
> setvbuf yes
> Gluster API engine no
> s390_z196_facilities no
> HDFS engine no
> MTD no
> lex/yacc for arithmetic no
> getmntent yes
> getmntinfo no
> Static Assert yes
> bool yes
> #
> # gmake CC=gcc
> FIO_VERSION = fio-2.3
> CC crc/crc64.o
> CC crc/md5.o
> CC crc/fnv.o
> CC crc/sha256.o
> CC crc/test.o
> CC crc/xxhash.o
> CC crc/crc32c-intel.o
> CC crc/murmur3.o
> CC crc/crc32.o
> CC crc/crc32c.o
> CC crc/sha1.o
> CC crc/crc7.o
> CC crc/sha512.o
> CC crc/crc16.o
> CC lib/gauss.o
> CC lib/prio_tree.o
> CC lib/axmap.o
> CC lib/flist_sort.o
> CC lib/hweight.o
> CC lib/zipf.o
> CC lib/getrusage.o
> CC lib/output_buffer.o
> CC lib/memalign.o
> CC lib/lfsr.o
> CC lib/bloom.o
> CC lib/strntol.o
> CC lib/num2str.o
> CC lib/mountcheck.o
> CC lib/pattern.o
> lib/pattern.c: In function 'parse_number':
> lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
> _end = strcasestr(beg, "0x");
> ^
> lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
> _end = strcasestr(beg, "0x");
It looks like AIX defines the strcasetr outside the <string.h>, so you
might want to add AIX-specific include.
Regards,
Andrey
> ^
> CC lib/ieee754.o
> CC lib/rbtree.o
> CC lib/rand.o
> CC gettime.o
> CC ioengines.o
> CC init.o
> CC stat.o
> CC log.o
> CC time.o
> CC filesetup.o
> CC eta.o
> CC verify.o
> CC memory.o
> CC io_u.o
> CC parse.o
> CC mutex.o
> CC options.o
> CC smalloc.o
> CC filehash.o
> CC profile.o
> CC debug.o
> CC engines/cpu.o
> CC engines/mmap.o
> CC engines/sync.o
> CC engines/null.o
> CC engines/net.o
> CC server.o
> CC client.o
> client.c:1488:12: error: conflicting types for 'send_file'
> static int send_file(struct fio_client *client, struct cmd_sendfile *pdu,
> ^
> In file included from client.c:11:0:
> /usr/include/sys/socket.h:760:9: note: previous declaration of 'send_file' was here
> ssize_t send_file(int *, struct sf_parms *, uint_t);
> ^
> Makefile:289: recipe for target 'client.o' failed
> gmake: *** [client.o] Error 1
> #
>
> Regards,
> Thierry
> --
> To unsubscribe from this list: send the line "unsubscribe fio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-28 22:24 ` Andrey Kuzmin
@ 2015-12-28 23:18 ` Thierry BERTAUD
0 siblings, 0 replies; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-28 23:18 UTC (permalink / raw)
To: Andrey Kuzmin; +Cc: fio@vger.kernel.org
Andrey,
Thanks for your feedback but i don't succeed with the build.
Concerning this point:
>> lib/pattern.c: In function 'parse_number':
>> lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
>> _end = strcasestr(beg, "0x");
>> ^
>> lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
>> _end = strcasestr(beg, "0x");
>
> It looks like AIX defines the strcasetr outside the <string.h>, so you
> might want to add AIX-specific include.
It seems from https://www.gnu.org/software/gnulib/manual/html_node/strcasestr.html, i can ignore it because tried option to set LIBPATH to include libreary for AIX have no effect (LIBPATH=/lib:/usr/lib gmake CC=gcc)
For fio_send_file:
> Seems to be AIX sys/socket.h specific, you can just rename the above
> to fio_send_file, I believe.
I renamed it and try again but i have the following issue because AIX not include getpot.h.
AIX provides the getopt definition s in 'unistd.h'.
# grep -i getopt /usr/include/unistd.h
extern int getopt();
extern int getopt(int, char* const*, const char*);
#
But from source i have unistd.h always included:
"#include <stdint.h>
#include <unistd.h>
#include <string.h>
#include "getopt.h"
"
-------
CC oslib/getopt_long.o
oslib/getopt_long.c:17:20: fatal error: getopt.h: No such file or directory
#include "getopt.h"
^
compilation terminated.
Makefile:289: recipe for target 'oslib/getopt_long.o' failed
gmake: *** [oslib/getopt_long.o] Error 1
------
Below the full ouput:
# LIBPATH=/lib:/usr/lib gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
lib/pattern.c: In function 'parse_number':
lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
_end = strcasestr(beg, "0x");
^
lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
_end = strcasestr(beg, "0x");
^
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
client.c: In function 'fio_handle_client':
client.c:1639:3: warning: passing argument 1 of 'send_file' from incompatible pointer type [enabled by default]
send_file(client, pdu, cmd->tag);
^
In file included from client.c:11:0:
/usr/include/sys/socket.h:760:9: note: expected 'int *' but argument is of type 'struct fio_client *'
ssize_t send_file(int *, struct sf_parms *, uint_t);
^
client.c:1639:3: warning: passing argument 2 of 'send_file' from incompatible pointer type [enabled by default]
send_file(client, pdu, cmd->tag);
^
In file included from client.c:11:0:
/usr/include/sys/socket.h:760:9: note: expected 'struct sf_parms *' but argument is of type 'struct cmd_sendfile *'
ssize_t send_file(int *, struct sf_parms *, uint_t);
^
client.c: At top level:
client.c:1488:12: warning: 'fio_send_file' defined but not used [-Wunused-function]
static int fio_send_file(struct fio_client *client, struct cmd_sendfile *pdu,
^
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC gettime-thread.o
CC helpers.o
CC json.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC workqueue.o
CC rate-submit.o
CC engines/posixaio.o
CC oslib/strcasestr.o
CC oslib/strlcat.o
CC oslib/getopt_long.o
oslib/getopt_long.c:17:20: fatal error: getopt.h: No such file or directory
#include "getopt.h"
^
compilation terminated.
Makefile:289: recipe for target 'oslib/getopt_long.o' failed
gmake: *** [oslib/getopt_long.o] Error 1
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-28 21:45 fio-f1480f9: AIX 6.1 build KO against gcc function overlap Thierry BERTAUD
2015-12-28 22:24 ` Andrey Kuzmin
@ 2015-12-28 23:21 ` Jens Axboe
2015-12-28 23:34 ` Thierry BERTAUD
1 sibling, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-28 23:21 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/28/2015 02:45 PM, Thierry BERTAUD wrote:
> Hello Fio Team,
>
> The 'send_file' function is defiined twice, so gcc doesn't like the same function with different signature.
> How can i fix this issue and build fio since send_file is used by a system library?
>
> Output from make:
> ---------------
> client.c:1488:12: error: conflicting types for 'send_file'
> static int send_file(struct fio_client *client, struct cmd_sendfile *pdu,
> ^
> In file included from client.c:11:0:
> /usr/include/sys/socket.h:760:9: note: previous declaration of 'send_file' was here
> ssize_t send_file(int *, struct sf_parms *, uint_t);
I fixed this by renaming the function.
> Build output:
> # ./configure --disable-lex
> Operating system AIX
> CPU ppc
> Big endian yes
> Compiler gcc
> Cross compile no
>
> Static build no
> Wordsize 32
> zlib yes
> Linux AIO support no
> POSIX AIO support yes
> POSIX AIO support needs -lrt no
> POSIX AIO fsync yes
> Solaris AIO support no
> __sync_fetch_and_add no
> libverbs no
> rdmacm yes
> Linux fallocate no
> POSIX fadvise yes
> POSIX fallocate yes
> sched_setaffinity(3 arg) no
> sched_setaffinity(2 arg) no
> clock_gettime yes
> CLOCK_MONOTONIC yes
> CLOCK_MONOTONIC_RAW no
> CLOCK_MONOTONIC_PRECISE no
> gettimeofday yes
> fdatasync yes
> sync_file_range no
> EXT4 move extent no
> Linux splice(2) no
> GUASI no
> Fusion-io atomic engine no
> libnuma no
> strsep yes
> strcasestr no
> strlcat no
> getopt_long_only() no
> inet_aton yes
> socklen_t yes
> __thread yes
> RUSAGE_THREAD yes
> SCHED_IDLE no
> TCP_NODELAY yes
> Net engine window_size yes
> TCP_MAXSEG yes
> RLIMIT_MEMLOCK no
> pwritev/preadv yes
> IPv6 helpers yes
> Rados Block Device engine no
> setvbuf yes
> Gluster API engine no
> s390_z196_facilities no
> HDFS engine no
> MTD no
> lex/yacc for arithmetic no
> getmntent yes
> getmntinfo no
> Static Assert yes
> bool yes
> #
> # gmake CC=gcc
> FIO_VERSION = fio-2.3
> CC crc/crc64.o
> CC crc/md5.o
> CC crc/fnv.o
> CC crc/sha256.o
> CC crc/test.o
> CC crc/xxhash.o
> CC crc/crc32c-intel.o
> CC crc/murmur3.o
> CC crc/crc32.o
> CC crc/crc32c.o
> CC crc/sha1.o
> CC crc/crc7.o
> CC crc/sha512.o
> CC crc/crc16.o
> CC lib/gauss.o
> CC lib/prio_tree.o
> CC lib/axmap.o
> CC lib/flist_sort.o
> CC lib/hweight.o
> CC lib/zipf.o
> CC lib/getrusage.o
> CC lib/output_buffer.o
> CC lib/memalign.o
> CC lib/lfsr.o
> CC lib/bloom.o
> CC lib/strntol.o
> CC lib/num2str.o
> CC lib/mountcheck.o
> CC lib/pattern.o
> lib/pattern.c: In function 'parse_number':
> lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
> _end = strcasestr(beg, "0x");
> ^
> lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
> _end = strcasestr(beg, "0x");
Can you send the config.log file?
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-28 23:21 ` Jens Axboe
@ 2015-12-28 23:34 ` Thierry BERTAUD
2015-12-28 23:46 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-28 23:34 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 459 bytes --]
Hello Jens,
I attached the config.log
>> lib/pattern.c: In function 'parse_number':
>> lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
>> _end = strcasestr(beg, "0x");
>> ^
>> lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
>> _end = strcasestr(beg, "0x");
>
>Can you send the config.log file?
Regards,
Thierry
[-- Attachment #2: config.log --]
[-- Type: application/octet-stream, Size: 16480 bytes --]
# FIO configure log Mon Dec 28 23:39:43 CET 2015
# Configured with: './configure' '--disable-lex'
#
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __ANDROID__ not defined
#error __ANDROID__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __linux__ not defined
#error __linux__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __OpenBSD__ not defined
#error __OpenBSD__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __sun__ not defined
#error __sun__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error _WIN32 not defined
#error _WIN32 not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __i386__ not defined
#error __i386__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __x86_64__ not defined
#error __x86_64__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error __sparc__ not defined
#error __sparc__ not defined
^
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
gcc -D_GNU_SOURCE -include config-host.h -c -o /tmp/fio-conf-29854-61800606-15975.o /tmp/fio-conf-6244-61800606-29751.c
/tmp/fio-conf-6244-61800606-29751.c:2:2: error: #error _ARCH_PPC64 not defined
#error _ARCH_PPC64 not defined
^
Compiling test case cross
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c
Compiling test case endian
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c
Compiling test case wordsize
gcc -D_GNU_SOURCE -include config-host.h -DWORDSIZE=32 -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c
Compiling test case zlib
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lz
Compiling test case libaio
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -laio -lz
/tmp/fio-conf-6244-61800606-29751.c:1:20: fatal error: libaio.h: No such file or directory
#include <libaio.h>
^
compilation terminated.
Compiling test case posixaio
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lz
Compiling test case posix_aio_fsync
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lz -lz
Compiling test case solarisaio
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -laio -lz
/tmp/fio-conf-6244-61800606-29751.c:2:24: fatal error: sys/asynch.h: No such file or directory
#include <sys/asynch.h>
^
compilation terminated.
Compiling test case __sync_fetch_and_add()
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lz
ld: 0711-317 ERROR: Undefined symbol: .__sync_fetch_and_add_8
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
Compiling test case libverbs
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -libverbs -lz
/tmp/fio-conf-6244-61800606-29751.c:2:29: fatal error: infiniband/arch.h: No such file or directory
#include <infiniband/arch.h>
^
compilation terminated.
Compiling test case rdma
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case linux_fallocate
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:3:26: fatal error: linux/falloc.h: No such file or directory
#include <linux/falloc.h>
^
compilation terminated.
Compiling test case posix_fadvise
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case posix_fallocate
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case sched_setaffinity(,,)
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:4:3: error: unknown type name 'cpu_set_t'
cpu_set_t mask;
^
Compiling test case sched_setaffinity(,)
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:4:3: error: unknown type name 'cpu_set_t'
cpu_set_t mask;
^
Compiling test case clock_gettime
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case clock monotonic
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz -lrdmacm -lz
Compiling test case clock monotonic
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:5:24: error: 'CLOCK_MONOTONIC_RAW' undeclared (first use in this function)
return clock_gettime(CLOCK_MONOTONIC_RAW, NULL);
^
/tmp/fio-conf-6244-61800606-29751.c:5:24: note: each undeclared identifier is reported only once for each function it appears in
Compiling test case clock monotonic precise
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:5:24: error: 'CLOCK_MONOTONIC_PRECISE' undeclared (first use in this function)
return clock_gettime(CLOCK_MONOTONIC_PRECISE, NULL);
^
/tmp/fio-conf-6244-61800606-29751.c:5:24: note: each undeclared identifier is reported only once for each function it appears in
Compiling test case gettimeofday
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case fdatasync
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case sync_file_range
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:4:22: fatal error: linux/fs.h: No such file or directory
#include <linux/fs.h>
^
compilation terminated.
Compiling test case ext4 move extent
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:5:22: error: storage size of 'me' isn't known
struct move_extent me;
^
/tmp/fio-conf-6244-61800606-29751.c:6:19: error: 'EXT4_IOC_MOVE_EXT' undeclared (first use in this function)
return ioctl(0, EXT4_IOC_MOVE_EXT, &me);
^
/tmp/fio-conf-6244-61800606-29751.c:6:19: note: each undeclared identifier is reported only once for each function it appears in
Compiling test case linux splice
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:5:38: error: 'SPLICE_F_NONBLOCK' undeclared (first use in this function)
return splice(0, NULL, 0, NULL, 0, SPLICE_F_NONBLOCK);
^
/tmp/fio-conf-6244-61800606-29751.c:5:38: note: each undeclared identifier is reported only once for each function it appears in
Compiling test case guasi
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:1:19: fatal error: guasi.h: No such file or directory
#include <guasi.h>
^
compilation terminated.
Compiling test case fusion-aw
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -L/usr/lib/fio -L/usr/lib/nvm -lnvm-primitives -ldl -lpthread -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:1:32: fatal error: nvm/nvm_primitives.h: No such file or directory
#include <nvm/nvm_primitives.h>
^
compilation terminated.
Compiling test case libnuma
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lnuma -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:1:18: fatal error: numa.h: No such file or directory
#include <numa.h>
^
compilation terminated.
Compiling test case strsep
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case strcasestr
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
ld: 0711-317 ERROR: Undefined symbol: .strcasestr
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
Compiling test case strlcat
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
ld: 0711-317 ERROR: Undefined symbol: .strlcat
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
Compiling test case getopt_long_only
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:3:20: fatal error: getopt.h: No such file or directory
#include <getopt.h>
^
compilation terminated.
Compiling test case inet_aton
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case socklen_t
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case __thread
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case RUSAGE_THREAD
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case SCHED_IDLE
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:5:32: error: 'SCHED_IDLE' undeclared (first use in this function)
return sched_setscheduler(0, SCHED_IDLE, &p);
^
/tmp/fio-conf-6244-61800606-29751.c:5:32: note: each undeclared identifier is reported only once for each function it appears in
Compiling test case TCP_NODELAY
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case SO_SNDBUF
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case TCP_MAXSEG
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case RLIMIT_MEMLOCK
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:6:20: error: 'RLIMIT_MEMLOCK' undeclared (first use in this function)
return getrlimit(RLIMIT_MEMLOCK, &rl);
^
/tmp/fio-conf-6244-61800606-29751.c:6:20: note: each undeclared identifier is reported only once for each function it appears in
Compiling test case pwritev
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case ipv6
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case rbd
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrbd -lrados -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:1:24: fatal error: rbd/librbd.h: No such file or directory
#include <rbd/librbd.h>
^
compilation terminated.
Compiling test case setvbuf
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case gfapi
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lgfapi -lglusterfs -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:1:32: fatal error: glusterfs/api/glfs.h: No such file or directory
#include <glusterfs/api/glfs.h>
^
compilation terminated.
Compiling test case s390_z196_facilities
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c: In function 'main':
/tmp/fio-conf-6244-61800606-29751.c:8:29: error: expected ':' or ')' before 'z9'
".machine "z9-109"" "\n\t"
^
Compiling test case mtd
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:2:26: fatal error: mtd/mtd-user.h: No such file or directory
#include <mtd/mtd-user.h>
^
compilation terminated.
Compiling test case getmntent
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case getmntinfo
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
/tmp/fio-conf-6244-61800606-29751.c:3:23: fatal error: sys/mount.h: No such file or directory
#include <sys/mount.h>
^
compilation terminated.
Compiling test case static_assert
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
Compiling test case bool
gcc -D_GNU_SOURCE -include config-host.h -o /tmp/fio-conf-31541-61800606-1053.exe /tmp/fio-conf-6244-61800606-29751.c -lrdmacm -lz
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-28 23:34 ` Thierry BERTAUD
@ 2015-12-28 23:46 ` Jens Axboe
2015-12-29 0:01 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-28 23:46 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/28/2015 04:34 PM, Thierry BERTAUD wrote:
> Hello Jens,
>
> I attached the config.log
>
>>> lib/pattern.c: In function 'parse_number':
>>> lib/pattern.c:77:3: warning: implicit declaration of function 'strcasestr' [-Wimplicit-function-declaration]
>>> _end = strcasestr(beg, "0x");
>>> ^
>>> lib/pattern.c:77:8: warning: assignment makes pointer from integer without a cast [enabled by default]
>>> _end = strcasestr(beg, "0x");
>>
>> Can you send the config.log file?
Thanks - I think it's just a missed include in lib/pattern.c - if you
pull current -git, both that and the send_file() issue should be fixed.
Can you test?
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-28 23:46 ` Jens Axboe
@ 2015-12-29 0:01 ` Thierry BERTAUD
2015-12-29 0:15 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-29 0:01 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Jens,
>Thanks - I think it's just a missed include in lib/pattern.c - if you
>pull current -git, both that and the send_file() issue should be fixed.
>Can you test?
I tested (fio-a328eb9) these both issue are fixed but i have this against getopt.h that doesn't exist on AIX.
-----
CC oslib/getopt_long.o
oslib/getopt_long.c:17:20: fatal error: getopt.h: No such file or directory
#include "getopt.h"
^
compilation terminated.
Makefile:289: recipe for target 'oslib/getopt_long.o' failed
gmake: *** [oslib/getopt_long.o] Error 1
----
AIX provides the getopt definition s in 'unistd.h'.
# grep -i getopt /usr/include/unistd.h
extern int getopt();
extern int getopt(int, char* const*, const char*);
#
Full Output:
# ./configure --disable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic no
getmntent yes
getmntinfo no
Static Assert yes
bool yes
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC gettime-thread.o
CC helpers.o
CC json.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC workqueue.o
CC rate-submit.o
CC engines/posixaio.o
CC oslib/strcasestr.o
CC oslib/strlcat.o
CC oslib/getopt_long.o
oslib/getopt_long.c:17:20: fatal error: getopt.h: No such file or directory
#include "getopt.h"
^
compilation terminated.
Makefile:289: recipe for target 'oslib/getopt_long.o' failed
gmake: *** [oslib/getopt_long.o] Error 1
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 0:01 ` Thierry BERTAUD
@ 2015-12-29 0:15 ` Jens Axboe
2015-12-29 0:30 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-29 0:15 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/28/2015 05:01 PM, Thierry BERTAUD wrote:
> Jens,
>
>> Thanks - I think it's just a missed include in lib/pattern.c - if you
>> pull current -git, both that and the send_file() issue should be fixed.
>> Can you test?
> I tested (fio-a328eb9) these both issue are fixed but i have this against getopt.h that doesn't exist on AIX.
> -----
> CC oslib/getopt_long.o
> oslib/getopt_long.c:17:20: fatal error: getopt.h: No such file or directory
> #include "getopt.h"
> ^
> compilation terminated.
> Makefile:289: recipe for target 'oslib/getopt_long.o' failed
> gmake: *** [oslib/getopt_long.o] Error 1
Looks like I screwed up that part in the lib/oslib move. Committed a
fix, hopefully that should resolve all of them.
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 0:15 ` Jens Axboe
@ 2015-12-29 0:30 ` Thierry BERTAUD
2015-12-29 0:39 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-29 0:30 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Jens,
>Looks like I screwed up that part in the lib/oslib move. Committed a
>fix, hopefully that should resolve all of them.
I tested against fio-f87cc56 but i have now this issue:
------
ld: 0711-317 ERROR: Undefined symbol: .strcasestr
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
Makefile:373: recipe for target 't/fio-genzipf' failed
gmake: *** [t/fio-genzipf] Error 1
-----
Below the full output:
# ./configure --disable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic no
getmntent yes
getmntinfo no
Static Assert yes
bool yes
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC gettime-thread.o
CC helpers.o
CC json.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC workqueue.o
CC rate-submit.o
CC engines/posixaio.o
CC oslib/strcasestr.o
CC oslib/strlcat.o
CC oslib/getopt_long.o
CC fio.o
LINK fio
CC t/log.o
CC t/genzipf.o
LINK t/fio-genzipf
ld: 0711-317 ERROR: Undefined symbol: .strcasestr
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: error: ld returned 8 exit status
Makefile:373: recipe for target 't/fio-genzipf' failed
gmake: *** [t/fio-genzipf] Error 1
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 0:30 ` Thierry BERTAUD
@ 2015-12-29 0:39 ` Jens Axboe
2015-12-29 0:56 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-29 0:39 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/28/2015 05:30 PM, Thierry BERTAUD wrote:
> Jens,
>
>> Looks like I screwed up that part in the lib/oslib move. Committed a
>> fix, hopefully that should resolve all of them.
> I tested against fio-f87cc56 but i have now this issue:
> ------
> ld: 0711-317 ERROR: Undefined symbol: .strcasestr
> ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
> collect2: error: ld returned 8 exit status
> Makefile:373: recipe for target 't/fio-genzipf' failed
> gmake: *** [t/fio-genzipf] Error 1
Fixed that new dependency, try pulling again :-)
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 0:39 ` Jens Axboe
@ 2015-12-29 0:56 ` Thierry BERTAUD
2015-12-29 15:34 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-29 0:56 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Jens,
> Fixed that new dependency, try pulling again :-)
Yes fixed, i just have some warning.
----
t/dedupe.c: In function 'dedupe_check':
t/dedupe.c:97:2: warning: 'bytes' may be used uninitialized in this function [-Wmaybe-uninitialized]
return (ret & ~((uint64_t)blocksize - 1));
^
t/dedupe.c:87:22: note: 'bytes' was declared here
unsigned long long bytes;
^
CC t/debug.o
----
What's the advantage to use 'lex/yacc for arithmetic'?
I disabled it in configure because i can't build and haved the following:
---
LEX lex.yy.c
0: Warning: 1285-300 The o flag is not valid.
0: Error: 1285-331 Cannot read input file lex.yy.c
Makefile:300: recipe for target 'lex.yy.c' failed
gmake: *** [lex.yy.c] Error 1
---
Full ouput:
# ./configure --disable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic no
getmntent yes
getmntinfo no
Static Assert yes
bool yes
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC gettime-thread.o
CC helpers.o
CC json.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC workqueue.o
CC rate-submit.o
CC engines/posixaio.o
CC oslib/strcasestr.o
CC oslib/strlcat.o
CC oslib/getopt_long.o
CC fio.o
LINK fio
CC t/log.o
CC t/genzipf.o
LINK t/fio-genzipf
CC t/dedupe.o
t/dedupe.c: In function 'dedupe_check':
t/dedupe.c:97:2: warning: 'bytes' may be used uninitialized in this function [-Wmaybe-uninitialized]
return (ret & ~((uint64_t)blocksize - 1));
^
t/dedupe.c:87:22: note: 'bytes' was declared here
unsigned long long bytes;
^
CC t/debug.o
LINK t/fio-dedupe
CC t/stest.o
LINK t/stest
CC t/ieee754.o
LINK t/ieee754
CC t/axmap.o
LINK t/axmap
CC t/lfsr-test.o
LINK t/lfsr-test
#
# ./fio --version
fio-2.3
#
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 0:56 ` Thierry BERTAUD
@ 2015-12-29 15:34 ` Jens Axboe
2015-12-29 16:16 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-29 15:34 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/28/2015 05:56 PM, Thierry BERTAUD wrote:
> Jens,
>
>> Fixed that new dependency, try pulling again :-)
> Yes fixed, i just have some warning.
> ----
> t/dedupe.c: In function 'dedupe_check':
> t/dedupe.c:97:2: warning: 'bytes' may be used uninitialized in this function [-Wmaybe-uninitialized]
> return (ret & ~((uint64_t)blocksize - 1));
> ^
> t/dedupe.c:87:22: note: 'bytes' was declared here
> unsigned long long bytes;
> ^
That's the aix compiler being a bit too dumb to realize that 'bytes' is
only used for a zero return of that function. You can safely ignore
that, I can add a small patch to get rid of it.
> CC t/debug.o
> ----
>
> What's the advantage to use 'lex/yacc for arithmetic'?
That you can have arithmetical expressions in your job files, that's all
it provides.
> I disabled it in configure because i can't build and haved the following:
> ---
> LEX lex.yy.c
> 0: Warning: 1285-300 The o flag is not valid.
> 0: Error: 1285-331 Cannot read input file lex.yy.c
> Makefile:300: recipe for target 'lex.yy.c' failed
> gmake: *** [lex.yy.c] Error 1
Hmm, I'll see if I can add a check in configure for whether or not lex
requires -o to specify an output file. For now, just use --disable-lex.
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 15:34 ` Jens Axboe
@ 2015-12-29 16:16 ` Thierry BERTAUD
2015-12-29 21:10 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-29 16:16 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Hello Jens,
> That's the aix compiler being a bit too dumb to realize that 'bytes' is
> only used for a zero return of that function. You can safely ignore
> that, I can add a small patch to get rid of it.
I built against fio-75adbcf and no warning.
>That you can have arithmetical expressions in your job files, that's all
>it provides.
Ok thanks for feedback, i don't need this at this time.
>Hmm, I'll see if I can add a check in configure for whether or not lex
>requires -o to specify an output file. For now, just use --disable-lex.
OK, i continue to just use: --disable-yes.
If you add a check in configure later, i'll try a ./configure to confirm you that's fine in AIX.
Below full output (for information):
___________________
# ./configure --disable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic no
getmntent yes
getmntinfo no
Static Assert yes
bool yes
#
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC gettime-thread.o
CC helpers.o
CC json.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC workqueue.o
CC rate-submit.o
CC engines/posixaio.o
CC oslib/strcasestr.o
CC oslib/strlcat.o
CC oslib/getopt_long.o
CC fio.o
LINK fio
CC t/log.o
CC t/genzipf.o
LINK t/fio-genzipf
CC t/dedupe.o
CC t/debug.o
LINK t/fio-dedupe
CC t/stest.o
LINK t/stest
CC t/ieee754.o
LINK t/ieee754
CC t/axmap.o
LINK t/axmap
CC t/lfsr-test.o
LINK t/lfsr-test
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 16:16 ` Thierry BERTAUD
@ 2015-12-29 21:10 ` Thierry BERTAUD
2015-12-30 3:26 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-29 21:10 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Hello Jens,
>>Hmm, I'll see if I can add a check in configure for whether or not lex
>>requires -o to specify an output file. For now, just use --disable-lex.
>OK, i continue to just use: --disable-yes.
>If you add a check in configure later, i'll try a ./configure to confirm you that's fine in AIX.
I build against fio-63bda37 (configure: if lex requires/fails with -o for output)
With configure, i have this:
____
MTD no
0: Warning: 1285-300 The o flag is not valid.
0: Error: 1285-331 Cannot read input file lex.yy.c
lex/yacc for arithmetic yes
____
and the make fail with:
----
YACC y.tab.c
yacc: 1285-770 The -o flag is now the default in yacc.
yacc: 1285-725 Reached end of file before %% Line 1
Makefile:313: recipe for target 'y.tab.c' failed
gmake: *** [y.tab.c] Error 1
----
Below the full output:
# ./configure
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
0: Warning: 1285-300 The o flag is not valid.
0: Error: 1285-331 Cannot read input file lex.yy.c
lex/yacc for arithmetic yes
getmntent yes
getmntinfo no
Static Assert yes
bool yes
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
LEX lex.yy.c
YACC y.tab.c
yacc: 1285-770 The -o flag is now the default in yacc.
yacc: 1285-725 Reached end of file before %% Line 1
Makefile:313: recipe for target 'y.tab.c' failed
gmake: *** [y.tab.c] Error 1
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-29 21:10 ` Thierry BERTAUD
@ 2015-12-30 3:26 ` Jens Axboe
2015-12-30 3:59 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-30 3:26 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/29/2015 02:10 PM, Thierry BERTAUD wrote:
> Hello Jens,
>
>>> Hmm, I'll see if I can add a check in configure for whether or not lex
>>> requires -o to specify an output file. For now, just use --disable-lex.
>> OK, i continue to just use: --disable-yes.
>> If you add a check in configure later, i'll try a ./configure to confirm you that's fine in AIX.
>
> I build against fio-63bda37 (configure: if lex requires/fails with -o for output)
> With configure, i have this:
> ____
> MTD no
> 0: Warning: 1285-300 The o flag is not valid.
> 0: Error: 1285-331 Cannot read input file lex.yy.c
> lex/yacc for arithmetic yes
Might have to do rm lex.yy.c before running configure. If you do, does
it then work? If not, then we'll just have to have AIX default to lex
off, I'm afraid. We can automate that as well in configure.
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-30 3:26 ` Jens Axboe
@ 2015-12-30 3:59 ` Jens Axboe
2015-12-30 8:36 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-30 3:59 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/29/2015 08:26 PM, Jens Axboe wrote:
> On 12/29/2015 02:10 PM, Thierry BERTAUD wrote:
>> Hello Jens,
>>
>>>> Hmm, I'll see if I can add a check in configure for whether or not lex
>>>> requires -o to specify an output file. For now, just use --disable-lex.
>>> OK, i continue to just use: --disable-yes.
>>> If you add a check in configure later, i'll try a ./configure to
>>> confirm you that's fine in AIX.
>>
>> I build against fio-63bda37 (configure: if lex requires/fails with -o
>> for output)
>> With configure, i have this:
>> ____
>> MTD no
>> 0: Warning: 1285-300 The o flag is not valid.
>> 0: Error: 1285-331 Cannot read input file lex.yy.c
>> lex/yacc for arithmetic yes
>
> Might have to do rm lex.yy.c before running configure. If you do, does
> it then work? If not, then we'll just have to have AIX default to lex
> off, I'm afraid. We can automate that as well in configure.
Unless I botched it, it should disable lex on AIX now, unless you
explicitly attempt to enable with --enable-lex.
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-30 3:59 ` Jens Axboe
@ 2015-12-30 8:36 ` Thierry BERTAUD
2015-12-30 16:38 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-30 8:36 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Jens,
>Unless I botched it, it should disable lex on AIX now, unless you
>explicitly attempt to enable with --enable-lex.
I built against fio-de26b82 and now lex its disable by default. Tha'ts OK (cf full output below).
Concerning error with --enable-lex, i think is due that option '-o' is not valid so lex doon't generate the file leyx.yy.c => don't find it after.
---
MTD no
0: Warning: 1285-300 The o flag is not valid.
0: Error: 1285-331 Cannot read input file lex.yy.c
lex/yacc for arithmetic yes
---
If i read configure:
+1505
+1506 # Check if lex fails using -o
+1507 if test "$arith" = "yes" ; then
+1508 $LEX -o lex.yy.c exp/expression-parser.l 2> /dev/null
+1509 if test "$?" = "0" ; then
+1510 lex_use_o="yes"
+1511 else
+1512 lex_use_o="no"
+1513 fi
+1514 fi
+1515
+1516 echo "lex/yacc for arithmetic $arith"
Could you update test condition, if OS is AIX to use "less exp/expression-parser.l" and other case "-o lex.yy.c exp/expression-parser.l"
# lex exp/expression-parser.l; echo $?;ls -l lex.yy.c
0
-rw-r--r-- 1 root staff 48081 Dec 30 09:34 lex.yy.c
#
Used bash in debug mode via PS4.
+(./configure:1507): main(): test yes = yes
+(./configure:1508): main(): /usr/bin/lex -o lex.yy.c exp/expression-parser.l
0: Warning: 1285-300 The o flag is not valid.
0: Error: 1285-331 Cannot read input file lex.yy.c
+(./configure:1509): main(): test 1 = 0
+(./configure:1512): main(): lex_use_o=no
+(./configure:1516): main(): echo 'lex/yacc for arithmetic yes'
lex/yacc for arithmetic yes
Output with lex disable by default:
# ./configure --help
--prefix= Use this directory as installation prefix
--cpu= Specify target CPU if auto-detect fails
--cc= Specify compiler to use
--extra-cflags= Specify extra CFLAGS to pass to compiler
--build-32bit-win Enable 32-bit build on Windows
--build-static Build a static fio
--esx Configure build options for esx
--enable-gfio Enable building of gtk gfio
--disable-numa Disable libnuma even if found
--disable-gfapi Disable gfapi
--enable-libhdfs Enable hdfs support
--disable-lex Disable use of lex/yacc for math
--enable-lex Enable use of lex/yacc for math
--disable-shm Disable SHM support
--disable-optimizations Don't enable compiler optimizations
# ./configure
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic no
getmntent yes
getmntinfo no
Static Assert yes
bool yes
# gmake CC=gcc
FIO_VERSION = fio-2.3
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
CC parse.o
CC mutex.o
CC options.o
CC smalloc.o
CC filehash.o
CC profile.o
CC debug.o
CC engines/cpu.o
CC engines/mmap.o
CC engines/sync.o
CC engines/null.o
CC engines/net.o
CC server.o
CC client.o
CC iolog.o
CC backend.o
CC libfio.o
CC flow.o
CC cconv.o
CC gettime-thread.o
CC helpers.o
CC json.o
CC idletime.o
CC td_error.o
CC profiles/tiobench.o
CC profiles/act.o
CC io_u_queue.o
CC filelock.o
CC workqueue.o
CC rate-submit.o
CC engines/posixaio.o
CC oslib/strcasestr.o
CC oslib/strlcat.o
CC oslib/getopt_long.o
CC fio.o
LINK fio
CC t/log.o
CC t/genzipf.o
LINK t/fio-genzipf
CC t/dedupe.o
CC t/debug.o
LINK t/fio-dedupe
CC t/stest.o
LINK t/stest
CC t/ieee754.o
LINK t/ieee754
CC t/axmap.o
LINK t/axmap
CC t/lfsr-test.o
LINK t/lfsr-test
#
# ./fio -v
fio-2.3
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-30 8:36 ` Thierry BERTAUD
@ 2015-12-30 16:38 ` Jens Axboe
2015-12-30 16:50 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-30 16:38 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
On 12/30/2015 01:36 AM, Thierry BERTAUD wrote:
> Jens,
>
>> Unless I botched it, it should disable lex on AIX now, unless you
>> explicitly attempt to enable with --enable-lex.
>
> I built against fio-de26b82 and now lex its disable by default. Tha'ts OK (cf full output below).
>
> Concerning error with --enable-lex, i think is due that option '-o' is not valid so lex doon't generate the file leyx.yy.c => don't find it after.
> ---
> MTD no
> 0: Warning: 1285-300 The o flag is not valid.
> 0: Error: 1285-331 Cannot read input file lex.yy.c
> lex/yacc for arithmetic yes
> ---
> If i read configure:
> +1505
> +1506 # Check if lex fails using -o
> +1507 if test "$arith" = "yes" ; then
> +1508 $LEX -o lex.yy.c exp/expression-parser.l 2> /dev/null
> +1509 if test "$?" = "0" ; then
> +1510 lex_use_o="yes"
> +1511 else
> +1512 lex_use_o="no"
> +1513 fi
> +1514 fi
> +1515
> +1516 echo "lex/yacc for arithmetic $arith"
>
> Could you update test condition, if OS is AIX to use "less exp/expression-parser.l" and other case "-o lex.yy.c exp/expression-parser.l"
> # lex exp/expression-parser.l; echo $?;ls -l lex.yy.c
> 0
> -rw-r--r-- 1 root staff 48081 Dec 30 09:34 lex.yy.c
But that's what the lex_use_o should control. If lex is enabled, we'll
output CONFIG_LEX_USE_O=y if lex should use -o and nothing if it should
not. If CONFIG_LEX_USE_O is in config-host.mak, then the Makefile target
will use -o. If not, then it should not. But maybe I screwed it up.
Testing here:
axboe@xps13:/home/axboe/git/fio $ grep USE_O config-host.mak
CONFIG_LEX_USE_O=y
axboe@xps13:/home/axboe/git/fio $ make V=1 lex.yy.c
lex -o lex.yy.c exp/expression-parser.l
which looks correct. I'll manually kill CONFIG_LEX_USE_O=y from
config-host.mak, and retry:
axboe@xps13:/home/axboe/git/fio $ rm lex.yy.c
axboe@xps13:/home/axboe/git/fio $ grep USE_O config-host.mak
axboe@xps13:/home/axboe/git/fio $ make V=1 lex.yy.c
lex exp/expression-parser.l
axboe@xps13:/home/axboe/git/fio $ ls -al lex.yy.c
-rw-r--r-- 1 axboe axboe 51991 Dec 30 09:37 lex.yy.c
so that logic does look correct. Maybe the configure check for the error
return of lex -o isn't working. Do you have CONFIG_LEX_USE_O in your
config-host.mak, if you run configure --enable-lex?
--
Jens Axboe
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-30 16:38 ` Jens Axboe
@ 2015-12-30 16:50 ` Jens Axboe
2015-12-30 16:51 ` Jens Axboe
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-30 16:50 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 397 bytes --]
On 12/30/2015 09:38 AM, Jens Axboe wrote:
> so that logic does look correct. Maybe the configure check for the error
> return of lex -o isn't working. Do you have CONFIG_LEX_USE_O in your
> config-host.mak, if you run configure --enable-lex?
If the latter is the case, then the attached patch should hopefully
work. That'll force NOT using -o for AIX always, if lex is enabled.
--
Jens Axboe
[-- Attachment #2: no-lex-o.patch --]
[-- Type: text/x-patch, Size: 550 bytes --]
diff --git a/configure b/configure
index e92e96b879b5..0dea5d8b0b68 100755
--- a/configure
+++ b/configure
@@ -247,6 +247,8 @@ AIX)
# Unless explicitly enabled, turn off lex.
if test -z "$disable_lex" ; then
disable_lex="yes"
+ else
+ force_no_lex_o="yes"
fi
;;
Darwin)
@@ -1505,6 +1507,9 @@ fi
# Check if lex fails using -o
if test "$arith" = "yes" ; then
+if test "$force_no_lex_o" = "yes" ; then
+ lex_use_o="no"
+else
$LEX -o lex.yy.c exp/expression-parser.l 2> /dev/null
if test "$?" = "0" ; then
lex_use_o="yes"
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-30 16:50 ` Jens Axboe
@ 2015-12-30 16:51 ` Jens Axboe
2015-12-30 17:59 ` Thierry BERTAUD
0 siblings, 1 reply; 21+ messages in thread
From: Jens Axboe @ 2015-12-30 16:51 UTC (permalink / raw)
To: Thierry BERTAUD, fio@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 488 bytes --]
On 12/30/2015 09:50 AM, Jens Axboe wrote:
> On 12/30/2015 09:38 AM, Jens Axboe wrote:
>> so that logic does look correct. Maybe the configure check for the error
>> return of lex -o isn't working. Do you have CONFIG_LEX_USE_O in your
>> config-host.mak, if you run configure --enable-lex?
>
> If the latter is the case, then the attached patch should hopefully
> work. That'll force NOT using -o for AIX always, if lex is enabled.
Gah, missed a 'fi'. New one attached.
--
Jens Axboe
[-- Attachment #2: no-lex-o-v2.patch --]
[-- Type: text/x-patch, Size: 656 bytes --]
diff --git a/configure b/configure
index e92e96b879b5..517668233fc7 100755
--- a/configure
+++ b/configure
@@ -247,6 +247,8 @@ AIX)
# Unless explicitly enabled, turn off lex.
if test -z "$disable_lex" ; then
disable_lex="yes"
+ else
+ force_no_lex_o="yes"
fi
;;
Darwin)
@@ -1505,6 +1507,9 @@ fi
# Check if lex fails using -o
if test "$arith" = "yes" ; then
+if test "$force_no_lex_o" = "yes" ; then
+ lex_use_o="no"
+else
$LEX -o lex.yy.c exp/expression-parser.l 2> /dev/null
if test "$?" = "0" ; then
lex_use_o="yes"
@@ -1512,6 +1517,7 @@ else
lex_use_o="no"
fi
fi
+fi
echo "lex/yacc for arithmetic $arith"
^ permalink raw reply related [flat|nested] 21+ messages in thread
* RE: fio-f1480f9: AIX 6.1 build KO against gcc function overlap
2015-12-30 16:51 ` Jens Axboe
@ 2015-12-30 17:59 ` Thierry BERTAUD
0 siblings, 0 replies; 21+ messages in thread
From: Thierry BERTAUD @ 2015-12-30 17:59 UTC (permalink / raw)
To: Jens Axboe, fio@vger.kernel.org
Hello Jens;
I use fio-5f3bd0f.
No trace of USE_O if config-host.mak so is use your patch.
That's OK for the confgure with --enable-lex with the patch but have some issue with the make against yacc.
Seems an '-o' option again but for yacc this time.
I did the following step:
Dod configure:
# grep USE_O config-host.mak
grep: 0652-033 Cannot open config-host.mak.
# ./configure --enable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
0: Warning: 1285-300 The o flag is not valid.
0: Error: 1285-331 Cannot read input file lex.yy.c
lex/yacc for arithmetic yes
getmntent yes
getmntinfo no
Static Assert yes
bool yes
#
No option USE_O and file lex.yy.c generated.
# grep USE_O config-host.mak
#
# ls -l lex.yy.c
ls: 0653-341 The file lex.yy.c does not exist.
#
# rm config-host.mak
#
Apply your patch:
# /usr/linux/bin/patch < no-lex-o-v2.patch
(Stripping trailing CRs from patch; use --binary to disable.)
patching file configure
#
Do configure:
# ./configure --enable-lex
Operating system AIX
CPU ppc
Big endian yes
Compiler gcc
Cross compile no
Static build no
Wordsize 32
zlib yes
Linux AIO support no
POSIX AIO support yes
POSIX AIO support needs -lrt no
POSIX AIO fsync yes
Solaris AIO support no
__sync_fetch_and_add no
libverbs no
rdmacm yes
Linux fallocate no
POSIX fadvise yes
POSIX fallocate yes
sched_setaffinity(3 arg) no
sched_setaffinity(2 arg) no
clock_gettime yes
CLOCK_MONOTONIC yes
CLOCK_MONOTONIC_RAW no
CLOCK_MONOTONIC_PRECISE no
gettimeofday yes
fdatasync yes
sync_file_range no
EXT4 move extent no
Linux splice(2) no
GUASI no
Fusion-io atomic engine no
libnuma no
strsep yes
strcasestr no
strlcat no
getopt_long_only() no
inet_aton yes
socklen_t yes
__thread yes
RUSAGE_THREAD yes
SCHED_IDLE no
TCP_NODELAY yes
Net engine window_size yes
TCP_MAXSEG yes
RLIMIT_MEMLOCK no
pwritev/preadv yes
IPv6 helpers yes
Rados Block Device engine no
setvbuf yes
Gluster API engine no
s390_z196_facilities no
HDFS engine no
MTD no
lex/yacc for arithmetic yes
getmntent yes
getmntinfo no
Static Assert yes
bool yes
#
Follow your previous steps:
# grep USE_O config-host.mak
# ls -l lex.yy.c
ls: 0653-341 The file lex.yy.c does not exist.
# gmake V=1 lex.yy.c
FIO_VERSION = fio-2.3
lex exp/expression-parser.l
# ls -al lex.yy.c
-rw-r--r-- 1 root staff 48081 Dec 30 18:48 lex.yy.c
#
Try to do a full make:
# gmake CC=gcc
CC crc/crc64.o
CC crc/md5.o
CC crc/fnv.o
CC crc/sha256.o
CC crc/test.o
CC crc/xxhash.o
CC crc/crc32c-intel.o
CC crc/murmur3.o
CC crc/crc32.o
CC crc/crc32c.o
CC crc/sha1.o
CC crc/crc7.o
CC crc/sha512.o
CC crc/crc16.o
CC lib/gauss.o
CC lib/prio_tree.o
CC lib/axmap.o
CC lib/flist_sort.o
CC lib/hweight.o
CC lib/zipf.o
CC lib/getrusage.o
CC lib/output_buffer.o
CC lib/memalign.o
CC lib/lfsr.o
CC lib/bloom.o
CC lib/strntol.o
CC lib/num2str.o
CC lib/mountcheck.o
CC lib/pattern.o
CC lib/ieee754.o
CC lib/rbtree.o
CC lib/rand.o
CC gettime.o
CC ioengines.o
CC init.o
CC stat.o
CC log.o
CC time.o
CC filesetup.o
CC eta.o
CC verify.o
CC memory.o
CC io_u.o
YACC y.tab.c
yacc: 1285-770 The -o flag is now the default in yacc.
yacc: 1285-725 Reached end of file before %% Line 1
Makefile:313: recipe for target 'y.tab.c' failed
gmake: *** [y.tab.c] Error 1
#
Regards,
Thierry
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2015-12-30 17:59 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-28 21:45 fio-f1480f9: AIX 6.1 build KO against gcc function overlap Thierry BERTAUD
2015-12-28 22:24 ` Andrey Kuzmin
2015-12-28 23:18 ` Thierry BERTAUD
2015-12-28 23:21 ` Jens Axboe
2015-12-28 23:34 ` Thierry BERTAUD
2015-12-28 23:46 ` Jens Axboe
2015-12-29 0:01 ` Thierry BERTAUD
2015-12-29 0:15 ` Jens Axboe
2015-12-29 0:30 ` Thierry BERTAUD
2015-12-29 0:39 ` Jens Axboe
2015-12-29 0:56 ` Thierry BERTAUD
2015-12-29 15:34 ` Jens Axboe
2015-12-29 16:16 ` Thierry BERTAUD
2015-12-29 21:10 ` Thierry BERTAUD
2015-12-30 3:26 ` Jens Axboe
2015-12-30 3:59 ` Jens Axboe
2015-12-30 8:36 ` Thierry BERTAUD
2015-12-30 16:38 ` Jens Axboe
2015-12-30 16:50 ` Jens Axboe
2015-12-30 16:51 ` Jens Axboe
2015-12-30 17:59 ` Thierry BERTAUD
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.