staging.inyokaproject.org

MatLab 2013a auf Ubuntu 14.04 Installieren

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

McTrampiboy

Anmeldungsdatum:
25. April 2014

Beiträge: Zähle...

Hallo Ubuntu Gemeinde.

Ich versuche nun seit zwei Tagen MatLab zum laufen zu bekommen. Nachdem ich alle einschlägigen Foren durchsucht habe und ich zwar Diskusionen zum Thema gefunden habe, es aber nie eine Wirkliche LÖsung gab, mache ich mal ein neues auf und hoffe, das mir hier jemand weiter helfen kann.

So, zu dem was ich schon herraus gefunden habe:

Ich habe zuerst die Dateien in mein home Verzeichniss kopiert, damit ich Zugriffsrechte etc. verändern kann.

Ich versuche mit dem ./install skipt zu installieren.

Ich benutze die Option -glnxa64 um die 32-bit Studenten Version auf meinem 64-bit Ubuntu zu installieren.

Ich benutze das Java was bei mir installiert ist mit -javadir /usr/lib/jvm/java-7-oracle/jre/ Ich habe auch java in den Versionen 6 und 7 sowie openjdk 6 und 7 versucht, es führt zur gleichen Fehlermneldeung.

Zudem habe ich im Skript den Pfad zum tmp Verzeichniss welches angelegt wird verändert, weil es hieß das es zu fehlern kommen kann, falls es in dem Verzeichniss nicht genug berechtigungn gibt (den genauen wortlaut habe ich vergessen und das Formu leider schon geschlossen)

So, und nun zu meiner Fehlermeldung:

Eingabe:

1
~/Dokumente/matlab/matlab$ ./install -v -glnxa64 -javadir /usr/lib/jvm/java-8-oracle/jre/

Ausgabe:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Preparing installation files ...
->  DVD                 = /home/*/Dokumente/matlab/matlab
->  ARCH                = glnxa64
->  DISPLAY             = :0
->  TESTONLY            = 0
->  JRE_LOC             = /home/*/Dokumente/matlab/tmp/mathworks_2577/sys/java/jre/glnxa64/jre
->  LD_LIBRARY_PATH     = /home/*/Dokumente/matlab/tmp/mathworks_2577/bin/glnxa64
 
Command to run:
/home/*/Dokumente/matlab/tmp/mathworks_2577/sys/java/jre/glnxa64/jre/bin/java -Xmx512m  -splash:"/home/*/Dokumente/matlab/matlab/java/splash.png" -Djava.ext.dirs=/home/*/Dokumente/matlab/tmp/mathworks_2577/sys/java/jre/glnxa64/jre/lib/ext:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jar:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jar/ja_JP/:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jar/zh_CN/:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jarext:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jarext/axis2/:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jarext/guice/:/home/*/Dokumente/matlab/tmp/mathworks_2577/java/jarext/webservices/ com/mathworks/professionalinstaller/Launcher -root "/home/*/Dokumente/matlab/matlab" -tmpdir "/home/*/Dokumente/matlab/tmp/mathworks_2577" 
 
Installing ...
Java HotSpot(TM) Server VM warning: You have loaded library /home/*/Dokumente/matlab/tmp/mathworks_2577/bin/glnxa64/libinstutil.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Exception in thread "main" com.google.inject.ProvisionException: Guice provision errors:

1) Error in custom provider, java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  at com.mathworks.wizard.WizardModule.provideDisplayProperties(WizardModule.java:68)
  while locating com.mathworks.instutil.DisplayProperties
  at com.mathworks.wizard.ui.components.ComponentsModule.providePaintStrategy(ComponentsModule.java:76)
  while locating com.mathworks.wizard.ui.components.PaintStrategy
    for parameter 4 at com.mathworks.wizard.ui.components.SwingComponentFactoryImpl.<init>(SwingComponentFactoryImpl.java:111)
  while locating com.mathworks.wizard.ui.components.SwingComponentFactoryImpl
  while locating com.mathworks.wizard.ui.components.SwingComponentFactory
    for parameter 1 at com.mathworks.wizard.ui.WizardUIImpl.<init>(WizardUIImpl.java:62)
  while locating com.mathworks.wizard.ui.WizardUIImpl
  while locating com.mathworks.wizard.ui.WizardUI annotated with @com.google.inject.name.Named(value=BaseWizardUI)
  at com.mathworks.wizard.ui.UIModule.provideWizardUI(UIModule.java:50)
  while locating com.mathworks.wizard.ui.WizardUI
    for parameter 0 at com.mathworks.wizard.ExceptionHandlerImpl.<init>(ExceptionHandlerImpl.java:22)
  while locating com.mathworks.wizard.ExceptionHandlerImpl
  while locating com.mathworks.wizard.ExceptionHandler

1 error
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
	at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
	at com.mathworks.wizard.WizardLauncher.startWizard(WizardLauncher.java:156)
	at com.mathworks.wizard.WizardLauncher.start(WizardLauncher.java:71)
	at com.mathworks.wizard.AbstractLauncher.launch(AbstractLauncher.java:27)
	at com.mathworks.wizard.AbstractLauncher.launchStandalone(AbstractLauncher.java:18)
	at com.mathworks.professionalinstaller.Launcher.main(Launcher.java:21)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:106)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:89)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:89)
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:95)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
	at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:84)
	at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
	at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
	at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:84)
	at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
	at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
	at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
	at com.google.inject.Scopes$1$1.get(Scopes.java:54)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:89)
	at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:89)
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:95)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
	at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
	at com.google.inject.Scopes$1$1.get(Scopes.java:54)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
	at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
	at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:84)
	at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
	at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
	at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
	at com.google.inject.Scopes$1$1.get(Scopes.java:54)
	at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
	at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
	at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
	at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
	... 6 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:101)
	... 54 more
Caused by: com.mathworks.instutil.JNIException: java.lang.UnsatisfiedLinkError: /home/*/Dokumente/matlab/tmp/mathworks_2577/bin/glnxa64/libinstutil.so: /home/*/Dokumente/matlab/tmp/mathworks_2577/bin/glnxa64/libinstutil.so: falsche ELF-Klasse: ELFCLASS64 (Possible cause: architecture word width mismatch)
	at com.mathworks.instutil.NativeUtility.loadNativeLibrary(NativeUtility.java:39)
	at com.mathworks.instutil.NativeUtility.<init>(NativeUtility.java:24)
	at com.mathworks.instutil.DisplayPropertiesImpl.<init>(DisplayPropertiesImpl.java:10)
	at com.mathworks.wizard.WizardModule.provideDisplayProperties(WizardModule.java:75)
	... 59 more
Caused by: java.lang.UnsatisfiedLinkError: /home/*/Dokumente/matlab/tmp/mathworks_2577/bin/glnxa64/libinstutil.so: /home/*/Dokumente/matlab/tmp/mathworks_2577/bin/glnxa64/libinstutil.so: falsche ELF-Klasse: ELFCLASS64 (Possible cause: architecture word width mismatch)
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
	at java.lang.Runtime.load0(Runtime.java:809)
	at java.lang.System.load(System.java:1083)
	at com.mathworks.instutil.NativeUtility.loadNativeLibrary(NativeUtility.java:37)
	... 62 more
Finished

Vielleicht hatte ja schonmal jemand dieses Problem und hat eine Lösung gefunden.

Ich bitte um Verständniss fals ich etwas vergessen habe anzugeben, dies ist mein erster Beitrag.

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Hallo und Herzlich Willkommen im Forum,

probier mal die aktuelle Version 2014a.

Ich hab die Details zu Matlab gerade nicht mehr im Kopf, aber warum willst du die 32bit-Version installieren?

Grüße MPW

McTrampiboy

(Themenstarter)

Anmeldungsdatum:
25. April 2014

Beiträge: 5

32 Bit, weil MatLab für Studenten nur die 32 bit Version anbietet. Und ich habe eben nur die Version 2013a.

Außerdem sieht es nicht so aus, als ob sie das Problem bis 2014a gelöst hätten, da es auch bei früheren Versionen, sowohl von ubuntu als auch von MatLab auftritt.

Grüße

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Hallo,

ich habe es gerade mal für dich getestet. Bei mir, Ubuntu 14.04 64bit, installiert die Matlab 2013a-Version ohne Probleme. Meine Uni, WWU in Münster, bietet das über diesen FileInstallationKey an. Oder machst du das über eine Online-Installation? Dazu braucht man meist VPN.

Ich habe diese Java-Version und ganz normal das Standardkommando verwendet:

mpw@Server1:~/R2013a$ java -version
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.6) (7u51-2.4.6-1ubuntu4)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
mpw@Server1:~/R2013a$ sudo ./install 
[sudo] password for mpw: 
Preparing installation files ...
Installing ...
Finished

Mir fällt auf, dass du kein sudo hast. Dann könntest du es höchstens in deinen Home-Ordner installieren. Standardmäßig will Matlab in /usr/local/ installieren, dazu sind root-Rechte erforderlich. Wenn du wirklich eine eingeschränkte Version hast, die irgendwie auf 32bit beschränkt ist, dann müsstest du evtl. mal eine 32bit JVM probieren. Aber das ist rein spekulativ.

Ich kann leider nicht feststellen, ob mein Matlab 32bit oder 64bit ist. Ich wusste auch nicht, dass es das unter Java überhaupt gibt. Aber ich hab auch nur die Studentenversion, und wenn du sagst, dass die Studentenversion immer 32bit hat, werde ich wohl ebenfalls 32bit haben.

Was passiert denn bei dir, wenn du einfach

sudo ./install

ausführst?

Grüße MPW

McTrampiboy

(Themenstarter)

Anmeldungsdatum:
25. April 2014

Beiträge: 5

Meine Uni (Tu Berlin) bietet MatLab leider nicht kostenlos an. Ich habe die Version auf einer vorherigen Version von ubuntu, ich glaube es war 12.04, zum laufen bekommen. Das ist inzwischen ein Jahr her, aber ich bin der Meinung, dass ich es komplett offline gemacht habe, zumindestens war kein VPN dabei. Ich habe es auch gerade ausprobiert, einmal das Lan Kabel gezogen, ergibt die gleiche Fehlermeldung. Daran sollte es also nicht liegen. Auch ausführen mit "sudo" bringt keine Veränderung.

Mit einem 32bit Java habe ich es auch schon probiert. Gleiches Ergebniss.

Ich werde mir mal die neue Version als Testversion holen und schauen ob die Funktioniert. Wenn ja, dann werde ich wohl die 40€ nochmals investieren.

Grüße

McTrampiboy

(Themenstarter)

Anmeldungsdatum:
25. April 2014

Beiträge: 5

Okay, ich habe gerade gesehen, dass Studenten sich die Testversion nicht herrunterladen können. Und auf gut Glück Geld ausgeben ohne zu sehen ob es funktioniert will ich dann eigentlich auch nicht.

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Wenn du gar keine Lizenz hast, verwende doch die freie Alternative Octave.

McTrampiboy

(Themenstarter)

Anmeldungsdatum:
25. April 2014

Beiträge: 5

Darauf wird es wohl hinaus laufen. Auch wenn man mit MatLab deutlich besser arbeiten kann. Ich habe gerade nochmal das ganze installations skript durchgearbeitet, aber keinen ansatz gefunden wie ich den Fehler beheben kann. Ich habe es auch nochmal explizit mit -d32 aufgerufen, aber das hat auch nichts geholfen. Mit Java kenne ich mich leider nicht aus. Wenn nicht noch jemand mit einer einleutenden Idee vorbei kommt werde ich es aufgeben.

Grüße

MPW

Anmeldungsdatum:
4. Januar 2009

Beiträge: 3731

Was passiert denn jetzt, wenn du einfach nur

sudo ./install

ausführst?

Antworten |