| Summary: | clang cant compile on 32bit systems | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Juan Magallon <jamagallon> |
| Component: | RPM Packages | Assignee: | Dimitri Jakov <mitya> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | Normal | CC: | marja11, npomarede, tmb |
| Version: | Cauldron | Keywords: | Triaged |
| Target Milestone: | --- | ||
| Hardware: | i586 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Source RPM: | llvm-3.4-1.mga5 | CVE: | |
| Status comment: | |||
| Bug Depends on: | 13813 | ||
| Bug Blocks: | |||
|
Manuel Hiebel
2013-11-28 14:47:57 CET
Keywords:
(none) =>
Triaged problem still here with mga4 beta 2 for i586 I found 2 bugs report for fedora suggesting this could be related to gcc version not being correct in "clang-2.9-add_gcc_vers.patch" (if such a patrch exist in mga too ?) https://bugzilla.redhat.com/show_bug.cgi?id=770487 https://bugzilla.redhat.com/show_bug.cgi?id=750187#c9 If it's just a matter of fixing a search directory, hopefully it could be fixed before mga4 is released ; else, llvm/clang is pretty broken in its current state (changing the severity to major) Thanks CC:
(none) =>
npomarede Problem still presents in llvm-3.4-1.mga5 / clang-3.4-1.mga5, compilation for 32 bit system is not possible : /usr/bin/ld: cannot find crtbegin.o: No such file or directory /usr/bin/ld: cannot find -lgcc clang: error: linker command failed with exit code 1 (use -v to see invocation) Thanks Source RPM:
llvm-3.3-2.mga4.src.rpm =>
llvm-3.4-1.mga5 Problem is fixed with clang-3.4.1-3.mga5 ; both tests above compile fine with clang / clang++. Marking the bug as "fixed. Status:
NEW =>
RESOLVED Fix now available for Mga4, too, the clang packages are on your mirror in updates_testing or should land there soon. Please test and report back in bug 13813 CC:
(none) =>
marja11
Thomas Backlund
2014-07-28 11:36:53 CEST
CC:
(none) =>
tmb |
clang cant compile any proggram in 32bit platforms. Even with a simple test like this: #include <stdio.h> int main() { puts("Halo!!"); return 0; } it says: annwn:~/tmp/t> clang t1.c /usr/bin/ld: cannot find crtbegin.o: No such file or directory /usr/bin/ld: cannot find -lgcc clang: error: linker command failed with exit code 1 (use -v to see invocation) And with c++: #include <iostream> int main() { std::cout << "Halo!!" << std::endl; return 0; } annwn:~/tmp/t> clang++ t2.cc t2.cc:1:10: fatal error: 'iostream' file not found #include <iostream> ^ 1 error generated. It works fine on x86-64. It looks like it is missing all system directories in its path search. On x86-64: werewolf:~/tmp/t> clang -print-search-dirs programs: =/usr/bin:/usr/lib/gcc/x86_64-mageia-linux-gnu/4.8.2/../../../../x86_64-mageia-linux-gnu/bin libraries: =/usr/bin/../lib/clang/3.3:/usr/lib/gcc/x86_64-mageia-linux-gnu/4.8.2:/usr/lib/gcc/x86_64-mageia-linux-gnu/4.8.2/../../../../lib64:/lib/../lib64:/usr/lib/../lib64:/usr/lib/gcc/x86_64-mageia-linux-gnu/4.8.2/../../..:/lib:/usr/lib On x86-32: annwn:~/tmp/t> clang -print-search-dirs programs: =/usr/bin:/..//bin libraries: =/usr/bin/../lib/clang/3.3:/lib:/usr/lib Reproducible: Steps to Reproduce: