Skip to contentSkip to conversation

FreeBSD build broken due to missing -lrt

PATCH In review Bruce Cran 2 participants 2 messages Dec 15, 2010 Kbuild

lore
Share & tools
lore

Bruce Cran

author
#0 lore raw

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
index e4adfca..9378b19 100644
@@ -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
index ae893c7..bb36234 100644
@@ -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) {
#1 lore raw
Quoted 6 lines · Bruce Cran

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'?

We can just use %llu, it should be fine. Thanks Bruce, I have applied your patch.

Signature · 1 line
Jens Axboe