Comments (12)
Mh no, this looks like a fundamental API change in enchant 2.x, I'll need to investigate further.
from qtspell.
Fixed in bf87066, thanks for the report.
from qtspell.
Version detection doesn't appear to work correctly:
/tmp/packerbuild-1000/qtspell/qtspell/src/qtspell/src/Checker.cpp: In function ‘enchant::Broker* get_enchant_broker()’:
/tmp/packerbuild-1000/qtspell/qtspell/src/qtspell/src/Checker.cpp:44:29: error: ‘instance’ is not a member of ‘enchant::Broker’
return enchant::Broker::instance();
^~~~~~~~
make[2]: *** [CMakeFiles/qtspell.dir/build.make:295: CMakeFiles/qtspell.dir/src/Checker.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/qtspell.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
$ pkg-config --modversion enchant
2.1.2
$ pkg-config --exists enchant-2; echo "$?"
1
I believe line 28 of CMakeLists.txt
should be not PKG_CHECK_MODULES(ENCHANT enchant-2)
but PKG_CHECK_MODULES(ENCHANT enchant>=2)
. I am not aware of any distro's providing a separate pkg-config file for enchant version 2.
I'd put in a pullreq but I haven't tested this (installing through AUR as a gIR dependency, would have to write a patch for the PKGBUILD). Maybe later.
from qtspell.
Popping in here after helping @foghawk debug this in the #archlinux support channel...
Specifically, I don't understand where PKG_CHECK_MODULES(ENCHANT enchant-2)
is supposed to get the enchant-2.pc
file (which is being specified as the MODULE) from. That's a very non-ideal way to perform version comparison that would only make sense on distros that wanted to provide parallel installs and make the old version the default.
Honestly, I'd just revert to PKG_CHECK_MODULES(ENCHANT REQUIRED enchant)
, no version checking at all, and then use IF(ENCHANT_VERSION VERSION_GREATER_EQUAL 2)
to test which version you have...
from qtspell.
enchant-2
is the name upstream uses for the enchant-2.x pkgconfig file, see [1]. Enchant-1.x and 2.x are supposed to be side-by-side installable. I suppose if downstream packages changed this, then yes, I'll need to extend the logic to both check for enchant-2
as well as enchant
with VERSION_GREATER_EQUAL 2
.
[1] https://github.com/AbiWord/enchant/blob/master/Makefile.am#L9
from qtspell.
Still does not build for me (qtspell 0.8.3, enchant 2.1.2):
Scanning dependencies of target qtspell
[ 85%] Building CXX object CMakeFiles/qtspell.dir/src/Checker.cpp.o
/home/kbabioch/PKGBUILD/qtspell/src/qtspell/src/Checker.cpp: In function 'enchant::Broker* get_enchant_broker()':
/home/kbabioch/PKGBUILD/qtspell/src/qtspell/src/Checker.cpp:44:29: error: 'instance' is not a member of 'enchant::Broker'
return enchant::Broker::instance();
^~~~~~~~
make[2]: *** [CMakeFiles/qtspell.dir/build.make:295: CMakeFiles/qtspell.dir/src/Checker.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:169: CMakeFiles/qtspell.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Shouldn't there be a switch to override the enchant version, if autodetection fails?
from qtspell.
Looks like you need enchant-2.1.3 or newer, since that's when they introduced the -2 suffix to the pkgconfig file and libraries. I'll add some code to also handle versions older thant 2.1.3.
from qtspell.
Please try latest master.
from qtspell.
Yes, latest master does work fine. Thank you very much.
from qtspell.
OK cool
from qtspell.
Are you planning on making a new release, so I can properly package this for Arch Linux?
from qtspell.
Done
from qtspell.
Related Issues (10)
- Codetable::lookup doesn't translate two-character codes HOT 1
- undefined reference error with enchant 1.6.1 HOT 1
- Failed to load dictionary HOT 1
- Deprecated QT5_USE_MODULES in CMakeLists.txt HOT 2
- Spell check doesn't work HOT 5
- Some language names do not display correctly HOT 1
- Reproducible builds fails due to Doxyfile FULL_PATH_NAMES HOT 1
- QTextCursor::setPosition: Position 'xxxx' out of range (Warning)
- Feature(s) request
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtspell.