Subject: | crc32 symbol clashes in Convert::UUlib and Compress::Zlib on OS X |
Bug: both Compress::Zlib and Convert::UUlib wind up having exported _crc32 symbols in their dynamic libraries on OS X 10.2.8, which seems to kill applications trying to use both. I fixed this for myself by renaming function crc32() in crc32.c (and crc32.h and callers) to uu_crc32. I don't know enough about C or linking or OS X to know if this clash "shouldn't" have happened.
Example:
Using OS X 10.2.8, Perl 5.8.3, Convert::UUlib 1.01, Compress::Zlib 1.33, and amavisd-new 20030616p9, I got this error:
$ /usr/local/sbin/amavisd start
dyld: perl multiple definitions of symbol _crc32
/usr/local/lib/perl5/site_perl/5.8.3/darwin/auto/Convert/UUlib/UUlib.bundle definition of _crc32
/usr/local/lib/perl5/site_perl/5.8.3/darwin/auto/Compress/Zlib/Zlib.bundle definition of _crc32
Trace/BPT trap