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

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

[Octave-bug-tracker] [bug #54255] [octave forge] (gsl) package fails to


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #54255] [octave forge] (gsl) package fails to cross compile with mxe-octave
Date: Fri, 6 Jul 2018 10:07:36 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

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

                 Summary: [octave forge] (gsl) package fails to cross compile
with mxe-octave
                 Project: GNU Octave
            Submitted by: jwe
            Submitted on: Fri 06 Jul 2018 02:07:35 PM UTC
                Category: Octave Forge Package
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: jwe
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: Other

    _______________________________________________________

Details:

Cross compiling the mxe-octave of-gsl package for Windows fails with the
following error message:


checking ov-scalar.h usability... no
checking ov-scalar.h presence... no
checking for ov-scalar.h... no
configure: error: ov-scalar.h header not found
-verbose
gsl-2.1.1.tar.gz
mkoctfile= /scratch/build/mxe-octave-w32/usr/bin/i686-w64-mingw32-mkoctfile
--verbose
arch= i686-w64-mingw32
apiversion= api-v52+
prefix= /scratch/build/mxe-octave-w32/usr/i686-w64-mingw32
files= ['gsl-2.1.1.tar.gz']
verbose= True
running ./configure --host='i686-w64-mingw32' --build='x86_64-pc-linux-gnu'
cleaning up


The configure test is written as

dnl *********************************
dnl *** Test some Octave features ***
dnl *********************************

dnl Find Octave's include directory
AC_MSG_CHECKING([for Octave's include directory])
octave_include_dir=`$OCTAVE -qf --eval "              \
  if exist ('__octave_config_info__')                 \
    disp  (__octave_config_info__ ('octincludedir'))  \
  else                                                \
    disp  (octave_config_info ('octincludedir'))      \
  end"`
AC_MSG_RESULT([${octave_include_dir}])

dnl Save initial state
save_CPPFLAGS=${CPPFLAG}
AC_LANG_PUSH([C++])

dnl Add octave include dir to CPPFLAGS
CPPFLAGS="-I${octave_include_dir} ${CPPFLAGS}"

dnl Detect ov-scalar.h
AC_CHECK_HEADER([ov-scalar.h],,[AC_MSG_ERROR([ov-scalar.h header not
found])])


We can't run the cross-built Octave in this situation.  If some version of
Octave that we can run is installed, then it will give information about the
build system, not the host system that we are interested in.

Instead, we could use $MKOCTFILE here to compile C and C++ files.  It is
already set up to look in the Octave include directory, and the mxe-octve
build system sets the MKOCTFILE variable to the name of the cross version of
mkoctfile (in my case, "i686-w64-mingw32-mkoctfile".  If you do need info
about the host system, you can also get it from running this version of
mkoctfile.







    _______________________________________________________

Reply to this item at:

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

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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