[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Gworkspace with non-fragile abi, etc?
From: |
Lee, Seong-Gu |
Subject: |
Gworkspace with non-fragile abi, etc? |
Date: |
Wed, 21 Aug 2013 15:50:27 +0900 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 |
Dear GNUstep developers and users,
It is first time to write here. I am an novice end user interested in
GNUstep just for fun.
Because some troubles occurred at use, I would like to get your advise.
Used environment is Xubuntu 13.10 (linux kernel 3.11.0-3 smp i386),
clang 3.4 svn, libobjc2 1.7 svn, gnustep svn at VMWare player 5.0.2
1) GWorkspace with non-fragile abi
Other usr applications (Gorm, SystemPreferences, etc.) work well except
GWorkspace when compiled with non-fragile abi.
The symptom is like this proceedings :
(1) dock icon appers --> (2) fswatcher progessbar appears --> (3) core
dumped (Segmentation Faults)
GDB shows like this:
-------------------------------------------------------------------
Reading symbols from
/usr/GNUstep/Local/Applications/GWorkspace.app/GWorkspace...done.
(gdb) r
Starting program: /usr/GNUstep/Local/Applications/GWorkspace.app/GWorkspace
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
2013-08-21 11:43:52.327 fswatcher[26763] register client 2
Program received signal SIGSEGV, Segmentation fault.
-[NSString(NSStringDrawing) boundingRectWithSize:options:attributes:] (
self=0xb7fbcdd8 <.objc_str485>, _cmd=0xb7de5388
<.objc_selector_list+56>,
size=..., options=NSStringDrawingUsesLineFragmentOrigin,
attrs=0x8ab86e0)
at NSStringDrawing.m:683
683 NSRect result = NSZeroRect;
----------------------------------------------------------------
It seems to occur error when initializaing NSRect object with
NSZeroRect. However, same initialization code from other applications
did not make troubles. I cannot know whether NSStringDrawing.m in
gnustep-gui or GWorkspace source is wrong.
When NSZeroRect was commented out and gnustep-gui was re-compiled, all
works well.
In addtion, fragile-abi (linux gcc 4.8 default) and non-fragile abi
(FreeBSD 9.x, 10.x clang 3.4 svn default) did not make troubles.
2) non-fragile abi option at clang in linux
I have seen an atricle that compiler option
'-fobjc-runtime=gnustep-1.7' is enough to use non-fragile abi and
'-fobjc-nonfragile-abi' rather refer to legacy runtime at mailing-list.
However, building LanguageKit in Etoile shows error message like this:
"-fobjc-arc is not supported at legacy runtime" when
'-fobjc-nonfragile-abi' was not configured.
"gnustep-config --objc-flags" shows like with '-fobjc-non-fragile-abi':
-MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1
-DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing
-fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS
-fobjc-nonfragile-abi -D_NONFRAGILE_ABI -pthread -fPIC -DDEBUG
-fno-omit-frame-pointer -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g
-fgnu-runtime -fconstant-string-class=NSConstantString -I.
-I/usr/GNUstep/Local/Library/Headers -I/usr/GNUstep/System/Library/Headers
This is my understanding. Is it correct?
fragile-abi non-fragile abi
legacy gcc runtime OK N/A
(libojc4 from gcc)
new gnu runtime OK OK
(libojc2 from dev-libs)
"-fgnu-runtime" "-fobjc-runtime=gnustep-1.7"
or "-fobjc-nonfragile-abi"
3) XIM at X11 backends
To input non-latin character at text box of gnustep applicaton, I tried
all XIM such as ibus, scim, uim, fcitx, but failed. After then, this
document was found:
------------------------------------------------------------
Input ( http://wiki.gnustep.org/index.php/I18n )
NSTextInput protocol
NSInputManager
Current Status
Currently we use XIM. It is only available on systems that use the
X11 backends.
------------------------------------------------------------
Default backend at linux seems to be cairo. Does not cairo backend
support XIM? When backend was changed into xlib, applications were not
excuted as failed to load true-type fonts.
Because direct keyboard input is not allowed, indirect and incomplete
copy-paste input is only available.
4) Localization resources
GNUstep system and applications seem to comprised of many bundles and
frameworks which have thier own message resources. However, I cannot
figure out whether their resources are shared or separated.
For example, SystemPrerences source tree is consist as like this:
SystemPreferences --> Resource (.lproj)
Modules --> ColorSchemes -->Resources (.lproj)
FileSystem -->Resources (.lproj)
Fonts -->Resources (.lproj)
...
After compile:
PreferencePanes -->Resources (.lproj)
SystemPreferences.app -->Resources (.lproj)
Though Localizable.strings and .gorm file in each source .lproj were
translated before compiling, compiled application still shows partial
translation. To comlete localization, resources at generated .app were
edited manually.
'make_strings' seems not to extract strings at files in sub-directories
(have not -r switch in grep, find). If sub-projects have own separated
string resource and aggregate to .app when compiled, it would be
appropriate. However, compiling does not seem to aggregate localized
resources.
4) Spellchecker
When excuting application at localized environment (defaults
NSGlobalDomain NSLanguages xxxxxx), these messages are printed to termianl:
-------------------------------------------------------------------
2013-08-21 15:19:30.242 gdnc[27202] File NSDictionary.m: 673. In
-[NSDictionary initWithContentsOfFile:] Contents of file
'/usr/GNUstep/Local/Library/Libraries/gnustep-base/Versions/1.24/Resources/Languages/XXXXXX'
does not contain a dictionary
-------------------------------------------------------------------
gnustep i18n document says like this: (
http://wiki.gnustep.org/index.php/I18n )
Writing aids and processing mechanisms
Spell-checking NSSpellChecker
Current Status
The spellchecker uses libaspell for its backend
aspell has dictionaries for at least these languages - af, br,
ca, cs, cy, da, de, el, en, eo, es, fo, fr, ga, he, hr, is, it, nl, no,
pl, pt, ro, ru, sk, sl, sv, uk (list taken from gentoo portage)
some languages are unsupported by aspell.
In the case where the currently selected NSLanguage doesn't have
a dictionary available, an error dialog will show, telling you that the
dictionary isn't available. It won't allow you to spell check with
another dictionary until you manually open the spell check panel, and
select a different dictionary. I mention this becuase its easy to get
the impression that the spellchecker is broken if your NSLanguage is for
example set to Thai.
Is there any substitute or wrapper to other spellchecker system
(hunspell, ispell, etc.) for unsupported languages by aspell?
5) ProjectCenter
ProjectCenter seems to import not .pbproj or .xcodeproj or GNUmakefile
but only .pcproj. GNUstep example applications are generated with
GNUmakefile not .pcproj. Buildtool and pbxbuild works at terminal. Is
there any IDE similar to XCode?
Sorry to well-not-organized long text. As my understanding of English
and GNUstep is thin, the descriptions may be somewhat illegible.
Lee, Seong-Gu ( at gmail dot com )
- Gworkspace with non-fragile abi, etc?,
Lee, Seong-Gu <=
- Re: Gworkspace with non-fragile abi, etc?, Riccardo Mottola, 2013/08/24
- Re: Gworkspace with non-fragile abi, etc?, Lee, Seong-Gu, 2013/08/24
- Re: Gworkspace with non-fragile abi, etc?, Fred Kiefer, 2013/08/25
- Re: Gworkspace with non-fragile abi, etc?, Lee, Seong-Gu, 2013/08/26
- Re: Gworkspace with non-fragile abi, etc?, Fred Kiefer, 2013/08/27
- Re: Gworkspace with non-fragile abi, etc?, David Chisnall, 2013/08/28