All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.