[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Native MXE stops at qt
From: |
John D |
Subject: |
Re: Native MXE stops at qt |
Date: |
Wed, 1 Jan 2014 19:23:34 -0500 |
Message: 5
Date: Wed, 1 Jan 2014 15:18:01 -0800 (PST)
From: Philip Nienhuis <address@hidden>
To: address@hidden
Subject: Re: Native MXE stops at qt
Message-ID: <address@hidden>
Content-Type: text/plain; charset=us-ascii
> <snip>
>> :
>> I updated the installer a few weeks ago with the changes from Anirudha
>> that related to mingw as well as a few of my own. It doesn't create a
>> desktop icon at the moment, but is easy to add. It does create the
>> start menu icons, documentation shortcuts etc. Currently the 'main'
>> octave shortcut runs the cli version of octave, with an additional
>> shortcut called Experimental GUI.
>> I don't know if anyone else has gotten a chance to try it out.
>
> I just pulled & updated my MinGW (native) mxe-octave and got this:
>
> ======================================================
> [build] qt
>
> Failed to build package qt!
> ------------------------------------------------------------
> # in addition, .pc files have the wrong paths, mangled lib names if [
> "yes"
> = yes -a "mingw" != msvc ]; then find
> /home/Philip/mxe-octave/tmp-qt/qt-everywhere-openso
> urce-src-4.8.3/lib/pkgconfig/*.pc -exec sed -i -e
> 's,\(.*\)_location=.*,\1_location=${prefix}/bin/\1
> ,g' -e 's,\(Libs:.* -l\).*[\\/]\([A-Za-z0-9]*\),\1\2,g' '{}' ';' ; install
> -d '/home/Philip/mxe-octa
> ve/tmp-qt-install/home/Philip/mxe-octave/usr/lib/pkgconfig'; cp -f
> '/home/Philip/mxe-octave/tmp-qt/q
> t-everywhere-opensource-src-4.8.3/lib/pkgconfig/'*.pc
> '/home/Philip/mxe-octave/tmp-qt-install/home/P
> hilip/mxe-octave/usr/lib/pkgconfig/'; fi
> find:
>
`/home/Philip/mxe-octave/tmp-qt/qt-everywhere-opensource-src-4.8.3/lib/pkgco
> nfig/*.pc':
> No suc
> h file or directory
> cp: cannot stat
>
`/home/Philip/mxe-octave/tmp-qt/qt-everywhere-opensource-src-4.8.3/lib/pkgco
> nfig/*.p
> c': No such file or directory
> make[1]: *** [build-only-qt] Error 1
> make[1]: Leaving directory `/home/Philip/mxe-octave'
> real 7m34.593s
> user 0m26.078s
> sys 0m48.095s
> ------------------------------------------------------------
> [log] /home/Philip/mxe-octave/log/qt
>
> make: *** [/home/Philip/mxe-octave/installed-packages/qt] Error 1
>
> ======================================================
>
> Native build never get past qt here. In contrast, cross-builds perform
> smooth and flawlessly.
>
> I investigated the above error but couldn't find why the paths are wrong.
>
> Perhaps the tools/set_mxe_env.sh script doesn't seem to get called as
> there's no MXE-OCTAVE_ENV environment setting after the build stops at qt
> -
> but maybe that is set within mk-dist itself?
>
> Philip
>
> -----
>
> Qt should (and on my win7 box does) compile ok - I don't believe there has
> been any changes to QT for a long while that could effect it, however:
> Set_mxe_env.sh doesn't get called anywhere - I call it manually whenever
> doing any native compiling, which is maybe why my compiles work.
> It shouldn't need to be called as Makefile should set everything needed as
> it does for cross builds, but I believe I looked before and couldn't find
> any difference between what Makefile/mkdist sets and what I do with
> set_mxe_env.
>
> Native mxe build of octave requires a patch to octave in order to compile.
>
> Cross compile works fine for me as well
Thanks for the reply.
How many threads do you specify for ./mk-dist? (the --jobs param)
Where is MXE-OCTAVE_ENV set? (seeems to be required for set_mxe_env.sh to do
anything useful, but AFAICS it isn't set.)
I also manually set/exported the stuff in set_mxe_env.sh, to no avail.
Maybe I'll start over with a fresh clone.
$ gcc --version
gcc.exe (GCC) 4.7.2
.... is that recent enough?
------------------
I usually just run 'make' rather than mk-dist and then run mk-dist
--installer afterward but it should work either way, so at that point I
guess it is doing only 1.
I have noticed that building Qt can be rather memory hungry and have had
issues running with jobs set to more than 1.
MXE_OCTAVE_ENV is set within set_mxe_env.sh - it is set the first time it is
run (line 25) so that if someone runs the script again, it doesn't continue
to add paths to itself.
My native gcc is 4.7.2