[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Aw: RE: Octave 3.8.2 released - llvm
From: |
John D |
Subject: |
RE: Aw: RE: Octave 3.8.2 released - llvm |
Date: |
Tue, 26 Aug 2014 07:51:43 -0400 |
-----Original Message-----
From: Tatsuro MATSUOKA [mailto:address@hidden
Sent: Tuesday, August 26, 2014 7:44 AM
To: Stefan Mahr
Cc: address@hidden; John D
Subject: Re: Aw: RE: Octave 3.8.2 released - llvm
----- Original Message -----
> From: Stefan Mahr
> To: 'Tatsuro MATSUOKA'
> Cc: address@hidden; John D
> Date: 2014/8/26, Tue 19:49
> Subject: Aw: RE: Octave 3.8.2 released - llvm
>
>
>
>> Gesendet: Dienstag, 26. August 2014 um 12:26 Uhr
>> Von: "John D" <address@hidden>
>> An: "'Tatsuro MATSUOKA'" <address@hidden>,
> address@hidden
>> Betreff: RE: Octave 3.8.2 released - llvm
>>
>>
>>
>> -----Original Message-----
>> From: Tatsuro MATSUOKA [mailto:address@hidden
>> Sent: Tuesday, August 26, 2014 2:44 AM
>> To: address@hidden; John D; address@hidden
>> Subject: Re: Octave 3.8.2 released - llvm
>>
>> ----- Original Message -----
>>
>> > From: Tatsuro MATSUOKA
>> > To: John D ; "address@hidden"
> <address@hidden>
>> > Cc:
>> > Date: 2014/8/26, Tue 12:35
>> > Subject: Re: Octave 3.8.2 released - llvm > > ----- Original
>> Message ----- > >> From: John D >> To: 'Tatsuro MATSUOKA';
>> address@hidden >> Cc:
>> >> Date: 2014/8/26, Tue 09:23
>> >> Subject: RE: Octave 3.8.2 released - llvm >> >> >> >>
>> -----Original Message----- >> From: Tatsuro MATSUOKA
>> [mailto:address@hidden >> Sent: Monday, August 25, 2014
>> 7:41 PM >> To: John D; address@hidden >> Subject: Re:
>> Octave 3.8.2 released - llvm >> >> ----- Original Message -----
>> >> >>> From: John D >>> To: 'Tatsuro MATSUOKA' ;
>> address@hidden >>> Cc:
>> >>> Date: 2014/8/26, Tue 08:29
>> >>> Subject: RE: Octave 3.8.2 released - llvm -----Original >>>
>> Message----- >>> From: Tatsuro MATSUOKA
>> [mailto:address@hidden >>> Sent: Monday, August 25, 2014
>> 7:27 PM >>> To: John D; address@hidden >>> Subject:
>> Re: Octave 3.8.2 released - llvm >>> ----- Original Message -----
>> >>> >>>> From: John D >>>> To: 'Tatsuro MATSUOKA' ;
> address@hidden
>> >>>> Cc:
>> >>>> Date: 2014/8/25, Mon 19:39
>> >>>> Subject: RE: Octave 3.8.2 released - llvm -----Original >
>> Message----- >>>> From: Tatsuro MATSUOKA
>> [mailto:address@hidden >>>> Sent: Monday, August 25, 2014
>> 5:21 AM >>>> To: John D; address@hidden >>>>
>> Subject: Re: Octave 3.8.2 released - llvm >>>> >>>>>> To my
>> knowledge, Octave-3.8 does not support
> llvm-3.4.I
>> > am
>> >> using
>> >>>>>> llvm-3.2
>> >>>>
>> >>>>>> built myself. Perhaps, llvm-3.3 is OK for
> Octave-3.8
>> > though I
>> >>
>> >>>>>> have
>> >>>>>> not tested yet.
>> >>>>>> The develepment version octave perhaps
> supports
>> > llvm-3.4.
>> >> Perhaps
>> >>>>>> much experienced persons will give the correct
> replies.
>> >>>>> ---
>> >>>>>
>> >>>>> It was fixed in the devel version [1] >>>>> >>>>>
>> [1] http://savannah.gnu.org/bugs/?41061
>> >>>>>
>> >>>>
>> >>>> As I wrote, I could not build the develoment soource of
> octave
>> >>>> (changeset
>> >>>> 19048:ec28b7216501) with llvm-3.4.2.
>> >>>>
>> >>>>
>> >>>>
>> >
>> http://octave.1599824.n4.nabble.com/Octave-3-8-1-Released-td4662831.h
>> >>>> t
>> >>>> ml#a4666164
>> >>>>
>> >>>> The configration
>> >>>> cd ~/work/Octave/develop/build >>>> >>>>
>> PATH=$PATH:/opt/clang+llvm-3.4.2/bin
> ../octave/configure
>> >>>> --enable-jit --prefix=/opt/octave-dev \ >>>>
>> LLVM_CONFIG=/opt/clang+llvm-3.4.2/bin/llvm-config
>> >>>> \ CPPFLAGS="-I/usr/include/mpi
> -DMPICH_SKIP_MPICXX
>> >>> -DOMPI_SKIP_MPICXX"
>> >>>>
>> >>>> PATH=$PATH:/opt/clang+llvm-3.4.2/bin LC_ALL=C make >>>>
>> >>>> 7-zipped config.log is attached.
>> >>>> Perhaps my build of clang+llvm-3.4.2 might be wrong.
>> >>>>
>> >>>> Any suggestions?
>> >>>>
>> >>>> # If I use clang+llvm-3.3, octave build was done w/o
> problem.
>> >>>>
>> >>>> Tatsuro
>> >>>>
>> >>>> --
>> >>>> What was the hg head changeset and which branch?
>> >>>
>> >>> I do not know what is hg head changeset and branch name.
>> >>>
>> >>> How can I see from the cloned source?
>> >>>
>> >>>
>> >>> I cloned repository at Aug.25, 2014 by:
>> >>> hg clone http://www.octave.org/hg/octave (perhaps I have
> cloned
>> >>> the
>> >>> default branch? Right?)
>> >>>
>> >>> At the time I accessed http://www.octave.org/hg/octave I
> found
>> >>> that
>> >>> top of the changeset.
>> >>> changeset 19048:ec28b7216501
>> >>> test.m: Overhaul function (also fixes bug #39703).
>> >>>
>> >>> I used gcc-4.8.2 (Ubuntu 14.04 LTS amd64).
>> >>>
>> >>> Tatsuro
>> >>>
>> >>> --
>> >>> hg head - which would show the top change set hg branch -
> show
>> >>> the
>> >>> current branch
>> >>
>> >> Hmmm. I failed the above commands because ".hg" is
> missing in the
>> >
>> >> cloned
>> >> directory.
>> >>
>> >>
>> >>> Do you have the config.log from running configure >> >>
>> That was already attached (7-zipped) in the first mail.
>> >> I show the Nabble address to get it.
>> >>
>> >>
>> >
>>
>
http://octave.1599824.n4.nabble.com/Re-Octave-3-8-2-released-llvm-td4666106.
>> >> html#a4666195
>> >> The last part of the pointed post you can see:
>> >> (config.log.7z (92K) Download Attachment) >> >> Tatsuro >>
>> >> >> ---- >> >> configure:15052: checking for LLVMBuildAdd in
>> -lLLVM-3.4.2 >> configure:15085: gcc -o conftest -g -O2 -pthread
> -I/usr/include/mpi
>> >> -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX
> -L/opt/clang+llvm-3.4.2/lib
>> >> conftest.c -lLLVM-3.4.2 -lm >&5 >> /usr/bin/ld: cannot find
>> -lLLVM-3.4.2 >> collect2: error: ld returned 1 exit statu >> >>
>> >> It cant find the library > > For llvm-3.3 config.log (7-zipped
>> archive attatched > config.log.llvm33.7z), similar results found in
>> config.log > > configure:15052: checking for LLVMBuildAdd in
>> -lLLVM-3.3 > configure:15085: gcc -o conftest -g -O2 -pthread
>> -I/usr/include/mpi > -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX
>> -L/opt/clang+llvm-3.3/lib > conftest.c > -lLLVM-3.3 -lm >&5 >
>> /usr/bin/ld: cannot find -lLLVM-3.3 > > However, jit build is fine.
>> >
>> > Quick check from octave prompt.
>> >>> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b;
> end; end;
>> >>> toc
>> > Elapsed time is 4.28941 seconds.
>> >>> jit_enable(1)
>> >>> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b;
> end; end;
>> >>> toc
>> > Elapsed time is 0.0362439 seconds.
>> >
>> > Thus the configure fail the above seems not to be an origin of >
>> octave-dev + > llvm-3.4.2 build fail for my case.
>> >
>> > The build failure happened in compling pt-jit.cc but not link prcess.
>> >
>> > Full errors is given the below
>> >
>> http://octave.1599824.n4.nabble.com/Octave-3-8-1-Released-td4662831.h
>> t
>> > ml#a4666164
>> >
>> > One of the error is shown:
>> >
>> > /opt/clang+llvm-3.4.2/include/llvm/PassManager.h:34:15: error:
>> > 'PassManager' is already declared in this scope > using
>> legacy::PassManager; > > Tatsuro
>>
>> Looking into the error messages and pt-jit.cc.
>>
>> I added "-DLEGACY_PASSMANAGER" flag to CPPFLAGS, development
> source +
>> llvm-3.4.2 build went well.
>> In addtion a simple test went well:
>>
>> >> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end;
> end;
>> >> toc
>> Elapsed time is 4.0523 seconds.
>> >> jit_enable(1)
>> >> a = 1; b = 1; tic; for i=1:1000; for j=1:1000; a = a + b; end;
> end;
>> >> toc
>> Elapsed time is 0.0166121 seconds.
>>
>> Thank you for your advised and paticince.
>>
>> Tatsuro
>> --
>>
>> There is a function I configure that should be checking for legacy
>> passmanager, which appears to be failing and not setting the define
>> for
>> LEGACY_PASSMANAGER:
>>
>> configure:15446: checking check for LLVM::legacy::PassManager
>> configure:15486: g++ -o conftest -g -O2 -pthread
>> -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -isystem
>> /opt/clang+llvm-3.4.2/include -I/usr/include/mpi -DMPICH_SKIP_MPICXX
>> -DOMPI_SKIP_MPICXX -L/opt/clang+llvm-3.4.2/lib conftest.cpp
>> -lLLVMInstrumentation -lLLVMIRReader -lLLVMAsmParser -lLLVMDebugInfo
>> -lLLVMOption -lLLVMLTO -lLLVMLinker -lLLVMipo -lLLVMVectorize
>> -lLLVMBitWriter -lLLVMBitReader -lLLVMTableGen -lLLVMR600CodeGen
>> -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter
>> -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen
>> -lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo
>> -lLLVMSystemZAsmPrinter -lLLVMHexagonCodeGen -lLLVMHexagonAsmPrinter
>> -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMNVPTXCodeGen
>> -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter
>> -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMMSP430CodeGen
>> -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter
>> -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc
>> -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter
> -lLLVMMipsDisassembler
>> -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo
>> -lLLVMMipsAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen
>> -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter
>> -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser
>> -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter
>> -lLLVMAArch64Utils -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser
>> -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter
>> -lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo
>> -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen
>> -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info
>> -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMMCDisassembler
>> -lLLVMMCParser -lLLVMInterpreter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen
>> -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine
>> -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld
>> -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore
>> -lLLVMSupport -lm >&5
>> /opt/clang+llvm-3.4.2/lib/libLLVMSupport.a(Signals.o): In function
>> `llvm::sys::PrintStackTrace(_IO_FILE*)':
>> Signals.cpp:(.text+0x834): undefined reference to `dladdr'
>> Signals.cpp:(.text+0x965): undefined reference to `dladdr'
>> /opt/clang+llvm-3.4.2/lib/libLLVMSupport.a(Process.o): In function
>> `llvm::sys::Process::FileDescriptorHasColors(int)':
>> Process.cpp:(.text+0x687): undefined reference to `setupterm'
>> Process.cpp:(.text+0x6b0): undefined reference to `tigetnum'
>> Process.cpp:(.text+0x6b9): undefined reference to `set_curterm'
>> Process.cpp:(.text+0x6c1): undefined reference to `del_curterm'
>> collect2: error: ld returned 1 exit status
>>
>
> In LLVM header files (/usr/include/llvm-3.4/llvm/Config/config.h in my
> case) there are some options that may be related to your error message:
>
> #define ENABLE_BACKTRACES 1
> #define HAVE_TERMINFO 1
> #define HAVE_TERMIOS_H 1
>
> Could you check if these options are defined in your build?
>
> Stefan
#define ENABLE_BACKTRACES 1
#define HAVE_TERMINFO 1
#define HAVE_TERMIOS_H 1
Yes, they are defined.
Some googling appears that -ldl and -ltinfo are required to overcome
'undefined reference' errors.
$ /opt/clang+llvm-3.4.2/bin/llvm-config --ldflags
-L/opt/clang+llvm-3.4.2/lib -lz -lpthread -ltinfo -ldl -lm
Perhaps if these flag in the configure process in octave for
LEGACY_PASSMANAGER check is added, configure correclty check the
LEGACY_PASSMANAGER for my case.
Is it better to file to the bug tracker?
Tatsuro
Tatsuro
---
I believe Llvm is checked long before termlibs are- so any flags set for
term lib wont be used yet during configure
- RE: Octave 3.8.2 released - llvm, (continued)
- RE: Octave 3.8.2 released - llvm, John D, 2014/08/25
- Re: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/25
- RE: Octave 3.8.2 released - llvm, John D, 2014/08/25
- Re: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/25
- RE: Octave 3.8.2 released - llvm, John D, 2014/08/25
- Re: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/25
- Re: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/26
- RE: Octave 3.8.2 released - llvm, John D, 2014/08/26
- Aw: RE: Octave 3.8.2 released - llvm, Stefan Mahr, 2014/08/26
- Re: Aw: RE: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/26
- RE: Aw: RE: Octave 3.8.2 released - llvm,
John D <=
- Aw: RE: RE: Octave 3.8.2 released - llvm, Stefan Mahr, 2014/08/26
- Re: RE: RE: Octave 3.8.2 released - llvm, Mike Miller, 2014/08/26
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/26
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, Mike Miller, 2014/08/26
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, John Donoghue, 2014/08/26
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/27
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/27
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/27
- Re: Aw: RE: RE: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/27
- RE: Octave 3.8.2 released - llvm, John D, 2014/08/25