Bug 11805 - clang cant compile on 32bit systems
Summary: clang cant compile on 32bit systems
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal major
Target Milestone: ---
Assignee: Dimitri Jakov
QA Contact:
URL:
Whiteboard:
Keywords: Triaged
Depends on: 13813
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-28 10:00 CET by Juan Magallon
Modified: 2014-07-28 11:36 CEST (History)
3 users (show)

See Also:
Source RPM: llvm-3.4-1.mga5
CVE:
Status comment:


Attachments

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


Note You need to log in before you can comment on or make changes to this bug.