Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#42 Without-zlib option breaks the enable-checksum=method.

closed-invalid
nobody
None
5
2008-03-03
2006-10-30
EvilBohdran
No

A short time back I changed my configuration to disable zlib,
as I noticed when nget would read and write to the cache files
my system would become unusable do to CPU load. I have more
diskspace than CPU cycles.

./configure --without-zlib --enable-checksum=crc32

Recently I've been having issues my ngettemp-* files were being
overwritten during a multi-file download by the later files.
Only a problem when downloading files with missing articles ,
nget would keep the ngettemp files but examining them I would
notice things like "part23" having overwritten all a handleful of
the "part16" temp files.

Examing the source, it appears that without zlib, the --enable-checksum=...
doesn't do anything, instead it defaults to using STL Hash object.
Clearly this isn't suitable given the name collisions I'm
encountering.

Removing the --without-zlib fixes the problem. However there doesn't
appear to be a configuration option to turn off compression (only
disabling zlib at compile-time option). For my use, I hacked the source
to change the HAVE_ZLIB define to USE_ZLIB where appropriate.

Guess the bug is that the configure script doesn't prevent/warn
someone that the --without-zlib will lead them to the buggy hash
filenames. And a nice enhancement might be a config option to turn
on/off compression at run-time.

Discussion

  • Logged In: YES
    user_id=803104

    Does "usegz=0" in $NGETRC work for you?

    In general, users aren't expected to disable system
    libraries unless they're breaking the build, and In My
    Humble Opinion, it's pointless to try to make "configure"
    output useful and informative at every turn. What would you
    say to a user who doesn't have <stdio.h> or <stdlib.h>?

     
  • Logged In: YES
    user_id=65253
    Originator: NO

    As Frederick noted, the usegz option can be set to disable compression (or use a different level of compression.) Disabling zlib at configure time is only intended as a workaround on systems that don't have it (assuming any such systems exist ;), you should use the config option if you just want to disable the compression.

    Feel free to reopen the bug if the usegz option isn't working for you.

     
    • status: open --> closed-invalid