Bug 11805

Summary: clang cant compile on 32bit systems
Product: Mageia Reporter: Juan Magallon <jamagallon>
Component: RPM PackagesAssignee: Dimitri Jakov <mitya>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: Normal CC: marja11, npomarede, tmb
Version: CauldronKeywords: Triaged
Target Milestone: ---   
Hardware: i586   
OS: Linux   
Whiteboard:
Source RPM: llvm-3.4-1.mga5 CVE:
Status comment:
Bug Depends on: 13813    
Bug Blocks:    

Description Juan Magallon 2013-11-28 10:00:16 CET
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:
Manuel Hiebel 2013-11-28 14:47:57 CET

Keywords: (none) => Triaged
Assignee: bugsquad => mitya

Comment 1 Nicolas Pomarède 2013-12-29 01:05:51 CET
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
Severity: normal => major

Comment 2 Nicolas Pomarède 2014-02-18 22:04:20 CET
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

Comment 3 Nicolas Pomarède 2014-05-14 23:29:12 CEST
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
Resolution: (none) => FIXED

Comment 4 Marja Van Waes 2014-07-28 08:20:24 CEST
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
Depends on: (none) => 13813