Skip to content

LibClang not building against ghc 7.4.1 #9

Closed
chetant opened this Issue Apr 10, 2012 · 7 comments

2 participants

@chetant
Owner
chetant commented Apr 10, 2012

Multiple errors:

Ambiguous occurrence `unsafePerformIO'
It could refer to either `Foreign.GreenCard.unsafePerformIO',
                         imported from `Foreign.GreenCard' at dist/build/Clang/FFI.hs:171:1-24
                         (and originally defined in `Foreign')
                      or `System.IO.Unsafe.unsafePerformIO',
                         imported from `System.IO.Unsafe' at dist/build/Clang/FFI.hs:176:25-39
                         (and originally defined in `GHC.IO')
@chetant chetant was assigned Apr 10, 2012
@chetant
Owner
chetant commented Apr 10, 2012

Fixed in trunk, will release to Hackage soon

@chetant chetant closed this Apr 10, 2012
@alrunner4

This looks like it's still broken on Hackage (LibClang-0.1.0). Building from the source at master, I get different, scarier errors. Are there any assumptions about the version(s) of llvm/clang/ghc needed to make this work? I'm building with ghc-7.4.2 and llvm-3.2.

@chetant
Owner
chetant commented Feb 10, 2013

Could you post the errors here? It would help.

@alrunner4

At the current master (61f4a12) I get these warnings and errors from cabal build:

In file included from ./src/Clang/FFI_stub_ffi.h:7,

                 from src/Clang/FFI_stub_ffi.c:5:0: 

/Library/Frameworks/GHC.framework/Versions/7.4.2-x86_64/usr/lib/ghc-7.4.2/include/HsFFI.h:29:1:
     warning: "__STDC_LIMIT_MACROS" redefined
<command-line>: warning: this is the location of the previous definition
src/Clang/FFI_stub_ffi.c: In function ‘prim_getCString’:

src/Clang/FFI_stub_ffi.c:34:0:
     warning: assignment discards qualifiers from pointer target type
src/Clang/FFI_stub_ffi.c: In function ‘prim_getDiagnosticCategoryName’:

src/Clang/FFI_stub_ffi.c:315:0:
     warning: ‘clang_getDiagnosticCategoryName’ is deprecated (declared at /usr/local/Cellar/llvm/3.2/include/clang-c/Index.h:862)
src/Clang/FFI_stub_ffi.c: In function ‘prim_translationUnit_CXXPrecompiledPreamble’:

src/Clang/FFI_stub_ffi.c:412:0:
     error: ‘CXTranslationUnit_CXXPrecompiledPreamble’ undeclared (first use in this function)

src/Clang/FFI_stub_ffi.c:412:0:
     error: (Each undeclared identifier is reported only once

src/Clang/FFI_stub_ffi.c:412:0:
     error: for each function it appears in.)
src/Clang/FFI_stub_ffi.c: In function ‘prim_translationUnit_NestedMacroExpansions’:

src/Clang/FFI_stub_ffi.c:424:0:
     error: ‘CXTranslationUnit_NestedMacroExpansions’ undeclared (first use in this function)
src/Clang/FFI_stub_ffi.c: In function ‘prim_translationUnit_NestedMacroInstantiations’:

src/Clang/FFI_stub_ffi.c:430:0:
     error: ‘CXTranslationUnit_NestedMacroInstantiations’ undeclared (first use in this function)

I guess I should also mention that I'm on OSX 10.7.5, in case that's a sticking point.

@chetant
Owner
chetant commented Feb 12, 2013

It looks like they removed CXTranslationUnit_NestedMacroExpansions, CXTranslationUnit_NestedMacroInstantiations and CXTranslationUnit_CXXPrecompiledPreamble flags from llvm 3.2. Either that, or you have a bad setup. I've tested LibClang uptil llvm 3.0.

It'll take atleast till the weekend for me to update my setup and test this, but you could try just deleting the entries causing errors from this line here and trying to recompile.

@chetant
Owner
chetant commented Feb 23, 2013

I finally got some time to update to llvm 3.2 and fixed the errors and cleaned up some tests.
I've however put this in the llvm3.2 branch, as I'm getting some string conversions being botched up and I'm currently unable to figure out why they're happening. The issue is in Test_ChildVisitor, some of the cursor names have the first four chars zeroed out.

@chetant chetant reopened this Feb 23, 2013
@chetant
Owner
chetant commented Feb 23, 2013

Closing this issue, will continue this in a new issue.

@chetant chetant closed this Feb 23, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.