Definitions should never go to headers. --- parted-1.8.8/libparted/fs/fat/count.h.orig +++ parted-1.8.8/libparted/fs/fat/count.h @@ -29,7 +29,7 @@ FAT_FLAG_BAD=3 }; -struct __attribute__ ((packed)) _FatClusterInfo { +extern struct __attribute__ ((packed)) _FatClusterInfo { unsigned int units_used:6; /* 1 unit = cluster_size / 64 */ FatClusterFlag flag:2; } fat16; --- parted-1.8.8/libparted/fs/fat/count.c.orig +++ parted-1.8.8/libparted/fs/fat/count.c @@ -24,6 +24,9 @@ #include <stdlib.h> #include <string.h> +#include "count.h" +struct __attribute__ ((packed)) _FatClusterInfo fat16; + #ifndef DISCOVER_ONLY #if 0