emerge testdisk fails since ntfsprogs-2.0.0 with if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -O3 -march=pentium4 -fomit-frame-pointer -pipe -Wall -MD -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wwrite-strings -W -Wcast-align -Waggregate-return -Wbad-function-cast -Wcast-qual -Wundef -Wredundant-decls -Wsign-compare -Wnested-externs -Winline -Wdeclaration-after-statement -MT ntfs_dir.o -MD -MP -MF ".deps/ntfs_dir.Tpo" -c -o ntfs_dir.o ntfs_dir.c; \ then mv -f ".deps/ntfs_dir.Tpo" ".deps/ntfs_dir.Po"; else rm -f ".deps/ntfs_dir.Tpo"; exit 1; fi In file included from dir.h:24, from ntfs_dir.c:65: list.h:59: error: redefinition of 'struct list_head' list.h:81: error: redefinition of '__list_add' /usr/include/ntfs/list.h:61: error: previous definition of '__list_add' was here list.h:97: error: redefinition of 'list_add' /usr/include/ntfs/list.h:77: error: previous definition of 'list_add' was here list.h:110: error: redefinition of 'list_add_tail' /usr/include/ntfs/list.h:90: error: previous definition of 'list_add_tail' was here list.h:122: error: redefinition of '__list_del' /usr/include/ntfs/list.h:106: error: previous definition of '__list_del' was here list.h:134: error: redefinition of 'list_del' /usr/include/ntfs/list.h:119: error: previous definition of 'list_del' was here list.h:145: error: redefinition of 'list_del_init' /usr/include/ntfs/list.h:128: error: previous definition of 'list_del_init' was here list.h:178: error: conflicting types for 'list_empty' /usr/include/ntfs/list.h:138: error: previous definition of 'list_empty' was here list.h:220: error: redefinition of 'list_splice' /usr/include/ntfs/list.h:149: error: previous definition of 'list_splice' was here ntfs_dir.c: In function 'ntfs_list_entry': ntfs_dir.c:145: warning: unused parameter 'pos' ntfs_dir.c: In function 'ntfs_dir': ntfs_dir.c:275: warning: unused parameter 'disk_car' ntfs_dir.c:275: warning: unused parameter 'partition' ntfs_dir.c: In function 'ntfs_copy': ntfs_dir.c:307: warning: unused parameter 'disk_car' ntfs_dir.c:307: warning: unused parameter 'partition' make[2]: *** [ntfs_dir.o] Error 1 Reproducible: Always root@bornholm:/root(3)# emerge --info Portage 2.1.3.11 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22.1 i686) ================================================================= System uname: 2.6.22.1 i686 Intel(R) Xeon(TM) CPU 2.80GHz Timestamp of tree: Mon, 01 Oct 2007 06:30:09 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [disabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4, 2.5.1-r2 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18 sys-devel/gcc-config: 1.4.0-r2 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5 /ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp.fi .muni.cz/pub/linux/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/" LINGUAS="de fr" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeou t=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/science /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X Xaw3d a52 aac acl acpi aiglx alsa amrr ao aotuv apache2 asf atlas auctex audacious audiofile automount beagle berkdb bitmap-fonts blas bonobo boo bzip2 cairo cdda cddb cdf cdio cdparanoia cdr cgi chm cli corba cracklib crypt cups curl daap dbus device-mapper dga divx dlloade r dmi dri dv dvb dvd dvdr dvi dxr3 dynagraph effects elf emacs emboss encode epiphany esd evo evolution examples exif expat fam fame ffmpeg f ftw firefox fits flac fltk foomaticdb fortran fpx galago gdal gdbm geos gif gimp gimpprint ginac glade glitz gml gmp gnome gnuplot gnutls gph oto2 gpm graphviz grass gs gsl gsm gstreamer gtk guile hal hardened hddtemp hdf hdf5 hlapi iconv icq id3 imagemagick innodb ipv6 isdnlog jabb er java jbig john jp2 jpeg jpeg2k kexi ladspa lame lapack latex lcms ldap libgda libsamplerate lirc lm_sensors lua lzo lzw mad math matroska midi mmx mmxext mng mod mono motif mozdevelop mozilla mozsvg mozxmlterm mp3 mp4live mpeg mpeg2 mplayer mudflap musicbrainz mysql mysqli nauti lus ncurses neXt netcdf network nfs nls nntp nptl nptlonly ntfs numarray numeric ocaml octave odbc ogdi ogg ole opengl openmp pam pcre pdf pe rl plotutils plugin png posix postgres pppd proj python qhull quicktime readline real reflection reiserfs rhythmbox rle rrdcgi rrdtool samba sdl session slang slp smp sndfile snmp sox speex spell spl sqlite sse sse2 ssl subtitles svg t1lib tcltk tcpd tetex theora threads thunderbir d tidy tiff tk truetype truetype-fonts type1-fonts unicode userlocales v4l2 win32codecs wmf x86 xatrr xemacs xext xine xml xml2 xmlreader xml rpc xorg xpm xv xvid xvmc zlib zvbi" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1 938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELI BC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" USERLAND="GNU" VIDEO_CARDS="ati vesa fbdev" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
vapier: There is some badness in the new ntfsprogs headers
the list.h header has not changed
*** Bug 198184 has been marked as a duplicate of this bug. ***
Same error has been hitting me for some time now (on ~amd64, ccache disabled too). Is someone working on this one?
Same problem here. As a workaround, I just downloaded the static builds from the TestDisk-homepage: http://www.cgsecurity.org/wiki/TestDisk_Download They work just fine.
same problem here...
the problem is name space collision as two packages define list functions. probably the proper way to resolve this would be to change testdisk to not use its own list.h when it uses libntfs.
Created attachment 139241 [details, diff] Rename testdisk list functions This patch renames testdisk list functions to avoid the conflict with ntfsprogs 2.0
The patch appears to work here, in that the emerge succeeds, although I haven't tried running the program yet.
Thanks for the patch, added in app-admin/testdisk-6.8-r1 with dragonheart's permission.