cilkplus / clang

Other
27 stars 6 forks source link

libcilkrts.so: undefined reference to `__cpu_model' #19

Open Murphky opened 8 years ago

Murphky commented 8 years ago

Hiya,

I successfully built clang/llvm & runtime (with cmake) as per the instructions. When I compile the test program I get the error:

./llvm/new-git-cilk-Feb-2-3/build/cilkrt/libcilkrts.so: undefined reference to `__cpu_model'

The linux flavour is: Debian GNU/Linux, version 7 (wheezy) x86_64

The link line with -v looks like below,

Any help in understanding why this is happening would be much appreciated, Karen

"/usr/bin/ld" --hash-style=both --build-id --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.7/crtbegin.o -L./llvm/new-git-cilk-Feb-2-3/build/cilkrt -L/usr/lib/gcc/x86_64-linux-gnu/4.7 -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.7/../../.. -L/0/asap/sample-project-for-asap-1.0-SNAPSHOT/llvm/bin/bin/../lib -L/lib -L/usr/lib /tmp/test-66f336.o -L/0/asap/sample-project-for-asap-1.0-SNAPSHOT/llvm/lib -L/0/asap/sample-project-for-asap-1.0-SNAPSHOT/llvm/bin/lib -L. -lcilkrts -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/4.7/crtend.o /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crtn.o ./llvm/new-git-cilk-Feb-2-3/build/cilkrt/libcilkrts.so: undefined reference to `__cpu_model' clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)

Murphky commented 8 years ago

Just an update to this, I missed the pre-requisite of gcc 4.9.2+ for cilkrts, Closer to having it working, although the following patch was needed for debian: gcc-4.6-source 4.6.3-14 / usr / src / gcc-4.6 / debian / patches / gcc-gfdl-build.diff Thanks Karen