Package: defrag Version: 0.73pjm1-8 Severity: serious Tags: patch When building 'defrag' on amd64/unstable, I get the following error:
ranlib libext2.a gcc -pipe -Werror -Wall -W -Wunused -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wno-sign-compare -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wnested-externs -g -O2 -fomit-frame-pointer -Wno-trigraphs -o e2defrag libext2.a -lncurses gcc -pipe -Werror -Wall -W -Wunused -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wno-sign-compare -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wmissing-noreturn -Wnested-externs -g -O2 -fomit-frame-pointer -Wno-trigraphs -DHAVE_CONFIG_H -I. -I. -DFS_IS_ext2 -c -o e2dump.ext2.o e2dump.c cc1: warnings being treated as errors e2dump.c: In function 'dump_super': e2dump.c:474: warning: dereferencing type-punned pointer will break strict-aliasing rules e2dump.c:476: warning: dereferencing type-punned pointer will break strict-aliasing rules e2dump.c: In function 'dump_inode': e2dump.c:506: warning: dereferencing type-punned pointer will break strict-aliasing rules e2dump.c:507: warning: dereferencing type-punned pointer will break strict-aliasing rules e2dump.c:508: warning: dereferencing type-punned pointer will break strict-aliasing rules e2dump.c:516: warning: dereferencing type-punned pointer will break strict-aliasing rules make[1]: *** [e2dump.ext2.o] Error 1 rm defrag.minix.o misc.minix.o buffers.minix.o defrag.ext2.o misc.ext2.o buffers.ext2.o display.minix.o minix.minix.o ext2.ext2.o llseek.ext2.o llseek.minix.o display.ext2.o make[1]: Leaving directory `/defrag-0.73pjm1' make: *** [build-stamp] Error 2 With the attached patch 'defrag' can be compiled on amd64 using gcc-4.1. Regards Andreas Jochens diff -urN ../tmp-orig/defrag-0.73pjm1/e2dump.c ./e2dump.c --- ../tmp-orig/defrag-0.73pjm1/e2dump.c 2001-07-04 11:08:13.000000000 +0000 +++ ./e2dump.c 2006-06-14 10:40:41.000000000 +0000 @@ -469,10 +469,10 @@ (unsigned long) s.s_frags_per_group); /* # Fragments per group */ printf("Inodes per group:%lu\n", (unsigned long) s.s_inodes_per_group); /* # Inodes per group */ - printf("mount time:%s", - ctime ((time_t *) &s.s_mtime)); /* Mount time */ - printf("write time:%s", - ctime ((time_t *) &s.s_wtime)); /* Write time */ + time_t t = s.s_mtime; + printf("mount time:%s", ctime ( &t)); /* Mount time */ + t = s.s_wtime; + printf("write time:%s", ctime ( &t)); /* Write time */ printf("magic:0x%X", s.s_magic); /* Magic signature */ if (s.s_magic == EXT2_SUPER_MAGIC) printf(" (OK)\n"); else printf(" (???) "); @@ -502,9 +502,10 @@ printf("Owner Uid %d ",(uint) n.i_uid); printf("Group Id %d\n",(uint) n.i_gid); printf("File size %lu\n", (unsigned long) n.i_size); - printf("Access time : %s", ctime ((time_t *) &n.i_atime)); - printf("Creation time : %s", ctime ((time_t *) &n.i_ctime)); - printf("Modification time: %s", ctime ((time_t *) &n.i_mtime)); + time_t t; + t = n.i_atime; printf("Access time : %s", ctime (&t)); + t = n.i_ctime; printf("Creation time : %s", ctime (&t)); + t = n.i_mtime; printf("Modification time: %s", ctime (&t)); if (inode_is_busy(inode_no)) { if (n.i_dtime!=0) printf("ERROR: bitmap is 1 "); } @@ -512,7 +513,7 @@ if (n.i_dtime==0 && n.i_ctime!=0) printf("ERROR: bitmap is 0\n "); if (n.i_dtime!=0) - printf("Deletion time : %s", ctime ((time_t *) &n.i_dtime)); + t = n.i_dtime; printf("Deletion time : %s", ctime (&t)); printf("Links count: %d\n", (uint) n.i_links_count); /* in 512 byte blocks for some unknown reason */ printf("512-Blocks count: %lu\n", (unsigned long) n.i_blocks); -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]