Wed 17 Feb 2016 10:30:21 PM UTC, original submission:
I tried using the steps outlined on the wiki for building Octave on my Ubuntu 14.04 x64 system.
The following used mxe-octave-0c3b6061a202.tar.gz to create the starting mxe-octave folder for the build
I encountered two problems
PROBLEM 1
At the gnutls build step it failed saying it couldn't find Nettle 2.7.1. From googling this I found that the configuration step needed the following feature added.
Also I saw a warning message saying that --enable-64 was for enabling WINDOWS 64 - so I removed this from the confguration list.
My final configure step wasa as follows:
PROBLEM 2
The build failed at the curl step because it was trying to link against librtmp. On my system this is a static library. When I realized how many things were hanging off this library I decided not to mess with this (part of the regular Ubuntu instal).
Instead I downloaded a copy of rtmpdump to a location outside of my mxe-octave folder using
I then modifed the make file for this to add -fPIC to the CFLAGS entry, giving the following line
I then ran make to buildthis and copied the folowing files from this folder into my mxe-octave/user folder
* create folder /mxe-octave/user/include/librtmp
* place copies of amf.h, http.h, log.h, rtmp.h into this
* copy librtmp.a librtmp.so librtmp.so.1 into
mxe-octave/usr/lib
Curl then builds without any problems. The file librtmp.so is a shortcut, so it might need recreating to point at the version of libtmp.so.1 in /mxe-octave/usr/lib.
By making those two changes the build procedure ran perfectly for all other steps, and Octave started without problem.
I ran the test suite in batch by
This stopped at geometry/voronoi.m with panic: Segmentation fault
I haven't had a chance to look a that yet.
One further suggestion I would make is that for the step where you change to usr/lib to do the mv of libblas and creating the link for libopenblas it is VERY EASY to inadvertently type /usr/lib. I did this and the first clue I had done this was my move command failed because I wasn't authorized - at which point I realized I had jumped to a totally different folder.
As some users want a version of Octave that runs with 16bit version of GraphicsMagick, it might also be worth pointing out that this can be set up before running mak by edding mxe-octave/src/graphicsmagick.mk and adding the line
if 16 bit is required, or change this to 32 above if that version is required.
In summary
1. I would suggest using the following configuration step to ensure gnutls (and maybe other steps), build without problem on 64 bit systems - or at least provide alternatives and an explanation of which to use.
2. Consider adding a librtmp.mk step to the overall mxe-octave procedure that builds a version with a CFLAG setting -fPIC to avoid any problems when building curl.
3. Highlight the point about changing the graphcsmagick quantum-depth setting before building.
4. Sound a warning about accidentally dropping into /usr/lib instead of being in /mxe-octave/usr/lib!
I'm not an expert on this stuff, so thelibrtmp bit is something of a work round, and needs a proper solution.
|