[cfe-dev] "multiple definition of .. " in clang 2.8

Jimborean Alexandra xinfinity_a at yahoo.com
Fri Oct 29 05:16:13 PDT 2010


Hi, 
I tried to run the SPEC benchmark suite SPECCPU 2006 with llvm and clang 2.8. 
When building the perlbench  sources I get these errors (see below) for all the 
source files. I used a config file (llvm.cfg) where I specify clang as the 
compiler. I verified the same sources with llvm-gcc and it works fine. Also, I 
verified the sjeng benchmark from the same suite and it builds and executes 
correctly with both front-ends.   

I have run these SPEC benches with llvm 2.7 using clang without any  problems, 
but in 2.8 I get these errors. I have tested it both with the  llvm 2.8 release 
version and with the svn version, all of them compiled  from sources. I tried 
recompiling clang and llvm to make sure they were  not mis-compiled, but it is 
all the same. 


I have a copy of llvm 2.7 on my machine, but I specify the path to the 2.8 
executables in my scripts and config files. 

Are there any conflicts between different versions, or is it possible to be a 
bug in clang? 


Thank you, 
Alexandra 


And here is the error: 

Hostname.o: In function `gnu_dev_major': 
Hostname.c:(.text+0x0): multiple definition of `gnu_dev_major' 
av.o:av.c:(.text+0x0): first defined here 
Hostname.o: In function `gnu_dev_minor': 
Hostname.c:(.text+0x20): multiple definition of `gnu_dev_minor' 
av.o:av.c:(.text+0x20): first defined here 
Hostname.o: In function `gnu_dev_makedev': 
Hostname.c:(.text+0x40): multiple definition of `gnu_dev_makedev' 
av.o:av.c:(.text+0x40): first defined here 
Hostname.o: In function `tolower': 
Hostname.c:(.text+0x80): multiple definition of `tolower' 
av.o:av.c:(.text+0x80): first defined here 
Hostname.o: In function `toupper': 
Hostname.c:(.text+0xb0): multiple definition of `toupper' 
av.o:av.c:(.text+0xb0): first defined here 
Hostname.o: In function `atof': 
Hostname.c:(.text+0xe0): multiple definition of `atof' 
av.o:av.c:(.text+0xe0): first defined here 
Hostname.o: In function `atoi': 
Hostname.c:(.text+0xf0): multiple definition of `atoi' 
av.o:av.c:(.text+0xf0): first defined here 
Hostname.o: In function `atol': 
Hostname.c:(.text+0x110): multiple definition of `atol' 
av.o:av.c:(.text+0x110): first defined here 
Hostname.o: In function `atoll': 
Hostname.c:(.text+0x130): multiple definition of `atoll' 
av.o:av.c:(.text+0x130): first defined here 
Hostname.o: In function `__strcspn_c1': 
Hostname.c:(.text+0x150): multiple definition of `__strcspn_c1' 
av.o:av.c:(.text+0x150): first defined here 
Hostname.o: In function `__strcspn_c2': 
Hostname.c:(.text+0x180): multiple definition of `__strcspn_c2' 
av.o:av.c:(.text+0x180): first defined here 
Hostname.o: In function `__strcspn_c3': 
Hostname.c:(.text+0x1b0): multiple definition of `__strcspn_c3' 
av.o:av.c:(.text+0x1b0): first defined here 
Hostname.o: In function `__strspn_c1': 
Hostname.c:(.text+0x1e0): multiple definition of `__strspn_c1' 
av.o:av.c:(.text+0x1e0): first defined here 
Hostname.o: In function `__strspn_c2': 
Hostname.c:(.text+0x200): multiple definition of `__strspn_c2' 
av.o:av.c:(.text+0x200): first defined here 
Hostname.o: In function `__strspn_c3': 
Hostname.c:(.text+0x230): multiple definition of `__strspn_c3' 
av.o:av.c:(.text+0x230): first defined here 
Hostname.o: In function `__strpbrk_c2': 
Hostname.c:(.text+0x260): multiple definition of `__strpbrk_c2' 
av.o:av.c:(.text+0x260): first defined here 
Hostname.o: In function `__strpbrk_c3': 
Hostname.c:(.text+0x290): multiple definition of `__strpbrk_c3' 
av.o:av.c:(.text+0x290): first defined here 
Hostname.o: In function `__strtok_r_1c': 
Hostname.c:(.text+0x2d0): multiple definition of `__strtok_r_1c' 
av.o:av.c:(.text+0x2d0): first defined here 
Hostname.o: In function `__strsep_1c': 
Hostname.c:(.text+0x320): multiple definition of `__strsep_1c' 
av.o:av.c:(.text+0x320): first defined here 
Hostname.o: In function `__strsep_2c': 
Hostname.c:(.text+0x360): multiple definition of `__strsep_2c' 
av.o:av.c:(.text+0x360): first defined here 
Hostname.o: In function `__strsep_3c': 
Hostname.c:(.text+0x3b0): multiple definition of `__strsep_3c' 
av.o:av.c:(.text+0x3b0): first defined here 
Hostname.o: In function `__cmsg_nxthdr': 
Hostname.c:(.text+0x400): multiple definition of `__cmsg_nxthdr' 
av.o:av.c:(.text+0x400): first defined here 
Hostname.o: In function `stat': 
Hostname.c:(.text+0x450): multiple definition of `stat' 
av.o:av.c:(.text+0x450): first defined here 
Hostname.o: In function `lstat': 
Hostname.c:(.text+0x470): multiple definition of `lstat' 
av.o:av.c:(.text+0x470): first defined here 
Hostname.o: In function `fstat': 
Hostname.c:(.text+0x490): multiple definition of `fstat' 
av.o:av.c:(.text+0x490): first defined here 
Hostname.o: In function `fstatat': 
Hostname.c:(.text+0x4b0): multiple definition of `fstatat' 
av.o:av.c:(.text+0x4b0): first defined here 
Hostname.o: In function `mknod': 
Hostname.c:(.text+0x4d0): multiple definition of `mknod' 
av.o:av.c:(.text+0x4d0): first defined here 
Hostname.o: In function `mknodat': 
Hostname.c:(.text+0x500): multiple definition of `mknodat' 
av.o:av.c:(.text+0x500): first defined here 
Hostname.o: In function `strtoimax': 
Hostname.c:(.text+0x530): multiple definition of `strtoimax' 
av.o:av.c:(.text+0x530): first defined here 
Hostname.o: In function `strtoumax': 
Hostname.c:(.text+0x540): multiple definition of `strtoumax' 
av.o:av.c:(.text+0x540): first defined here 
Hostname.o: In function `wcstoimax': 
Hostname.c:(.text+0x550): multiple definition of `wcstoimax' 
av.o:av.c:(.text+0x550): first defined here 
Hostname.o: In function `wcstoumax': 
Hostname.c:(.text+0x560): multiple definition of `wcstoumax' 
av.o:av.c:(.text+0x560): first defined here 
Hostname.o: In function `vprintf': 
Hostname.c:(.text+0x570): multiple definition of `vprintf' 
av.o:av.c:(.text+0x570): first defined here 
Hostname.o: In function `getchar': 
Hostname.c:(.text+0x590): multiple definition of `getchar' 
av.o:av.c:(.text+0x590): first defined here 
Hostname.o: In function `fgetc_unlocked': 
Hostname.c:(.text+0x5b0): multiple definition of `fgetc_unlocked' 
av.o:av.c:(.text+0x5b0): first defined here 
Hostname.o: In function `getc_unlocked': 
Hostname.c:(.text+0x5e0): multiple definition of `getc_unlocked' 
av.o:av.c:(.text+0x5e0): first defined here 
Hostname.o: In function `getchar_unlocked': 
Hostname.c:(.text+0x610): multiple definition of `getchar_unlocked' 
av.o:av.c:(.text+0x610): first defined here 
Hostname.o: In function `putchar': 
Hostname.c:(.text+0x640): multiple definition of `putchar' 
av.o:av.c:(.text+0x640): first defined here 
Hostname.o: In function `fputc_unlocked': 
Hostname.c:(.text+0x660): multiple definition of `fputc_unlocked' 
av.o:av.c:(.text+0x660): first defined here 
Hostname.o: In function `putc_unlocked': 
Hostname.c:(.text+0x690): multiple definition of `putc_unlocked' 
av.o:av.c:(.text+0x690): first defined here 
Hostname.o: In function `putchar_unlocked': 
Hostname.c:(.text+0x6c0): multiple definition of `putchar_unlocked' 
av.o:av.c:(.text+0x6c0): first defined here 
Hostname.o: In function `feof_unlocked': 
Hostname.c:(.text+0x700): multiple definition of `feof_unlocked' 
av.o:av.c:(.text+0x700): first defined here 
Hostname.o: In function `ferror_unlocked': 
Hostname.c:(.text+0x710): multiple definition of `ferror_unlocked' 
av.o:av.c:(.text+0x710): first defined here 
Hostname.o: In function `__signbitf': 
Hostname.c:(.text+0x720): multiple definition of `__signbitf' 
av.o:av.c:(.text+0x720): first defined here 
Hostname.o: In function `__signbit': 
Hostname.c:(.text+0x730): multiple definition of `__signbit' 
av.o:av.c:(.text+0x730): first defined here 
Hostname.o: In function `__signbitl': 
Hostname.c:(.text+0x740): multiple definition of `__signbitl' 
av.o:av.c:(.text+0x740): first defined here 


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20101029/85c7e36c/attachment.html>


More information about the cfe-dev mailing list