Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
View Bug Activity | Format For Printing | XML | Clone This Bug
wxchecksums has a typecasting-issue (void* -> int) on AMD64. It's fixed by the attached patch. Please add ~amd64 to KEYWORDS. ------------- athlon64 ~ # emerge info Portage 2.0.51.22-r3 (default-linux/amd64/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.13-gentoo-r5 x86_64) ================================================================= System uname: 2.6.13-gentoo-r5 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe -ftracer -frename-registers -fweb" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib /X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe -ftracer -frename-registers -fweb" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LINGUAS="de en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 16bit 16bittmp 64bit 7zip S3TC X a52 aac abook acpi adns aim aimextras alsa amd amuled ao aotuv apache apache2 apm ares async atm a udiofile automount avi bash-completion berkdb bidi big-tables bigpatch bitmap-fonts blender-game bluetooth bmp boo bootsplash bzip2 c++ cachee mu calendar cdb cdda cddb cdio cdparanoia cdr cdrom cg cgi chroot clock-screen commercial corba cpudetection crosscompile crypt css csv ctype cups curl curlwrappers daap dba dbm dbx devil devmap dga dio divx4linux dmalloc dnd dnsdb doc dpms dri dv dvb dvd dvdr dvdread dvi ecc edl emb oss emul-linux-x86 encode escreen esd ethereal examples exif expat experimental ext-iiimf ext-png ext-zlib extensions extraengine extraicons e xtramodules fam fame fastcgi ffmpeg fftw figlet flac flash flatfile flood fmod font-server fontconfig foomaticdb fping fpx freetts freetype ft p gd gd-external gdb gdbm general geoip geometry gif gimp gimpprint glut glx gnome gnome-print gnomecanvas gnomedb gphoto2 gpm gps gstreamer g tk gtk2 gtkhtml gvim hddtemp hdf hdf5 high-ints hlapi hou hpn html http httpd icecast icp icq icu id3 idea idn ieee1394 image imagemagick imap imlib imlib2 inifile innodb inode insecure-savers iproute2 ipv6 irc irda irmc jabber jack java javascript jit john jp2 jpeg jpeg2k jumpplay j unit justify kde kdgraphics keyscrub lame lapack largenet largeterminal lcd lcms ldap ldirectord lesstif libcaca libtommath libvisual libwww l ighttpd live lj lm_sensors lnbsharing logrotate ltsp lua lzo lzw lzw-tiff mad matroska mcal md5sum mdb mhash mikmod mime mimencode ming mixer mjpeg mmap mng mnogosearch mod motif mozcalendar mozdevelop mozilla mozsha1 mozsvg mozxmlterm mp3 mp4live mpd-mad mpeg mpeg2 mpeg4 mplayer mpm -prefork msession msn music musicbrainz mysql mysqli nas ncurses net netpbm network nforce2 nls nntp no-old-linux nocd nowin nptl nsplugin nsp r ntlm nvidia nvram objc offensive ogg on-the-fly-crypt openal opengl openssl osc oscache oscar oss pam pam_chroot pam_console pam_timestamp p arse-clocks passfile pccts pcntl pcre pda pdf pdfkit pdflib pear perl physfs player pmu png portaudio posix povray ppds prelude priority pytho n qdbm qt quicktime rar raw-mode rcu rdesktop readline real recode remote rle rogue rss rtc ruby samba scanner scp screen sdl sendfile sensord session sharedmem shorten shout silc simplexml smp sms smtp sndfile soap sockets sou sounds spell sqlite sqlite3 ssl stats stream subp subtit les subversion svg svgz sysfs syslog szip tdb tetex text tga theora threads tidy tiff timidity toolbar tools transcode truetype truetype-fonts type1-fonts udev uim unicode usb userlocales v4l v4l2 vcd vcdimager vfat videos vim vim-pager vim-with-x vlm vorbis wddx webdav wma123 wmf wx windows x11vnc xattr xine xinerama xml xml2 xmlrpc xmms xosd xpm xprint xrandr xscreensaver xsl xslt xv xvid xvmc yahoo yv12 zip zlib linguas_ de linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
Created an attachment (id=73463) [edit] This patch fixes the typecasting-issues
Created an attachment (id=73464) [edit] Patched wxchecksums-1.2.0.ebuild to include the previous patch
uhm, i'm not sure but i think the second part of the patch breaks non-64bit arches. wxwindows-herd: can you confirm that?
It shouldn't break, as wxUint64 is defined on all plattforms. What might happen is some extra copy where none would be needed, on plattforms that require buffers to be aligned. But when something is aligned on 64bits, it's also aligned on 32bits.
Created an attachment (id=73572) [edit] First half of above patch The macro changes in wxChecksums-1.2.0/src/md5.cpp are correct for a 64 bit platform and they will not break a 32 bit platform however the odds that memory on a 32 bit platform is aligned on 64 bit boundaries is about 50/50 and that kinda sucks. Okay, what needs to happen here is that the patch needs to align for the target arch. So these two should do it. The first is the top half of the previous patch. The second an adjusted bottom half. This compiles and runs ok on AMD64 but I still need to figure out how to make the ebuild use the patches. Stay tuned. :)
Created an attachment (id=73573) [edit] Bottom half of above patch
Created an attachment (id=73574) [edit] Patch to fix the ebuild An attempt at an ebuild fix.
Created an attachment (id=73608) [edit] An updated ebuild patch An updated ebuild that should be correct as it incorporates blubb's suggestions
blubb and I have beat on this a bit and have determined that wxchecksums works as expected if wxGTK is emerged without the debug USE flag set but will cause wxchecksums to fail to emerge if the debug USE flag was enabled when wxGTK was emerged. This presumes that the above adjusted patches (my versions) are included. There could be some other issues with slotting of wxGTK that have yet to be isolated too.
I have added wxchecksums-1.2.2 to the tree, which patches for 64-bit as done on the split patches (but combined into one in the tree). amd64 team can now look into keywording.
Patch forwarded upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1570036&group_id=89422&atid=590082 Also worth noting might be that 1.2.2 also fixes the concerns raised in comment #9 - builds with debug enabled wxGTK, and should have any SLOTting issues solved
1. emerged cleanly including test phase 2. passed collision-protect tests 3. passed multilib-strict tests 4. tested the application thoroughly, I tested it with as many checksums as I could. It worked against all but the last one. The last one is a 41GB file and I am guessing wxChecksums doesn't use the 64bit file functions. (of course neither does coreutils and a lot of sys-*/* apps.) emerge --info as follows ================================================================================== Portage 2.1.1-r1 (default-linux/amd64/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.17-beyond4 x86_64) ================================================================= System uname: 2.6.17-beyond4 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.12.5 Last Sync: Tue, 03 Oct 2006 13:30:01 +0000 ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -msse3 -march=k8 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -msse3 -march=k8 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache collision-protect distlocks metadata-transfer multilib-strict sandbox sfperms strict test" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.cites.uiuc.edu/pub/gentoo/ http://mirrors.acm.cs.rpi.edu/gentoo/" LINGUAS="en en_US" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X a52 aac acl acpi akobe alsa apache2 audiofile avi bash-completion bcp berkdb bitmap-fonts bjam bogofilter boost branding bzip2 cairo cdr cli crypt cscope cups curl dbus djbfft dlloader dri dssi dts dvd dvdr dvdread eds elibc_glibc emboss encode exif expat exscalibar fam ffmpeg firefox flac foo2zjs_devices_hp1020 foomaticdb fortran fpx ftp gd gdbm gif glitz glut gmp gnokii gnome gnutls gphoto2 gpm graphviz gs gsl gstreamer gtk gtk2 guile hal hash ieee1394 imlib input_devices_keyboard input_devices_mouse insecure-savers ipv6 isdnlog jack jack-tmpfs jackmidi java jbig jpeg jpeg2k kernel_linux lapack lash lcms ldap libg++ linguas_en linguas_en_US logitech-mouse mad mailwrapper mikmod mono mp3 mp4 mpeg musicbrainz mysql ncurses network nls nptl nptlonly nsplugin numeric offensive ogg openal openexr opengl pam pam_console pcre pda pdf pdflib perl physfs png ppds pppd pwdb pyste python quicktime readline reflection ruby samba sdl session speex spell spl sqlite ssl svg tcl tcpd theora threads tidy tiff truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_nvidia visualization vorbis vst wmf xcomposite xine xml xmms xorg xscreensaver xv xvid xvmc yahoo zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
(In reply to comment #12) > 4. tested the application thoroughly, I tested it with as many checksums as I > could. It worked against all but the last one. I presume the results were correct as well? :) > The last one is a 41GB file > and I am guessing wxChecksums doesn't use the 64bit file functions. (of > course neither does coreutils and a lot of sys-*/* apps.) Apparently I could pass USE_LARGE_FILES to its pure makefile to have it work with large files. I have no capability to test this function out myself, though (I'm lucky if I have 2GB of free space on my HDD). Feel free to open a new bug for this, as this shouldn't stop keywording or stabilization (on other arches), as earlier versions probably didn't work with large files either.
Yes, of course all results were correct minus the overly large file. I don't think I'll make that bug for large file access, checksums basically guarantee nothing with files that large anyways.
marked ~amd64, thanks everybody