[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Updating MXE to llvm-3.1
From: |
Philip Nienhuis |
Subject: |
Re: Updating MXE to llvm-3.1 |
Date: |
Tue, 16 Jul 2013 20:31:34 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.11) Gecko/20100701 SeaMonkey/2.0.6 |
Michael Goffioul wrote:
On Tue, Jul 16, 2013 at 1:22 PM, PhilipNienhuis <address@hidden
<mailto:address@hidden>> wrote:
John Donoghue-2 wrote
> From: Michael Goffioul [mailto:
> michael.goffioul@
> ]
> Sent: Tuesday, July 16, 2013 12:52 PM
> To: John D
> Cc: Octave Maintainers List
> Subject: Re: Updating MXE to llvm-3.1
>
>
>
> On Tue, Jul 16, 2013 at 12:17 PM, John D <
> john.david.donoghue@
> >
> wrote:
>
> ------------------------------
>
> Message: 2
> Date: Mon, 15 Jul 2013 21:07:48 -0400
> From: Michael Goffioul <
> michael.goffioul@
> >
> To: Stefan Mahr <
> dac922@
> >
> Cc: Octave Maintainers List <
> octave-maintainers@
> >
> Subject: Re: Re: Updating MXE to llvm-3.1
> Message-ID:
> <
> address@hidden
> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> On Mon, Jul 15, 2013 at 5:37 PM, Michael Goffioul <
> michael.goffioul@
>> wrote:
>
>> On Mon, Jul 15, 2013 at 11:45 AM, Stefan Mahr <
> dac922@
> > wrote:
>>
>>> Michael D. Godfrey wrote:
>>> > Have you been following the maintainers llvm/jit thread? Octave
>>> > devel currently supports llvm 3.1.and 3.2.
>>>
>>> AFAIK it supports LLVM 3.0 and 3.1. There's a patch for 3.2 in bug
>>> tracker, but it's not applied yet.
>>>
>>>
>>>
>>> Michael Goffioul wrote:
>>> > If it breaks horribly for everyone, we can consider downgrading,
>>> > but if
>>> not, it makes my life easier.
>>>
>>> [build] llvm
>>>
>>> Failed to build package llvm!
>>> ------------------------------------------------------------
>>> llvm-build: error: invalid target to enable: '' (not in project)
>>> -- Configuring incomplete, errors occurred!
>>>
>>
>> It seems the ';' in -DLLVM_TARGETS_TO_BUILD="X86;" is causing the
>> problem.
>> This also should only happen when cross-compiling.
>>
>
> This should fix the problem:
>
> http://hg.octave.org/mxe-octave/rev/0d23e586d872
>
> Michael.
>
> ---------
>
> With latest changeset 0d23e586d872, native mingw build:
>
> llvm[3]: Building llvm-config BuildVariables.inc file.
> llvm[3]: Compiling llvm-config.cpp for Release+Asserts build
>
C:/MinGW/msys/1.0/home/jdonoghue/mxe-octave/tmp-llvm/llvm-3.1.src/tools/llvm
> -config/llvm-config.cpp:45:35: fatal error:
LibraryDependencies.inc: No
> such
> file or directory compilation terminated.
> /bin/rm: cannot lstat
>
`/usr/home/jdonoghue/mxe-octave/tmp-llvm/llvm-3.1.src/build/tools/llvm-confi
> g/Release+Asserts/llvm-config.d.tmp': No such file or directory
> make[3]: ***
>
[/usr/home/jdonoghue/mxe-octave/tmp-llvm/llvm-3.1.src/build/tools/llvm-confi
> g/Release+Asserts/llvm-config.o] Error 1
> make[3]: Leaving directory
>
`/home/jdonoghue/mxe-octave/tmp-llvm/llvm-3.1.src/build/tools/llvm-config'
> make[2]: *** [install] Error 1
>
>
>
> I don't do native MinGW compilation at the moment. Would you mind
> investigating in the Makefile's what's going on? It seems a file
is not
> automatically generated (LibraryDependencies.inc). Alternatively, you
> might
> want to try to use cmake instead?
>
>
>
> Michael.
>
>
>
> _____
>
> I will take a look.
>
> I originally got the native mingw build working by using the
autotools as
> I
> gave up on the cmake stuff - I'm not a cmake fan, and the
annoying trying
> to
> use Visual C message kept on coming up no matter what I seemed to do.
Did you build llvm by simply using configure - make make install entered
manually, rather than mk-dist?
I had similar troubles as you (Visual C++ interference and
"llvm-config not
found") while running a native MXE build.
MXE configure has an option "--enable-jit" but the output from
'octave_config_info' from a cross build shows it just didn't work.
I think src/octave.mk <http://octave.mk> has to be patched to
(attempt to) build llvm support
(i.e., add the --enable-jit flag to the configure options there). I was
going to try that tonight (with an older MXE checkout) but I have little
hope -it didn't work last time I tried.
I've a patch pending that does that. I just need to complete my octave
build first, then I'll submit it.
Below are the first two compile errors I get in a cross-compile with
--enable-jit entered in src/octave.mk
In MXE, compiling octave with llvm consistently goes wrong with faddeeva.cc.
Without patching src/octave.mk for llvm, octave builds fairly smoothly
and runs OK on Windows.
Apparently something goes wrong with the llvm build flags (compile or
link I don't know).
Philip
:
libtool: compile: i686-pc-mingw32-g++ -DHAVE_CONFIG_H -I.
-I/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft
-I../.. -I../../libgnu
-I/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/libgnu
-I/home/philip/devel/octdev/mxe-octave/usr/i686-pc-mingw32/include
-mieee-fp
-I/home/philip/devel/octdev/mxe-octave/usr/i686-pc-mingw32/include
-isystem /usr/include
-I/home/philip/devel/octdev/mxe-octave/usr/i686-pc-mingw32/include/freetype2
-I/home/philip/devel/octdev/mxe-octave/usr/i686-pc-mingw32/include
-I/home/philip/devel/octdev/mxe-octave/usr/i686-pc-mingw32/include -g
-O2 -pthread -MT Faddeeva/libcruft_la-Faddeeva.lo -MD -MP -MF
Faddeeva/.deps/libcruft_la-Faddeeva.Tpo -c
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.cc
-DDLL_EXPORT -DPIC -o Faddeeva/.libs/libcruft_la-Faddeeva.o
In file included from ../../libgnu/sys/types.h:27:0,
from ../../libgnu/stdio.h:58,
from ../../libgnu/wctype.h:43,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/cwctype:52,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/bits/locale_facets.h:41,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/bits/basic_ios.h:39,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/ios:45,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/istream:40,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/sstream:39,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/complex:47,
from
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.hh:30,
from
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.cc:159:
/usr/include/sys/types.h:66:17: error: multiple types in one declaration
/usr/include/sys/types.h:66:17: error: declaration does not declare
anything [-fpermissive]
/usr/include/sys/types.h:76:19: error: multiple types in one declaration
/usr/include/sys/types.h:76:19: error: declaration does not declare
anything [-fpermissive]
/usr/include/sys/types.h:81:17: error: multiple types in one declaration
/usr/include/sys/types.h:81:17: error: declaration does not declare
anything [-fpermissive]
In file included from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/winnt.h:37:0,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/windef.h:253,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/windows.h:48,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/winsock2.h:22,
from ../../libgnu/sys/select.h:129,
from /usr/include/sys/types.h:220,
from ../../libgnu/sys/types.h:27,
from ../../libgnu/stdio.h:58,
from ../../libgnu/wctype.h:43,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/cwctype:52,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/bits/locale_facets.h:41,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/bits/basic_ios.h:39,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/ios:45,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/istream:40,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/sstream:39,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/complex:47,
from
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.hh:30,
from
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.cc:159:
../../libgnu/string.h:501:1: error: new declaration 'void* memrchr(const
void*, int, size_t)'
In file included from ../../libgnu/string.h:27:0,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/winnt.h:37,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/windef.h:253,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/windows.h:48,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/include/winsock2.h:22,
from ../../libgnu/sys/select.h:129,
from /usr/include/sys/types.h:220,
from ../../libgnu/sys/types.h:27,
from ../../libgnu/stdio.h:58,
from ../../libgnu/wctype.h:43,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/cwctype:52,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/bits/locale_facets.h:41,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/bits/basic_ios.h:39,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/ios:45,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/istream:40,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/sstream:39,
from
/home/philip/devel/octdev/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/include/c++/complex:47,
from
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.hh:30,
from
/home/philip/devel/octdev/mxe-octave/tmp-octave/octave-3.7.5/liboctave/cruft/Faddeeva/Faddeeva.cc:159:
/usr/include/string.h:117:28: error: ambiguates old declaration 'const
void* memrchr(const void*, int, size_t)'
:
:
- Re: Updating MXE to llvm-3.1, (continued)
Re: Updating MXE to llvm-3.1, John D, 2013/07/16
RE: Updating MXE to llvm-3.1, John D, 2013/07/16
Re: Updating MXE to llvm-3.1, Michael Goffioul, 2013/07/16
RE: Updating MXE to llvm-3.1, John D, 2013/07/16
Re: Updating MXE to llvm-3.1, Michael Goffioul, 2013/07/16
RE: Updating MXE to llvm-3.1, John D, 2013/07/16
Re: Updating MXE to llvm-3.1, Michael Goffioul, 2013/07/17
RE: Updating MXE to llvm-3.1, John D, 2013/07/17