[LLVMdev] "multiple definition of .. " in clang 2.8

Xinfinity xinfinity_a at yahoo.com
Fri Oct 29 05:13:46 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 (
http://old.nabble.com/file/p30085184/llvm.cfg 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

-- 
View this message in context: http://old.nabble.com/%22multiple-definition-of-..-%22--in-clang-2.8-tp30085184p30085184.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.




More information about the llvm-dev mailing list