[Çözüldü] matlab yüklendikten sonra hata veriyor.

Başlatan dirac, 10 Eylül 2008 - 14:07:18

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

dirac

arkadaşlar 2 gün önce ubuntunun en son versiyonunu indirip  kurdum, bu ubuntuya matlab 2008a (7.6.0) versiyonunu yükledim.
install işleminden sonra matlab açılırken command windowda aşağıdaki hatayı veriyor:

Warning: Initializing Handle Graphics failed in matlabrc.
This indicates a potentially serious problem in your MATLAB setup,
which should be resolved as soon as possible.  Error detected was:
MATLAB:hg:propswch:FindObjFailed
Error using ==> set
Invalid figure property: 'inverthardcopy'.
> In matlabrc at 104
>>

matlabrc de bu 104. satırı editörde açınca :

try
    % Initialize Handle Graphics including default paper size settings.
    hgrc   ------> bu dosyada düzeltme  gekiyor sanırım..
catch
   err = lasterror;
   warning('MATLAB:matlabrc:InitHandleGraphics', '%s\n%s\n%s\n%s\n%s', ...
       'Initializing Handle Graphics failed in matlabrc.',...
       'This indicates a potentially serious problem in your MATLAB setup,',...
       'which should be resolved as soon as possible.  Error detected was:',...
       err.identifier,...
       err.message);
   lasterr();
end

bazı yabancı sitelerde buna benzer sorunlar ve çözümler var. deniyorki:
hgrc.m dosyasında monitör ayarlarını yapmalı ve matlabın başlatıldığı kabuğa export LC_ALL=en_US satırı eklenmeliymiş.

hepsini uygulamama rağmen değişen hiçbir şey olmadı. Ya da ben çok acemi bir linux kullanıcısı olarak önerilen çözümleri doğru uygulayamadım, bilemiyorum.

lütfen bu problemle daha önce karşılaşmış ya da çözebilecek arkadaşlar varsa yardımlarınızı bekliyorum.

erginemr

Ben de ufak bir araştırmayla, bahsettiğiniz çözümleri buldum:
http://ubuntuforums.org/showthread.php?t=135135
http://remmirath-en.blogspot.com/2008/05/matlab-warning-initializing-handle.html

1. Locale uyumsuzluğu olasılığı için konsoldan:
env LANG="en_US.UTF8" matlab
komutunu deneyin.

2. Ekran uyumsuzluğu için çözüm önerisi, 2. makalenin sonlarında:
Alıntı YapThe monitors array for a 1024x768 monitor as mine should be:
monitors = [0,0,1024,768;1025,769,1024,768];

and for a 1280x1024 monitor as my desktop:
monitors = [0,0,1280,1024;1281,1025,1280,1024];

So in the end I commented this line in hgrc.m:
monitors = get(0, 'MonitorPosition');

inserting a '%' character before the line... and I added the manual assign of the correct matrix to the monitors variable:
monitors = [0,0,1024,768;1025,769,1024,768];
şeklinde anlatılmış.

3. Bir de aynı başlıkta, sorunun kaynağının Java ve X uyumsuzluğu olabileceği belirtilmiş. Matlab, Linux ortamında çalışmak için Java'ya ihtiyaç duyuyor mu? eğer öyleyse sisteminizde hangi Java versiyonu yüklü?

dirac

#2
Sayın hocam, ilk önde yardımınız için teşekkür ederim. Problemin 99 % luk kısmı çözüldü.
Benim hissetiğim kadarıyla matlabın yarısı (simulink) java üzerinden çalışıyor. ben linux dağıtımları zaten en son java sürrümlerini üzerinde taşıyordur diye düşündüğüm için (neden böyle düşündüğümü ben de bilemiyorum... ) o konuda hiç uğraşmadım. uyarınız üzerine konsoldan apt-get komutuyla sun-java6-jre yapılandırdım.
ama sanırım asıl sorun locale deki uyumsuzluk. çünkü java yapılanmasından sonra matlab açtığımda sorun devam ediyordu.

Şimdi tek sorun konsolu kapatınca matlab ile birlikte kapanıyor olması. Zaten neden konsoldan açmak zorunda olduğumu da bilmiyorum. Şimdi buna bir kısa yol yapmayı deneyeceğim.


Ayrıca bu adreste de sorunun çözümünü buldum. en azından ileride linux üzerinde matlab kuracak arkadaşlara yardımı olması açısından burda da bir açıklama bulunmasını da faydalı buluyorum.

Aşağıdaki konsol görüntüsü sorunsuz açılan ilk matlabdan hemen öncesi ve matlabın açılma aşamasını gösteriyor.

Alıntı Yaproot@maxwell:/home/dirac# locale  ---> locale de ne var ne yok baktım.
LANG=tr_TR.UTF-8
LC_CTYPE="tr_TR.UTF-8"
LC_NUMERIC="tr_TR.UTF-8"
LC_TIME="tr_TR.UTF-8"
LC_COLLATE="tr_TR.UTF-8"
LC_MONETARY="tr_TR.UTF-8"
LC_MESSAGES="tr_TR.UTF-8"
LC_PAPER="tr_TR.UTF-8"
LC_NAME="tr_TR.UTF-8"
LC_ADDRESS="tr_TR.UTF-8"
LC_TELEPHONE="tr_TR.UTF-8"
LC_MEASUREMENT="tr_TR.UTF-8"
LC_IDENTIFICATION="tr_TR.UTF-8"
LC_ALL=
root@maxwell:/home/dirac# export LC_ALL=en_US   ----> bu komut satırıyla hepsini en_US yaptım.
root@maxwell:/home/dirac# locale   ---> tekrar bakıyorum
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=tr_TR.UTF-8
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=en_US
root@maxwell:/home/dirac# ./matlab/bin/matlab ---> matlab çalıştırıyorum.
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb5438767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb54388b1]
#2 /usr/lib/libX11.so.6(_XReply+0xfd) [0xb56fd1bd]
#3 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so [0xaef352be]
#4 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so [0xaef13ed7]
#5 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so [0xaef14188]
#6 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xaef1448f]
#7 [0xafbf367e]
#8 [0xafbebe9d]
#9 [0xafbebe9d]
#10 [0xafbe9207]
#11 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x6209a4d]  burdan sonra java devreye giriyor sanırım...
#12 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x6305bc8]
#13 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x62098e0]
#14 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so(JVM_DoPrivileged+0x34b) [0x625f77b]
#15 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/libjava.so(Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb1c8d96d]
#16 [0xafbf367e]
#17 [0xafbebd37]
#18 [0xafbe9207]
#19 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x6209a4d]
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb5438767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb543881e]
#2 /usr/lib/libX11.so.6 [0xb56fc518]
#3 /usr/lib/libX11.so.6(XGetVisualInfo+0x26) [0xb56f30a6]
#4 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so [0xaef13189]
#5 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so [0xaef133d5]
#6 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so [0xaef14239]
#7 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xaef1448f]
#8 [0xafbf367e]
#9 [0xafbebe9d]
#10 [0xafbebe9d]
#11 [0xafbe9207]
#12 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x6209a4d]
#13 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x6305bc8]
#14 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so [0x62098e0]
#15 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/client/libjvm.so(JVM_DoPrivileged+0x34b) [0x625f77b]
#16 /home/dirac/matlab/sys/java/jre/glnx86/jre1.6.0/lib/i386/libjava.so(Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb1c8d96d]
#17 [0xafbf367e]
#18 [0xafbebd37]
#19 [0xafbe9207]

vee matlab sorunsuz bir şekilde çalıştı...
ayrıca sudo gedit $matlab/bin/matlab yazıp

Alıntı Yap#!/bin/sh
   export LC_ALL=en_US
   export MATLAB_JAVA=/usr/lib/jvm/java-6-sun-1.6.0.06/jre
#  Name:
#     matlab    script file for invoking MATLAB
#
#  Usage:

şeklinde bir düzenleme yaparsak matlabi her kapatıp açtığımızda tekrar tekrar komut girmektende kurtuluyoruz.

son söz erginemr'e bir daha teşekkür ederim......  :)