sexta-feira, 29 de Maio de 2015 às 15:41:58 UTC+1, Isaiah escreveu:
>
> But still regarding my issue, was I wrong to assume that "#ifdef LLVM37" 
>> condition (line 3204) should also apply to Windows (currently it applies 
>> only to NO-WINDOWS)? 
>
>
> It intentionally does not apply to Windows because the call arguments 
> there are different on Windows.
>

Ok, thanks for the info.
 

>
> I did however find that the problem is due to a miss linkage to ole32 but 
>> got lost with where to fix when I found that the 
>> llvm-svn/lib/Support/CmakeList.txt 
>> has
>
>
> Long-term we will be better off (at least re: LLVM) when we switch to 
> CMake because LLVM people are more actively supporting that build system.
>

Ah, I see. We are not using the CMake solution so the linking to ole32 was 
not actually done.

BTW, I tested my Julia+LLVM37 build and it  failed this test (Julia+LLVM33 
passes all tests)


        From worker 4:       * linalg3             /bin/sh: line 1:  5292 
Segmentation fault      /v/julia/usr/bin/julia.exe --check-bounds=yes --
startup-file=no ./runtests.jl all
Makefile:9: recipe for target 'all' failed


 

>
> On Fri, May 29, 2015 at 10:32 AM, J Luis <[email protected] <javascript:>> 
> wrote:
>
>>
>>
>> Fixed. Regarding the other one you mentioned:
>>>
>>
>> Thanks. It builds here too but did not try it any further (I had tried 
>> with a NULL instead of a '{ }'). But still regarding my issue, was I wrong 
>> to assume that "#ifdef LLVM37" condition (line 3204) should also apply to 
>> Windows (currently it applies only to NO-WINDOWS)? 
>>  
>>
>>>
>>> (.text+0x23): undefined reference to `__imp_CoUninitialize'
>>>
>>>
>>> Maybe you tried/corrected this already, but for future reference the 
>>> issue here is that the LLVM shared library version apparently (now?) needs 
>>> to link to ole32. I was able to work around this by running `make 
>>> VERBOSE=1` and then copying and re-running the last (failing) g++ command 
>>> string `-lole32` added at the end. I guess we could try to get a patch in, 
>>> but it's going to be continual whack-a-mole because LLVM does not support 
>>> this build configuration.
>>>
>>
>> No, by patch was much brute force. Since it happens in a code that 
>> apparently is only for dumping PDB files, I simple commented the call to 
>> those functions. 
>> I did however find that the problem is due to a miss linkage to ole32 but 
>> got lost with where to fix when I found that the 
>> llvm-svn/lib/Support/CmakeList.txt has
>>
>> if( NOT MSVC )
>>   if( MINGW )
>>     set(system_libs ${system_libs} imagehlp psapi shell32 ole32)
>>   elseif( CMAKE_HOST_UNIX )
>>
>>  so it should be linking against ole32
>>  
>>
>>>
>>> On Fri, May 29, 2015 at 9:40 AM, J Luis <[email protected]> wrote:
>>>
>>>> Thanks.
>>>> Meanwhile I had to do a couple of dirty patches to reach this point but 
>>>> probably they are specific of the MSYS2 build.
>>>>
>>>> sexta-feira, 29 de Maio de 2015 às 14:34:18 UTC+1, Isaiah escreveu:
>>>>>
>>>>> I was looking yesterday at the issue you opened about this. Let me see 
>>>>> if LLVM finally finished compiling and I will push my fix if so.
>>>>>
>>>>> On Fri, May 29, 2015 at 9:30 AM, J Luis <[email protected]> wrote:
>>>>>
>>>>>> Anyone (not many, I'm afraid) can give me an hint on what I could try 
>>>>>> to fix this error? It seams that I'm nearly there but can't get over 
>>>>>> this 
>>>>>> one by myself.
>>>>>>
>>>>>> My goal with this is that I would like to play a bit with Qt.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>     CC src/codegen.o
>>>>>> codegen.cpp: In function 'llvm::Value* emit_expr(jl_value_t*, 
>>>>>> jl_codectx_t*, bool, bool, jl_sym_t**)':
>>>>>> codegen.cpp:3229:59: error: no matching function for call to 
>>>>>> 'llvm::IRBuilder<>::CreateCall(llvm::Value*)'
>>>>>>          builder.CreateCall(prepare_call(resetstkoflw_func));
>>>>>>                                                            ^
>>>>>> codegen.cpp:3229:59: note: candidates are:
>>>>>> In file included from codegen.cpp:55:0:
>>>>>> V:/julia/usr/include/llvm/IR/IRBuilder.h:1468:13: note: llvm::
>>>>>> CallInst* llvm::IRBuilder<preserveNames, T, Inserter>::CreateCall(
>>>>>> llvm::Value*, llvm::ArrayRef<llvm::Value*>, const llvm::Twine&) [with 
>>>>>> bool preserveNames = true; T = llvm::ConstantFolder; Inserter = llvm
>>>>>> ::IRBuilderDefaultInserter<true>]
>>>>>>    CallInst *CreateCall(Value *Callee, ArrayRef<Value *> Args,
>>>>>>              ^
>>>>>> V:/julia/usr/include/llvm/IR/IRBuilder.h:1468:13: note:   candidate 
>>>>>> expects 3 arguments, 1 provided
>>>>>> V:/julia/usr/include/llvm/IR/IRBuilder.h:1473:13: note: llvm::
>>>>>> CallInst* llvm::IRBuilder<preserveNames, T, Inserter>::CreateCall(
>>>>>> llvm::FunctionType*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, 
>>>>>> const llvm::Twine&) [with bool preserveNames = true; T = llvm::
>>>>>> ConstantFolder; Inserter = llvm::IRBuilderDefaultInserter<true>]
>>>>>>    CallInst *CreateCall(llvm::FunctionType *FTy, Value *Callee,
>>>>>>              ^
>>>>>> V:/julia/usr/include/llvm/IR/IRBuilder.h:1473:13: note:   candidate 
>>>>>> expects 4 arguments, 1 provided
>>>>>> V:/julia/usr/include/llvm/IR/IRBuilder.h:1478:13: note: llvm::
>>>>>> CallInst* llvm::IRBuilder<preserveNames, T, Inserter>::CreateCall(
>>>>>> llvm::Function*, llvm::ArrayRef<llvm::Value*>, const llvm::Twine&) [
>>>>>> with bool preserveNames = true; T = llvm::ConstantFolder; Inserter = 
>>>>>> llvm::IRBuilderDefaultInserter<true>]
>>>>>>    CallInst *CreateCall(Function *Callee, ArrayRef<Value *> Args,
>>>>>>              ^
>>>>>> V:/julia/usr/include/llvm/IR/IRBuilder.h:1478:13: note:   candidate 
>>>>>> expects 3 arguments, 1 provided
>>>>>>
>>>>>>
>>>>>>
>>>>>> quarta-feira, 27 de Maio de 2015 às 19:01:33 UTC+1, J Luis escreveu:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Unless something has changed in the past month, the biggest issue 
>>>>>>>> with the recommended Make.user options is that LLDB uses some C++11 
>>>>>>>> features that are not supported by GCC on Windows (call_once and some 
>>>>>>>> other 
>>>>>>>> mutex-related stuff).
>>>>>>>>
>>>>>>>> https://github.com/Keno/Cxx.jl/issues/62#issuecomment-93184018
>>>>>>>>
>>>>>>>> However, I'm not sure if LLDB is strictly necessary for the 
>>>>>>>> Clang-only functionality (I do remember some linking errors without 
>>>>>>>> it, but 
>>>>>>>> that was a number of months ago).
>>>>>>>>
>>>>>>>
>>>>>>> OK, insisted a bit more using a avoid the problems strategy I 
>>>>>>> managed to build llvm but than hit the 'call_once' problem you 
>>>>>>> mentioned. 
>>>>>>> Restarted this time with 
>>>>>>>
>>>>>>>  BUILD_LLDB=0
>>>>>>>
>>>>>>> and ...
>>>>>>>
>>>>>>> V:/julia/deps/llvm-svn/tools/lldb/source/API/SBValue.cpp:1663:38: 
>>>>>>> warning: unknown conversion type character 'l' in format [-Wformat=]
>>>>>>>                       addr.GetOffset());
>>>>>>>                                       ^
>>>>>>> V:/julia/deps/llvm-svn/tools/lldb/source/API/SBValue.cpp:1663:38: 
>>>>>>> warning: too many arguments for format [-Wformat-extra-args]
>>>>>>> llvm[6]: Building Release+Asserts Archive Library liblldbAPI.a
>>>>>>> /v/julia/deps/llvm-svn/Makefile.rules:880: recipe for target 'all' 
>>>>>>> failed
>>>>>>> make[4]: *** [all] Error 1
>>>>>>>
>>>>>>>
>>>>>>> so, it's still trying to build LLDB. Is this the linking errors you 
>>>>>>> were referring?
>>>>>>>
>>>>>>>
>>>>>>>> On Mon, May 25, 2015 at 7:15 PM, J Luis <[email protected]> wrote:
>>>>>>>>
>>>>>>>>> Thanks. Running make again let me advance a bit more but now I get 
>>>>>>>>> tons of errors of this type
>>>>>>>>>
>>>>>>>>> Cannot export 
>>>>>>>>> ZN4llvm8DenseMapIPKNS_5ValueENS_19SelectionDAGBuilder17DanglingDebugInfoENS_12DenseMapInfoIS3_EENS_6detail12DenseMapPairIS3_S5_EEE4growEj:
>>>>>>>>>  
>>>>>>>>> symbol not defined
>>>>>>>>> Cannot export 
>>>>>>>>> ZN4llvm8DenseMapIPKNS_5ValueENS_3ISD8NodeTypeENS_12DenseMapInfoIS3_EENS_6detail12DenseMapPairIS3_S5_EEE4growEj:
>>>>>>>>>  
>>>>>>>>> symbol not defined
>>>>>>>>>
>>>>>>>>> So, it seams that build LLVM SVN is not straightforward with MSYS2.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> segunda-feira, 25 de Maio de 2015 às 23:57:22 UTC+1, andrew cooke 
>>>>>>>>> escreveu:
>>>>>>>>>>
>>>>>>>>>> if you run make again, do you get a more helpful error?  if it's 
>>>>>>>>>> running multiple threads sometimes the logging is confused and 
>>>>>>>>>> erstarting 
>>>>>>>>>> (and immediately hitting the error) is helpful.
>>>>>>>>>>
>>>>>>>>>> On Monday, 25 May 2015 17:38:47 UTC-3, J Luis wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hmm, I~m confused with this error. What failed?
>>>>>>>>>>>
>>>>>>>>>>> OpenBLAS build complete. (BLAS CBLAS LAPACK LAPACKE)
>>>>>>>>>>>
>>>>>>>>>>>   OS               ... WINNT
>>>>>>>>>>>   Architecture     ... x86_64
>>>>>>>>>>>   BINARY           ... 64bit
>>>>>>>>>>>   Use 64 bits int    (equivalent to "-i8" in Fortran)
>>>>>>>>>>>   C compiler       ... GCC  (command line : gcc -m64)
>>>>>>>>>>>   Fortran compiler ... GFORTRAN  (command line : gfortran -m64)
>>>>>>>>>>>   Library Name     ... libopenblasp-r0.2.14.a (Multi threaded; 
>>>>>>>>>>> Max num-threads is 16)
>>>>>>>>>>>
>>>>>>>>>>> To install the library, you can run "make 
>>>>>>>>>>> PREFIX=/path/to/your/installation install".
>>>>>>>>>>>
>>>>>>>>>>> Makefile:49: recipe for target 'julia-deps' failed
>>>>>>>>>>> make: *** [julia-deps] Error 2
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> segunda-feira, 25 de Maio de 2015 às 20:33:11 UTC+1, J Luis 
>>>>>>>>>>> escreveu:
>>>>>>>>>>>>
>>>>>>>>>>>> Ok, I'll start with it than. Thanks.
>>>>>>>>>>>>
>>>>>>>>>>>> segunda-feira, 25 de Maio de 2015 às 20:26:23 UTC+1, Keno 
>>>>>>>>>>>> Fischer escreveu:
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm not sure, I've never tried. The regular Julia makefile 
>>>>>>>>>>>>> build usually works fine though.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, May 25, 2015 at 3:21 PM, J Luis <[email protected]> 
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> OK, I may try one of these days but what would guess would 
>>>>>>>>>>>>>> the best way to build LLVM? Will it be expected to work with a 
>>>>>>>>>>>>>> VS build?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> segunda-feira, 25 de Maio de 2015 às 20:07:08 UTC+1, Keno 
>>>>>>>>>>>>>> Fischer escreveu:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I don't think anybody has ever tried. It shouldn't be too 
>>>>>>>>>>>>>>> hard to make work, but will definitely require some 
>>>>>>>>>>>>>>> modifications to Cxx.jl.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, May 25, 2015 at 3:00 PM, J Luis <[email protected]> 
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Does it worth trying or it's known that it won't work? (I 
>>>>>>>>>>>>>>>> could try to build LLVM SVN with VS, if that helps)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>
>>>>>
>>>
>

Reply via email to