octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #47183] Problems with instructions on http://w


From: Michael Maloney
Subject: [Octave-bug-tracker] [bug #47183] Problems with instructions on http://wiki.octave.org/MXE - and suggested improvements
Date: Wed, 17 Feb 2016 22:30:22 +0000
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0

URL:
  <http://savannah.gnu.org/bugs/?47183>

                 Summary: Problems with instructions on
http://wiki.octave.org/MXE - and suggested improvements
                 Project: GNU Octave
            Submitted by: jacotot
            Submitted on: Wed 17 Feb 2016 10:30:21 PM GMT
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Installation Failure
                  Status: None
             Assigned to: None
         Originator Name: Mike Maloney
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.0.0
        Operating System: GNU/Linux

    _______________________________________________________

Details:

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. 


--enable-lib64-directory


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:


 ./configure --enable-native-build --enable-pic-flag host_alias=gnu-linux
--enable-openblas --enable-jit --enable-lib64-directory


*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


git clone git://git.ffmpeg.org/rtmpdump 


I then modifed the make file for this to add -fPIC to the CFLAGS entry, giving
the following line


CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT) -fPIC


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 


./octave --no-gui
__run_tst_suite__


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


--with-quantum-depth=16 \


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.


./configure --enable-native-build --enable-pic-flag host_alias=gnu-linux
--enable-openblas --enable-jit --enable-lib64-directory 


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.





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?47183>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]