[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Aw: RE: RE: Octave 3.8.2 released - llvm
From: |
Stefan Mahr |
Subject: |
Aw: RE: RE: Octave 3.8.2 released - llvm |
Date: |
Tue, 26 Aug 2014 14:58:10 +0200 |
Following patch should fix the problem. I'm not sure if there's a reason why
LLVM_LDFLAGS was set with library path only.
diff -r ec5413b3e53d configure.ac
--- a/configure.ac Sun Mar 16 13:25:57 2014 +0100
+++ b/configure.ac Tue Aug 26 14:47:22 2014 +0200
@@ -822,7 +822,7 @@
dnl Use -isystem so we don't get warnings from llvm headers
LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`"
LLVM_CXXFLAGS=
- LLVM_LDFLAGS="-L`$LLVM_CONFIG --libdir`"
+ LLVM_LDFLAGS="`$LLVM_CONFIG --ldflags`"
LDFLAGS="$LDFLAGS $LLVM_LDFLAGS"
LLVM_SO=LLVM-`$LLVM_CONFIG --version`
diff -r ec5413b3e53d m4/acinclude.m4
--- a/m4/acinclude.m4 Sun Mar 16 13:25:57 2014 +0100
+++ b/m4/acinclude.m4 Tue Aug 26 14:47:22 2014 +0200
@@ -1840,7 +1840,7 @@
[octave_cv_legacy_passmanager],
[AC_LANG_PUSH(C++)
save_LIBS="$LIBS"
- LIBS="$LLVM_LIBS $LIBS"
+ LIBS="$LLVM_LDFLAGS $LLVM_LIBS $LIBS"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[
#include <llvm/IR/LegacyPassManager.h>
> Gesendet: Dienstag, 26. August 2014 um 13:51 Uhr
> Von: "John D" <address@hidden>
> An: "'Tatsuro MATSUOKA'" <address@hidden>, "'Stefan Mahr'" <address@hidden>
> Cc: address@hidden
> Betreff: RE: Aw: RE: Octave 3.8.2 released - llvm
>
>
>
> -----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, 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, 2014/08/26
- Aw: RE: RE: Octave 3.8.2 released - llvm,
Stefan Mahr <=
- 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
- Re: Octave 3.8.2 released - llvm, Tatsuro MATSUOKA, 2014/08/25