[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/
- [Octave-bug-tracker] [bug #48773] QScintilla / Scintilla file name not properly identified for Qt5,
Dan Sebald <=