eric ide

Issue198

Classification
Title: killer QScintilla again SOLVED
Type: behavior Product: eric6
Process
Priority: high    
Status: closed Resolution: later
Superseder: Nosy List: detlev, primeq
Assigned to: Keywords:

Created on 2016-06-16.22:27:53 by primeq, last changed by primeq.

Messages (6.0)
msg730 (view) Author: primeq Date: 2016-06-18.19:08:07
finally resolved using this: http://stackoverflow.com/a/37900590/192127 which is a 
small adjustment of http://stackoverflow.com/a/30739793/192127.

The essential elements of the solution are:

a) Qt5 Designer build: the options below
qmake 'designer.pro' INCLUDEPATH+='../Qt4Qt5' QMAKE_LIBDIR+='../Qt4Qt5'

b) Python bindings for QScintilla: the options below:

python3 'configure.py' --pyqt='PyQt5' --qmake='<full path to Qt5's qmake'
        --qsci-incdir='../Qt4Qt5' --qsci-libdir='../Qt4Qt5'
msg729 (view) Author: primeq Date: 2016-06-18.03:40:58
closing - cannot win this one
msg728 (view) Author: detlev Date: 2016-06-17.17:00:02
eric is not fiddling with the Qt or PyQt installation. I never had any issue on Mac OS 
X when following the procedure outlined in the README-MacOSX.rst file, which is part of 
the eric archive.
msg727 (view) Author: primeq Date: 2016-06-17.05:30:40
title really doesn't do QScintilla justice.

After a brutal 10 hours of fighting this inch by inch I have discovered this:

1) after step by step installation of QScintilla2, sip, PyQt5 I go into Python3 
commandline and _everything_ is intact - I can import PyQt5.Qsci. I can do 
help(Qsci) and it loads and I get info

2) back to Eric: python3 install.py of course fails as reported below. However, when 
I go back into Python3 and type exactly as I did before:
from PyQt5 import Qsci

I get the meltdown. Is Eric doing something to the Python installation?
msg726 (view) Author: primeq Date: 2016-06-16.22:30:08
the only warning I see is this:

strip <pathHere>Qt/5.6/clang_64/plugins/designer/libpyqt5.dylib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: symbols referenced by indirect symbol table entries that can't be stripped in: 
<pathHere>/Qt/5.6/clang_64/plugins/designer/libpyqt5.dylib
msg725 (view) Author: primeq Date: 2016-06-16.22:27:53
I've run out of ways to make qscintilla work. All of these steps go without any apparent error but for one 
seemingly benign error:

1) startin qscintilla 2.9.2 directory, clean source

cd Qt4Qt5

export QMAKEFEATURES="$PWD/features"

<full path to Qt5.6 qmake>/qmake qscintilla.pro
make
make install

cd '../designer-Qt4Qt5'
<full path to Qt5.6 qmake>/qmake 'designer.pro' INCLUDEPATH+='../Qt4Qt5' QMAKE_LIBDIR+='../Qt4Qt5'
make
make install

2) in sip-4.18 source dir:
python3 configure.py 
make
make install

3) in PyQt5_gpl-5.6 source directory

python3 configure.py --qmake <full path to Qt5.6 qmake>/qmake

make
make install

4) back in QScintilla source dir:

cd '/Python'
python3 'configure.py' --pyqt='PyQt5' --qmake='<full path to Qt5.6 qmake>/qmake' --qsci-incdir='../Qt4Qt5' --qsci-
libdir='../Qt4Qt5'
        
make
make install

5) in eric6-6.1.6  directory:

python3 install.py

error (I must have done this about 10 times, each time taking extreme care with everything.

Checking dependencies
Python Version: 3.5.1
Found PyQt5
Found pyuic5
Sorry, please install QScintilla2 and
its PyQt5/PyQt4 wrapper.
Error: dlopen(/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PyQt5/Qsci.so, 2): 
Library not loaded: libqscintilla2_qt5.12.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/PyQt5/Qsci.so
  Reason: image not found

In QScintilla/Qt4Qt5 I see these 4 files/symlinks:

1- QScintilla_gpl-2.9.2/Qt4Qt5/libqscintilla2_qt5.12.0.1.dylib
2- QScintilla_gpl-2.9.2/Qt4Qt5/libqscintilla2_qt5.12.0.dylib -> libqscintilla2_qt5.12.0.1.dylib
3- QScintilla_gpl-2.9.2/Qt4Qt5/libqscintilla2_qt5.12.dylib -> libqscintilla2_qt5.12.0.1.dylib
4- QScintilla_gpl-2.9.2/Qt4Qt5/libqscintilla2_qt5.dylib -> libqscintilla2_qt5.12.0.1.dylib

item 3 is an exact match for the not-found file/image.

It feels to me that QScintilla is the plague of the earth - problems with it abound. One has to wonder: if 
QScintilla build/install was not so fragile, would Eric PythonIDE rule the world?

I'm about to give up - discouraging to have spent now about 20 hours trying to make QScintilla work in python3
History
Date User Action Args
2016-06-18 19:08:07primeqsetmessage_count: 5.0 -> 6.0
messages: + msg730
title: killer QScintilla again -> killer QScintilla again SOLVED
2016-06-18 03:40:58primeqsetstatus: open -> closed
resolution: later
messages: + msg729
message_count: 4.0 -> 5.0
2016-06-17 17:00:02detlevsetstatus: new -> open
nosy: + detlev
messages: + msg728
message_count: 3.0 -> 4.0
2016-06-17 05:30:40primeqsetmessage_count: 2.0 -> 3.0
messages: + msg727
2016-06-16 22:30:08primeqsetmessage_count: 1.0 -> 2.0
messages: + msg726
2016-06-16 22:27:53primeqcreate