Hello,

Sorry for the long post.

The following command and error stops clamav build, any ideas?

gcc -shared -Wl,-h -Wl,libclamav.so.5 -o .libs/libclamav.so.5.0.1
.libs/matcher-ac.o .libs/matcher-bm.o .libs/matcher.o .libs/md5.o
.libs/others.o .libs/readdb.o .libs/cvd.o .libs/dsig.o .libs/str.o
.libs/scanners.o .libs/textdet.o .libs/filetypes.o .libs/rtf.o
.libs/blob.o .libs/mbox.o .libs/message.o .libs/table.o .libs/text.o
.libs/ole2_extract.o .libs/vba_extract.o .libs/msexpand.o .libs/pe.o
.libs/disasm.o .libs/upx.o .libs/htmlnorm.o .libs/chmunpack.o
.libs/rebuildpe.o .libs/petite.o .libs/wwunpack.o .libs/unsp.o
.libs/aspack.o .libs/packlibs.o .libs/fsg.o .libs/mew.o .libs/upack.o
.libs/line.o .libs/untar.o .libs/unzip.o .libs/inflate64.o
.libs/special.o .libs/binhex.o .libs/is_tar.o .libs/tnef.o
.libs/autoit.o .libs/strlcpy.o .libs/regcomp.o .libs/regerror.o
.libs/regexec.o .libs/regfree.o .libs/unarj.o .libs/bzlib.o
.libs/nulsft.o .libs/infblock.o .libs/pdf.o .libs/spin.o .libs/yc.o
.libs/elf.o .libs/sis.o .libs/uuencode.o .libs/phishcheck.o
.libs/phish_domaincheck_db.o .libs/phish_whitelist.o .libs/regex_list.o
.libs/regex_suffix.o .libs/mspack.o .libs/cab.o .libs/entconv.o
.libs/hashtab.o .libs/dconf.o .libs/lzma_iface.o .libs/explode.o
.libs/textnorm.o .libs/dlp.o .libs/js-norm.o .libs/uniq.o
.libs/version.o -Wl,-z -Wl,allextract lzma/.libs/liblzma.a -Wl,-z
-Wl,defaultextract
-R/usr/share/src/clamav-0.94/libclamunrar_iface/.libs -R/usr/local/lib
-R/usr/local/lib ../libclamunrar_iface/.libs/libclamunrar_iface.so
-L/usr/share/src/clamav-0.94/libclamunrar/.libs -L/usr/local/lib -lz
-lbz2 /usr/local/lib/libgmp.so /usr/local/lib/libiconv.so -L/usr/lib
-L/usr/openwin/lib -L/usr/local/ssl/lib -L/usr/local/BerkeleyDB.4.2/lib
-lpthread -lnsl -lsocket -lc  -Wl,-M -Wl,../libclamav/libclamav.map
ld: fatal: ../libclamav/libclamav.map: 109: symbol `uniq_get' is already
defined in file: ../libclamav/libclamav.map

The file libclamav.map does indeed have uniq_get twice, I can't find
where the duplicate comes from, it's not duplicated on clamav's code.
Here's the contents of the map:

CLAMAV_PUBLIC {
  global:
    cl_build;
    cl_cvdfree;
    cl_cvdhead;
    cl_cvdparse;
    cl_cvdverify;
    cl_debug;
    cl_dup;
    cl_free;
    cl_load;
    cl_loaddb;
    cl_loaddbdir;
    cl_retdbdir;
    cl_retflevel;
    cl_retver;
    cl_scandesc;
    cl_scanfile;
    cl_settempdir;
    cl_statchkdir;
    cl_statfree;
    cl_statinidir;
    cl_strerror;
  local:
    *;
};
CLAMAV_PRIVATE {
  global:
    cli_ac_setdepth;
    cli_strtok;
    cli_untgz;
    cli_regcomp;
    cli_regexec;
    cli_regfree;
    cli_strrcpy;
    cli_strbcasestr;
    cli_isnumber;
    cli_gentemp;
    cli_gentempfd;
    cli_rmdirs;
    cli_chomp;
    cli_rndnum;
    cli_decodesig;

    cli_calloc;
    cli_ole2_extract;
    cli_errmsg;
    cli_debug_flag;
    cli_dbgmsg_internal;
    cli_vba_readdir;
    cli_vba_inflate;
    cli_ppt_vba_read;
    cli_wm_readdir;
    cli_wm_decrypt_macro;
    cli_readn;
    cli_str2hex;
    cli_md5file;
    cli_md5stream;
    html_normalise_fd;
    cli_utf16toascii;

    cli_malloc;
    cli_memstr;
    cli_strdup;
    cli_realloc;
    cli_ctime;
    tableCreate;
    tableDestroy;
    tableRemove;
    tableFind;
    tableIterate;
    tableUpdate;
    tableInsert;
    cli_warnmsg;
    cli_strtokbuf;
    cli_leavetemps_flag;
    uniq_get;                      <---------------
    cli_js_init;
    cli_js_process_buffer;
    cli_js_parse_done;
    cli_js_destroy;
    cli_js_output;
    cli_unescape;
    cli_textbuffer_append_normalize;
    cli_dconf_init;
    cli_regex2suffix;
    html_normalise_mem;
    init_regex_list;
    is_regex_ok;
    regex_list_done;
    regex_list_add_pattern;
    cli_build_regex_list;
    regex_list_match;
    cli_initengine;
    phishing_init;
    init_domainlist;
    init_whitelist;
    phishing_done;
    blobCreate;
    blobAddData;
    phishingScan;
    blobDestroy;
    load_regex_matcher;
    html_tag_arg_free;
    disasmbuf;
    uniq_init;
    uniq_free;
    uniq_add;
    uniq_get;                      <---------------
    cli_hex2str;
    cli_ac_init;
    cli_ac_initdata;
    cli_ac_buildtrie;
    cli_ac_scanbuff;
    cli_ac_freedata;
    cli_ac_free;
    cli_parse_add;
    cli_bm_init;
    cli_bm_scanbuff;
    cli_bm_free;
  local:
    *;
};

I did not test 0.94rc1 on this system.
-- 
René Berber

_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://www.clamav.net/support/ml

Reply via email to