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

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

[Octave-bug-tracker] [bug #48773] QScintilla / Scintilla file name not p


From: Dan Sebald
Subject: [Octave-bug-tracker] [bug #48773] QScintilla / Scintilla file name not properly identified for Qt5
Date: Sat, 13 Aug 2016 16:07:24 +0000 (UTC)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0

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

                 Summary: QScintilla / Scintilla file name not properly
identified for Qt5
                 Project: GNU Octave
            Submitted by: sebald
            Submitted on: Sat 13 Aug 2016 04:07:21 PM GMT
                Category: Configuration and Build System
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Build Failure
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

This problem was first identified here:

https://savannah.gnu.org/bugs/?40252#comment30

and I don't see a new bug report for the issue so I'm creating one because a
user has already run into this issue on Manjaro Linux.

Basically, for Qt5 it appears that there is not a single way in which the
QScintilla library file is named.  So far there is either:

libqt5scintilla2.so
libqscintilla2-qt5.so

but the Octave configure script has this name hard-coded as:


  ## Check for Qt libraries
  case "$qt_version" in
    4)
      QT_MODULES="QtCore QtGui QtNetwork QtOpenGL"
      LIBQSCINTILLA=qscintilla2
    ;;
    5)
      QT_MODULES="Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport"
      LIBQSCINTILLA=qt5scintilla2
    ;;
    *)
      as_fn_error $? "Unrecognized Qt version $qt_version" "$LINENO" 5
    ;;
  esac



Note this comment about assumption:


      ## Let's assume Qscintilla library is at the same location as
      ## other regular Qt libraries.
      QT_LIBS="$QT_LIBS -l$LIBQSCINTILLA"


is supposed to be a certainty.  The documentation at the link below states
"Installation  As supplied QScintilla will be built as a shared library/DLL
and installed in the same directories as the Qt libraries and include
files.":

http://pyqt.sourceforge.net/Docs/QScintilla2/

So there are at least a couple ways to go about this.

1) Expand the definition of $LIBQSCINTILLA to be as many files as user report,
i.e., start with the list I gave above.  Then loop through that list of
possible files.  It wouldn't be too much work to add a list

2) Drop this script


    ## Check for Qscintilla library which is used in the Qt GUI editor.
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Qscintilla
library is installed" >&5
$as_echo_n "checking whether Qscintilla library is installed... " >&6; }
if ${octave_cv_lib_qscintilla+:} false; then :
  $as_echo_n "(cached) " >&6
else
  save_CPPFLAGS="$CPPFLAGS"
      save_CXXFLAGS="$CXXFLAGS"
      save_LDFLAGS="$LDFLAGS"
      save_LIBS="$LIBS"
      CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
      CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
      LDFLAGS="$QT_LDFLAGS $LDFLAGS"
      LIBS="$QT_LIBS -l$LIBQSCINTILLA"
      ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS
conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu

      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

        #include <Qsci/qscilexersql.h>

#ifdef F77_DUMMY_MAIN

#  ifdef __cplusplus
     extern "C"
#  endif
   int F77_DUMMY_MAIN() { return 1; }

#endif
int
main ()
{

        QsciLexerSQL sqlLexer(0);

  ;
  return 0;
}


in exchange for some script that simply searches the identified Qt library
directories...hmm, this might not work so well simply because of the fact
there could be Qt4 files still about and searching for "scintilla" is a
problem.  We don't know where the '5' is going to appear so we are again back
to searching for very specific patterns.

3) Can the AC_SEARCH_LIBS script:

https://www.gnu.org/software/autoconf/manual/autoconf-2.66/html_node/Libraries.html

be used to search for a routine we know exists in Qt5 but not in Qt4?





    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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