Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 523082

Summary: sys-devel/llvm-9999 patch file clang-3.5-gentoo-runtime-gcc-detection-v3.patch uses a function that has been removed
Product: Gentoo Linux Reporter: Michael J Coss <mjcoss>
Component: [OLD] DevelopmentAssignee: Bernard Cafarelli <voyageur>
Status: RESOLVED FIXED    
Severity: normal CC: mgorny
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Michael J Coss 2014-09-18 00:47:44 UTC
The llvm code base recently removed llvm::sys:fs::exists(file, result) from the API.  The clang-3.5-gentoo-runtime-gcc-detection-v3.patch incorrectly uses this, resulting in a failed compile when you emerge =sys-devel/llvm-9999.  I didn't check to see if the llvm-3.5.0.ebuild is affected.  I tried a quick hack of just changing the patch to

    if (llvm::sys::fs::exists(GentooPath + "/crtbegin.o"))

instead of the existing code

    if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)

which is what I think the desired behavior was.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-18 18:16:46 UTC
Thanks for the report. I will address this as soon as get back to my PC. In the meantime, could you check whether your version works with 3.5.0? If it does, it'd be better to use the new API in both ebuilds :).
Comment 2 Michael J Coss 2014-09-18 19:35:01 UTC
Emerged llvm-3.5.0 with my modified patch file, and it compiled and installed just fine.  Note that the final code should remove the declaration of the boolean variable Exists since it is unused.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-18 20:07:20 UTC
+  18 Sep 2014; Michał Górny <mgorny@gentoo.org>
+  files/clang-3.5-gentoo-runtime-gcc-detection-v3.patch:
+  Use simpler llvm::sys::fs::exists() form in gcc version detection code since
+  the other one is deprecated. Bug #523082.

I hope you are right since I didn't test it myself :).