octave-maintainers
[Top][All Lists]
Advanced

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

mxe-octave status


From: John W. Eaton
Subject: mxe-octave status
Date: Thu, 19 Oct 2017 17:07:05 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

With current Octave and mxe-octave the default-octave target works forme when doing builds for native GNU systems and cross compiling for Windows-64 with either qt4 or qt5. I'm also building libGL from the Mesa package for consistent software rendering (more about that below). Here are the configurations I'm using:

Options common to all builds:

  --with-pkg-dir=/a/common/dir/for/source/downloads
  --with-ccache
  --enable-octave=default
  --enable-binary-packages
  --enable-devel-tools
  --disable-system-opengl

Windows builds (the common options above, plus):

  --enable-windows-64

GNU systems (the common options above, plus):

  --enable-native-build
  --enable-lib64-directory
  --enable-pic-flag
  --disable-system-x11-libs
  --disable-system-fontconfig
  --disable-system-gcc
  gnu-linux

and then choosing qt4 or qt5 with either --disable-qt5 or --enable-qt5.

For the native GNU builds, I'm able to build LLVM and Mesa can use that to generate the llvmpipe version of the swrast OpenGL driver and performance seems good. For Windows, I haven't figured out how to build a version of LLVM, so it uses a different and apparently slower implementation of swrast. It still works, but not as smoothly.

Also for the GNU builds, we are now able to build and include in the tar file nearly everything that is needed to run Octave. Installing and running a copy and then using lsof to examine the list of open files, I see only the following open outside of Octave's installation directory tree (using qt5):

  /lib/x86_64-linux-gnu/ld-2.24.so
  /lib/x86_64-linux-gnu/libc-2.24.so
  /lib/x86_64-linux-gnu/libdl-2.24.so
  /lib/x86_64-linux-gnu/libm-2.24.so
  /lib/x86_64-linux-gnu/libnsl-2.24.so
  /lib/x86_64-linux-gnu/libnss_compat-2.24.so
  /lib/x86_64-linux-gnu/libnss_files-2.24.so
  /lib/x86_64-linux-gnu/libnss_nis-2.24.so
  /lib/x86_64-linux-gnu/libpthread-2.24.so
  /lib/x86_64-linux-gnu/librt-2.24.so
  /lib/x86_64-linux-gnu/libudev.so.1.6.6
  /lib/x86_64-linux-gnu/libutil-2.24.so

  /usr/lib/locale/locale-archive

  /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache

  /usr/share/fonts/truetype/croscore/Cousine-Regular.ttf
  /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
  /usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
  /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
  /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf

On Windows systems with qt4, I'm able to move aside the mesa version of opengl32.dll and use the Windows OpenGL library (confirming with __opengl_info__). But with qt5, doing that causes Octave to freeze. I assume it's a segfault, but I haven't been successful with any attempt at debugging.

There are a few optional packages that we are currently not using, or that we are not building separately (Qt provides them), but that we could use or build separately. These include libjbig, icu, double_conversion, and libproxy. I could use some help creating makefile fragments for these packages.

I could also use some help with building LLVM on Windows systems if anyone has a clue. Preferably version 5, which we are currently successfully building on GNU systems.

Any help would be much appreciated.

Thanks,

jwe



reply via email to

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