[haskell-llvm] Towards 0.10
Mark Wright
markwright at internode.on.net
Sat Jul 16 13:36:55 BST 2011
On Sat, 16 Jul 2011 12:40:34 +0200 (CEST), Henning Thielemann <lemming at henning-thielemann.de> wrote:
>
> On Thu, 14 Jul 2011, Henning Thielemann wrote:
>
> > Because of that missing LLVMOpaqueValue and there is no proposed fix so far
> > ...
> >
> > I moved forward again to git-HEAD and cannot even compile the package
> > anymore:
> >
> > $ cabal build
> > ...
> > cbits/extra.cpp:37:28:
> > error: hs_llvm_config.h: file or directory not found
>
> I have rebuilt 'configure' using autoconf and now hs_llvm_config.h is
> generated at configure time.
>
> But the LLVMOpaqueValue symbol is still missing in GHCi.
I can not reproduce it (since I do not have the source code to Array.hs).
The symbol is:
% echo '_Z8do_printIP15LLVMOpaqueValueN4llvm5ValueEEPcT_' |c++filt
char* do_print<LLVMOpaqueValue*, llvm::Value>(LLVMOpaqueValue*)
%
Which is in:
llvm/cbits/extra.cpp
Which means is should be possible to fix that particular missing symbol.
I try something different (since I don't have your test case) and I get
other missing symbols:
GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Loading package filepath-1.2.0.0 ... linking ... done.
Loading package unix-2.4.2.0 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Loading package directory-1.1.0.0 ... linking ... done.
Loading package process-1.0.1.5 ... linking ... done.
Loading package goa-3.1 ... linking ... done.
GOA> :m + LLVM.Core
GOA LLVM.Core> initializeNativeTarget
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package syb-0.3 ... linking ... done.
Loading package pretty-1.0.1.2 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package type-level-0.2.4 ... linking ... done.
Loading package llvm-0.10.0.0 ... linking ... <interactive>: /usr/lib64/llvm-9999/ghc-7.0.4/HSllvm-0.10.0.0.o: unknown symbol `LLVMInitializeARMTargetInfo'
ghc: unable to load package `llvm-0.10.0.0'
GOA LLVM.Core>
So I rebuild sys-devel/llvm with the alltargets use flag on gentoo.
Process haskell finished
GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Loading package filepath-1.2.0.0 ... linking ... done.
Loading package unix-2.4.2.0 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Loading package directory-1.1.0.0 ... linking ... done.
Loading package process-1.0.1.5 ... linking ... done.
Loading package goa-3.1 ... linking ... done.
GOA> :m + LLVM.Core
GOA LLVM.Core> initializeNativeTarget
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package syb-0.3 ... linking ... done.
Loading package pretty-1.0.1.2 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package type-level-0.2.4 ... linking ... done.
Loading package llvm-0.10.0.0 ... linking ... <interactive>: /usr/lib64/llvm-9999/ghc-7.0.4/HSllvm-0.10.0.0.o: unknown symbol `LLVMInitializePIC16TargetInfo'
ghc: unable to load package `llvm-0.10.0.0'
GOA LLVM.Core>
I commented the PIC16 stuff in the cabal file.
Process haskell finished
GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
Loading package filepath-1.2.0.0 ... linking ... done.
Loading package unix-2.4.2.0 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Loading package directory-1.1.0.0 ... linking ... done.
Loading package process-1.0.1.5 ... linking ... done.
Loading package goa-3.1 ... linking ... done.
GOA> :m + LLVM.Core
GOA LLVM.Core> initializeNativeTarget
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package syb-0.3 ... linking ... done.
Loading package pretty-1.0.1.2 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package type-level-0.2.4 ... linking ... done.
Loading package llvm-0.10.0.0 ... linking ... <interactive>: /usr/lib64/llvm-9999/ghc-7.0.4/HSllvm-0.10.0.0.o: unknown symbol `_ZN4llvm12SMDiagnosticD1Ev'
ghc: unable to load package `llvm-0.10.0.0'
GOA LLVM.Core>
I get stuck (trying to help) on this on, it is just a destructor
for a simple class that does not even declare a destructor:
% echo '_ZN4llvm12SMDiagnosticD1Ev'| c++filt
llvm::SMDiagnostic::~SMDiagnostic()
%
More information about the Haskell-llvm
mailing list