FreeBSD build broken due to missing -lrt
PATCH 1/1 FreeBSD build broken due to missing -lrt
Hi,
The latest fio fails to link on FreeBSD because timer_create is in librt but the -lrt flag is missing from Makefile.FreeBSD.
I also noticed a couple of compiler warnings when building with clang - a format of "%Lu" is used but 'L' doesn't have any effect with 'u' - I guess %llu is needed since the types are 'unsigned long long'?
I've attached patches against git HEAD.
Signature · 1 line
Bruce Cran
Makefile.FreeBSD +1 -1
@@ -52,7 +52,7 @@ mandir = $(prefix)/man %.o: %.c $(QUIET_CC)$(CC) -o $*.o -c $(CFLAGS) $< fio: $(OBJS) - $(QUIET_CC)$(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(EXTLIBS) -lpthread -lm + $(QUIET_CC)$(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(EXTLIBS) -lpthread -lm -lrt depend: $(QUIET_DEP)$(CC) -MM $(ALL_CFLAGS) $(SOURCE) 1> .depend
filesetup.c +2 -2
@@ -316,7 +316,7 @@ static int get_file_size(struct thread_data *td, struct fio_file *f)return ret;if (f->file_offset > f->real_file_size) { -log_err ("%s: offset extends end (%Lu > %Lu)\n" , td->o.name, +log_err ("%s: offset extends end (%llu > %llu)\n" , td->o.name, f->file_offset, f->real_file_size);return 1 ; }
@@ -734,7 +734,7 @@ int setup_files(struct thread_data *td) temp_stall_ts =1 ;if (!terse_output)log_info ("%s: Laying out IO file(s) (%u file(s) /" -" %LuMB)\n" , td->o.name, need_extend, +" %lluMB)\n" , td->o.name, need_extend, extend_size >>20 );for_each_file (td, f, i) {
Quoted 6 lines · Bruce Cran
The latest fio fails to link on FreeBSD because
timer_createis in librt but the -lrt flag is missing from Makefile.FreeBSD.I also noticed a couple of compiler warnings when building with clang - a format of "%Lu" is used but 'L' doesn't have any effect with 'u' - I guess %llu is needed since the types are 'unsigned long long'?
We can just use %llu, it should be fine. Thanks Bruce, I have applied your patch.
Signature · 1 line
Jens Axboe