This warning pops up once I try to startup MATLAB 2014b. It is followed by:
«Cannot locate or initialize class
com/mathworks/jmi/OpaqueJavaInterface.
java.lang.NoCassFoundError:
com/mathworks/jmi/OpaqueJavaInterface
Caused by: java.lang.ClassNotFoundException:
com.mathworks.jmi.OpaqueJavaInterface
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)»
I’m not very familiar with MATLAB and am not sure what the root cause of this issue is. I’ve tried to look for the classpath.txt file as well but can only find GPL+CLASSPATH.txt in MATLAB/r2014b/java/jarext/saxon9.notices
Answers (0)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
This warning pops up once I try to startup MATLAB 2014b. It is followed by:
«Cannot locate or initialize class
com/mathworks/jmi/OpaqueJavaInterface.
java.lang.NoCassFoundError:
com/mathworks/jmi/OpaqueJavaInterface
Caused by: java.lang.ClassNotFoundException:
com.mathworks.jmi.OpaqueJavaInterface
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)»
I’m not very familiar with MATLAB and am not sure what the root cause of this issue is. I’ve tried to look for the classpath.txt file as well but can only find GPL+CLASSPATH.txt in MATLAB/r2014b/java/jarext/saxon9.notices
Answers (0)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Последнее обновление: 07/03/2022
[Необходимое время для чтения: ~4–6 мин.]
Файлы TXT, такие как classpath.txt, классифицируются как файлы Текст (Plain Text). Как файл Plain Text он был создан для использования в MATLAB R2009a от компании MathWorks.
Файл classpath.txt впервые был создан 03/14/2009 для ОС Windows 10 в MATLAB R2009a.
По нашим данным, это самая последняя дата выпуска от компании MathWorks.
Продолжайте читать, чтобы найти загрузку правильной версии файла classpath.txt (бесплатно), подробные сведения о файле и порядок устранения неполадок, возникших с файлом TXT.
Что такое сообщения об ошибках classpath.txt?
Общие ошибки выполнения classpath.txt
Ошибки файла classpath.txt часто возникают на этапе запуска MATLAB, но также могут возникать во время работы программы.
Эти типы ошибок TXT также известны как «ошибки выполнения», поскольку они возникают во время выполнения MATLAB. К числу наиболее распространенных ошибок выполнения classpath.txt относятся:
- Не удается найти classpath.txt.
- classpath.txt — ошибка.
- Не удалось загрузить classpath.txt.
- Ошибка при загрузке classpath.txt.
- Не удалось зарегистрировать classpath.txt / Не удается зарегистрировать classpath.txt.
- Ошибка выполнения — classpath.txt.
- Файл classpath.txt отсутствует или поврежден.
Библиотека времени выполнения Microsoft Visual C++
Ошибка выполнения!
Программа: C:Program FilesMATLABR2019btoolboxlocalclasspath.txt
Среда выполнения получила запрос от этого приложения, чтобы прекратить его необычным способом.
Для получения дополнительной информации обратитесь в службу поддержки приложения.
В большинстве случаев причинами ошибок в TXT являются отсутствующие или поврежденные файлы. Файл classpath.txt может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с MATLAB) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла classpath.txt может быть вызвано отключением питания при загрузке MATLAB, сбоем системы при загрузке или сохранении classpath.txt, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.
Как исправить ошибки classpath.txt — 3-шаговое руководство (время выполнения: ~5-15 мин.)
Если вы столкнулись с одним из вышеуказанных сообщений об ошибке, выполните следующие действия по устранению неполадок, чтобы решить проблему classpath.txt. Эти шаги по устранению неполадок перечислены в рекомендуемом порядке выполнения.
Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.
Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):
- Нажмите кнопку «Пуск» в Windows
- В поле поиска введите «Восстановление системы» и нажмите ENTER.
- В результатах поиска найдите и нажмите «Восстановление системы»
- Введите пароль администратора (при необходимости).
- Следуйте инструкциям мастера восстановления системы, чтобы выбрать соответствующую точку восстановления.
- Восстановите компьютер к этому образу резервной копии.
Если на этапе 1 не удается устранить ошибку classpath.txt, перейдите к шагу 2 ниже.
Шаг 2. Если вы недавно установили приложение MATLAB (или схожее программное обеспечение), удалите его, затем попробуйте переустановить MATLAB.
Чтобы удалить программное обеспечение MATLAB, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):
- Нажмите кнопку «Пуск» в Windows
- В поле поиска введите «Удалить» и нажмите ENTER.
- В результатах поиска найдите и нажмите «Установка и удаление программ»
- Найдите запись для MATLAB R2009a и нажмите «Удалить»
- Следуйте указаниям по удалению.
После полного удаления приложения следует перезагрузить ПК и заново установить MATLAB.
Если на этапе 2 также не удается устранить ошибку classpath.txt, перейдите к шагу 3 ниже.
MATLAB R2009a
MathWorks
Шаг 3. Выполните обновление Windows.
Когда первые два шага не устранили проблему, целесообразно запустить Центр обновления Windows. Во многих случаях возникновение сообщений об ошибках classpath.txt может быть вызвано устаревшей операционной системой Windows. Чтобы запустить Центр обновления Windows, выполните следующие простые шаги:
- Нажмите кнопку «Пуск» в Windows
- В поле поиска введите «Обновить» и нажмите ENTER.
- В диалоговом окне Центра обновления Windows нажмите «Проверить наличие обновлений» (или аналогичную кнопку в зависимости от версии Windows)
- Если обновления доступны для загрузки, нажмите «Установить обновления».
- После завершения обновления следует перезагрузить ПК.
Если Центр обновления Windows не смог устранить сообщение об ошибке classpath.txt, перейдите к следующему шагу. Обратите внимание, что этот последний шаг рекомендуется только для продвинутых пользователей ПК.
Если эти шаги не принесут результата: скачайте и замените файл classpath.txt (внимание: для опытных пользователей)
Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла classpath.txt. Мы храним полную базу данных файлов classpath.txt со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии MATLAB . Чтобы загрузить и правильно заменить файл, выполните следующие действия:
- Найдите версию операционной системы Windows в нижеприведенном списке «Загрузить файлы classpath.txt».
- Нажмите соответствующую кнопку «Скачать», чтобы скачать версию файла Windows.
- Скопируйте этот файл в соответствующее расположение папки MATLAB:
Windows 10: C:Program FilesMATLABR2019btoolboxlocal
- Перезагрузите компьютер.
Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.
СОВЕТ ОТ СПЕЦИАЛИСТА: Мы должны подчеркнуть, что переустановка Windows является достаточно длительной и сложной задачей для решения проблем, связанных с classpath.txt. Во избежание потери данных следует убедиться, что перед началом процесса вы создали резервные копии всех важных документов, изображений, установщиков программного обеспечения и других персональных данных. Если вы в настоящее время не создаете резервных копий своих данных, вам необходимо сделать это немедленно.
Скачать файлы classpath.txt (проверено на наличие вредоносного ПО — отсутствие 100 %)
ВНИМАНИЕ! Мы настоятельно не рекомендуем загружать и копировать classpath.txt в соответствующий системный каталог Windows. MathWorks, как правило, не выпускает файлы MATLAB TXT для загрузки, поскольку они входят в состав установщика программного обеспечения. Задача установщика заключается в том, чтобы обеспечить выполнение всех надлежащих проверок перед установкой и размещением classpath.txt и всех других файлов TXT для MATLAB. Неправильно установленный файл TXT может нарушить стабильность работы системы и привести к тому, что программа или операционная система полностью перестанут работать. Действовать с осторожностью.
Файлы, относящиеся к classpath.txt
Файлы TXT, относящиеся к classpath.txt
Имя файла | Описание | Программа (версия) | Размер файла (байты) | Расположение файла |
---|---|---|---|---|
hdf5copyright.txt | Plain Text | MATLAB R2009a | 4752 | C:Program FilesMATLABR2019btoolboxmatlabi… |
vtexfree.txt | Plain Text | MATLAB R2009a | 6265 | C:Program FilesMATLABR2019bsystexlatexbase |
mySpaceDelimTable.txt | Plain Text | MATLAB R2009a | 49 | C:Program FilesMATLABR2019bexamplesmatlab |
miktex.txt | Plain Text | MATLAB R2009a | 3528 | C:Program FilesMATLABR2019bsystexlatexbase |
locale.txt | Plain Text | MATLAB R2009a | 6 | C:Program FilesMATLABR2019bsysg11nzh_CNm… |
Другие файлы, связанные с classpath.txt
Имя файла | Описание | Программа (версия) | Размер файла (байты) | Расположение файла |
---|---|---|---|---|
setupact.log | Log | MATLAB R2009a | 62521 | C:WindowsPantherUnattendGC |
setupact.log | Log | MATLAB R2009a | 26757 | C:WindowsSystem32SysprepPanther |
WmiApRpl.h | C/C++/Objective-C Header | MATLAB R2009a | 3444 | C:WindowsSystem32wbemPerformance |
api-ms-win-core-heap-l… | ApiSet Stub DLL | Microsoft® Windows® Operating System (10.0.15063.468) | 19264 | C:Program FilesMATLABR2019bbinwin64 |
api-ms-win-core-sysinf… | ApiSet Stub DLL | Microsoft® Windows® Operating System (10.0.15063.137) | 19776 | C:Program FilesMATLABR2019bsysjavajrewin… |
Вы скачиваете пробное программное обеспечение. Для разблокировки всех функций программного обеспечения требуется покупка годичной подписки, стоимость которой оставляет 39,95 долл. США. Подписка автоматически возобновляется в конце срока (Подробнее). Нажимая кнопку «Начать загрузку» и устанавливая «Программное обеспечение», я подтверждаю, что я прочитал (-а) и принимаю Лицензионное соглашение и Политику конфиденциальности компании Solvusoft.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
fgeorgatos opened this issue
Apr 22, 2013
· 7 comments
Comments
Hi,
An apparently correctly finishing installation (with 2013a btw!),
has certain issues esp. in relation to java dependencies:
sw@gaia-10:~/uni.lu-customizations$ time eb MATLAB-2013a.eb -f
== temporary log file in case of crash /tmp/easybuild-WHvfB5.log
== resolving dependencies ...
== processing EasyBuild easyconfig /mnt/nfs/users/homedirs/sw/uni.lu-customizations/MATLAB-2013a.eb
== building and installing MATLAB-2013a...
== fetching files...
== creating build dir, resetting environment...
== unpacking...
== patching...
== preparing...
== configuring...
== building...
== testing...
== installing...
== taking care of extensions...
== packaging...
== postprocessing...
== sanity checking...
== cleaning up...
== creating module...
== COMPLETED: Installation ended successfully
==
WARNING: Build exited with exit code 0. 1 possible error(s) were detected in the build logs, please verify the build.
== Results of the build can be found in the log file /opt/apps/HPCBIOS.20130401/software/MATLAB/2013a/easybuild/easybuild-MATLAB-2013a-20130422.143634.log
== Build succeeded for 1 out of 1
== temporary log file /tmp/easybuild-WHvfB5.log has been removed.
real 12m13.477s
user 3m7.508s
sys 1m57.455s
sw@gaia-10:~/uni.lu-customizations$
and that was not really working as it should, complaining with:
fgeorgatos@gaia-10:~$ matlab -c license2.lic -logfile /tmp/matlab.log
Fatal Error on startup: Initialization Error
You may wish to check the logfile: /tmp/matlab.log
fgeorgatos@gaia-10:~$ cat !$
cat /tmp/matlab.log
Warning: Could not read file classpath.txt
A little bit of digging reveals the potential cause, here is the culprit:
(Apr 22, 2013 14:47:02) Installing Product: Symbolic Math Toolbox 5.10
(Apr 22, 2013 14:47:14) java.lang.OutOfMemoryError: Java heap space
at org.apache.commons.compress.archivers.zip.ZipFile.populateFromCentralDirectory(ZipFile.java:324)
at org.apache.commons.compress.archivers.zip.ZipFile.(ZipFile.java:181)
at org.apache.commons.compress.archivers.zip.ZipFile.(ZipFile.java:158)
at org.apache.commons.compress.archivers.zip.ZipFile.(ZipFile.java:119)
at com.mathworks.install.archive.zip.commonscompress.CopyInputStreamToTempZipFileExtractor.extract(CopyInputStreamToTempZipFileExtractor.java:43)
at com.mathworks.install.archive.DecodeArchiveInputStreamExtractor.extract(DecodeArchiveInputStreamExtractor.java:34)
at com.mathworks.install.input.ArchiveComponentSource.extract(ArchiveComponentSource.java:26)
at com.mathworks.install.InstallableComponentImpl.install(InstallableComponentImpl.java:100)
at com.mathworks.install.ComponentInstallerImpl.installComponent(ComponentInstallerImpl.java:98)
at com.mathworks.install.ComponentInstallerImpl.installComponents(ComponentInstallerImpl.java:58)
at com.mathworks.install.ProductInstallerImpl.installProduct(ProductInstallerImpl.java:141)
at com.mathworks.install.ProductInstallerImpl.installProducts(ProductInstallerImpl.java:61)
at com.mathworks.install.InstallerImpl.install(InstallerImpl.java:100)
at com.mathworks.installwizard.model.InstallTask.execute(InstallTask.java:46)
at com.mathworks.installwizard.model.AbstractBackgroundTask.call(AbstractBackgroundTask.java:82)
at com.mathworks.installwizard.model.AbstractBackgroundTask.call(AbstractBackgroundTask.java:26)
at com.mathworks.wizard.worker.WorkerImpl.doInBackground(WorkerImpl.java:24)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
(Apr 22, 2013 14:47:14) Error: The application encountered an unexpected error and needs to close. You may want to try re-installing your product(s). More information can be found at /tmp/mathworks_sw.log
(Apr 22, 2013 14:47:14) Exiting with status -1
(Apr 22, 2013 14:47:14) End - Unsuccessful
Finished
== 2013-04-22 14:47:15,223 main.filetools INFO parseLogError msg: Command used: export _JAVA_OPTIONS="-Xmx128M"; ./install -v -inputFile /dev/shm/MATLAB/2013a/dummy-dummy/my_installer_input.txt
Moreover, the following line in the easyblocks requires -javadir
, otherwise the Java dependency is not picked up during installation time:
cmd = 'export _JAVA_OPTIONS="-Xmx128M"; ./install -v -inputFile %s' % configfile
Furthermore, hardwiring _JAVA_OPTIONS is very problematic, to say the least
Perhaps best long-term approach would be to drive it via easyconfig, in some way.
Investigation still ongoing, will come back to this with more info…
Copy link
Collaborator
Author
The proof for the later (need for -javadir) has been for this side this one:
(Apr 22, 2013 17:09:06) ##################################################################
(Apr 22, 2013 17:09:06) #
(Apr 22, 2013 17:09:06) # Today's Date:
(Apr 22, 2013 17:09:06) Mon Apr 22 17:09:06 CEST 2013
(Apr 22, 2013 17:09:06)
(Apr 22, 2013 17:09:06) System Info
(Apr 22, 2013 17:09:06) OS: Linux 2.6.32-5-amd64
(Apr 22, 2013 17:09:06) Arch: amd64
(Apr 22, 2013 17:09:06) Data Model: 64
(Apr 22, 2013 17:09:06) Language: en
(Apr 22, 2013 17:09:06) Java Vendor: Sun Microsystems Inc.
(Apr 22, 2013 17:09:06) Java Home: /tmp/mathworks_26936/sys/java/jre/glnxa64/jre
(Apr 22, 2013 17:09:06) Java Version: 1.6.0_17
(Apr 22, 2013 17:09:06) Java VM Name: Java HotSpot(TM) 64-Bit Server VM
(Apr 22, 2013 17:09:06) Java Class Path: .
(Apr 22, 2013 17:09:06) User Name: sw
(Apr 22, 2013 17:09:06) Current Directory: /dev/shm/MATLAB/2013a/dummy-dummy/2013a
(Apr 22, 2013 17:09:06) Input arguments:
(Apr 22, 2013 17:09:06) root /dev/shm/MATLAB/2013a/dummy-dummy/2013a
(Apr 22, 2013 17:09:06) tmpdir /tmp/mathworks_26936
(Apr 22, 2013 17:09:06) inputFile /dev/shm/MATLAB/2013a/dummy-dummy/my_installer_input.txt
(Apr 22, 2013 17:09:06) standalone true
(Apr 22, 2013 17:09:06) Input file:
##################################################################
Funnily, the heapmem related value that is picked up instead is: -Xmx512m
:
sw 27312 0.0 0.0 9116 1284 pts/0 S+ 17:34 0:00 | _ /bin/bash -c export _JAVA_OPTIONS="-Xmx128M"; ./install -v -inputFile /dev/shm
sw 27313 0.0 0.0 3960 684 pts/0 S+ 17:34 0:00 | _ /bin/sh ./install -v -inputFile /dev/shm/MATLAB/2013a/dummy-dummy/my_insta
sw 27354 55.5 1.2 729072 307080 pts/0 Sl+ 17:34 0:41 | _ /tmp/mathworks_27313/sys/java/jre/glnxa64/jre/bin/java -Xmx512m -Djava
while the real jre picked up is, the one coming with matlab itself;
Folks, can you confirm what is the case with 2012b?
Could it be divergence across the two versions I’m hitting against?
The answer is important in relation to what kind of patch is the right one for this!
Copy link
Collaborator
Author
So, as part of this issue, fix:
-
Bail out when build is not correct (quick fix: detect classpath.txt; more elaborate fix: inspect errorlevels)
-
Use p7zip so that no intermediary tarball generation step is required, by extracting directly from the .iso:
- hack and beatify https://raw.github.com/fgeorgatos/easybuild.experimental/master/contrib/pkgsrc/20121226/p/p7zip_9.20.1_src_all.eb
make all2
target would provide 7z, then can do:- …/p7zip_9.20.1/bin/7z x …/R2013a_UNIX_MAC.iso
-
Logfiles: «default file output is in user’s home directory», this should be tunable towards
~/.local/matlab_jre
via:
sys/java/jre/glnxa64/jre/lib/logging.properties
-> java.util.logging.FileHandler.pattern = %h/java%u.log -
_JAVA_OPTIONS should be tunable from within easyconfig; also, despite that the Java dependency gets loaded, I can testify that that version is not really picked up by MATLAB neither at build- nor at run-time! Fix via
-javadir
? -
there is one slash too many in the final path, strip it from:
['/sbin']
-
permit preinstallopts, installopts for generality and all-around-hackability
-
copy also file /tmp/mathworks_sw.log because it may hold useful clues as regards failure modes (btw. this is a conflict point if installing multiple versions of MATLAB in parallel, under same user — take a note)
-
consider ways to automate (or not) the passing of variables like
-singleCompThread
as everybody else is doing, so that MATLAB is a bit clueful in a shared system; perhaps provide a generic wrapper script? ref: [1] [2] [3] [4] [5] [6]
Ref: #106 «Ported support for installing MATLAB» # original issue
[1] https://wiki.hpcc.msu.edu/display/Issues/MATLAB+overutilizing+CPUS
[2] https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki?p=HowToRunMatlab
[3] http://www.hpc.maths.unsw.edu.au/tensor/matlab
[4] http://wiki.rac.manchester.ac.uk/community/MatlabWithCondor
[5] http://igrida.gforge.inria.fr/faq.html#how-to-use-matlab
[6] http://www.osc.ox.ac.uk/content/running-matlab
Copy link
Collaborator
Author
The reported error is persisting, even when installing from ramdisk (/dev/shm) to an SSD disk (/tmp),
although the later increases the chances of success.
Interestingly, the exact failure mode varies but it always appears memory related and around the same point, like:
(Apr 23, 2013 16:43:19) Installing Product: Symbolic Math Toolbox 5.10
(Apr 23, 2013 16:43:50) java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.nio.channels.Channels$ReadableByteChannelImpl.read(Unknown Source)
at sun.nio.ch.FileChannelImpl.transferFromArbitraryChannel(Unknown Source)
Yet, we already have some progress on this front:
- Running install with DISPLAY unset, outside of easybuild and with _JAVA_OPTIONS upgraded seem to cure it.
Most likely will track it down.
-
so, sanity_check_step would benefit from an exact check on file
toolbox/local/classpath.txt
-
indeed, the following prototype code seems to do the trick; do we want to make the .iso as the source now?
sources = [
'p7zip_9.20.1_x86_linux_bin.tar.bz2',
('R%s_UNIX_MAC.iso' % version, './p7zip_9.20.1/bin/7z x %s && chmod -R u+wx .'),
]
source_urls = ['http://downloads.sourceforge.net/project/p7zip/p7zip/9.20.1']
…an upcoming PR will address much of this issue… stay on standby.
Copy link
Collaborator
Author
So, question to the experts:
- regardless of tuning style, jre co-bundled with MATLAB is part of the build no matter what, as visible below; I see no knobs to tune it, therefor I suggest to completely let go with Java as dependent module of MATLAB
Agreed? that would kick out a few lines from the installer logic and keep things more tidy.
(and not go against the reproducibility argument, because jre is part of the bundle anyhow)
_JAVA_OPTIONS="-Xmx512m"
is recommended at both install and run-time… comments?
>> ver
-------------------------------------------------------------------------------------------------------
MATLAB Version: 8.1.0.604 (R2013a)
MATLAB License Number: 886910
Operating System: Linux 2.6.32-5-amd64 #1 SMP Fri Feb 15 15:39:52 UTC 2013 x86_64
Java Version: Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
-------------------------------------------------------------------------------------------------------
Wow, a lot is going on here…
I’m OK with dropping the Java dependency if it’s not really needed. Are you sure there no Java dependency at build time either?
Enhancing the sanity check paths to catch the classpath problem you were running into seems like a good idea. Catching problems is what the sanity check is all about.
Hardwiring the -Xmx
value indeed seems like a bad idea, although I’m a bit surprised that 128mb
is proving too high nowadays. Am I missing something?
I know that the step of having to make a tarball is annoying, but we actually don’t get our hands on the ISOs, so that’s why we got around to relying on a manual step to construct the ‘source’ tarball.
I’ll happily accept improvements that make it easier for people to get MATLAB installed, and I’m sure we can get our hands on the original ISO images ourselves too. Do make sure you’re not dragging heaps of cruft along with you in the installation dir though…
I suggest you make PRs (easyblocks/easyconfigs) for the stuff you outlined here, and we go from there. Making it ready for inclusion in v1.4 is going to be difficult though, and let’s not rush things just to get it in.
Copy link
Collaborator
Author
Summary of the upcoming PRs & indirectly replying to Kenneth’s feedback above:
- 176 bugfix matlab #181 # rewire and generalize easyblock
- 176 bugfix contrib matlab 2013a easybuild-easyconfigs#234 # easyconfig for both 2012b & 2013a
- Bail out when build is not correct (quick fix: detect classpath.txt; more elaborate fix: inspect errorlevels)
Done, by explicitly now inspecting for classpath.txt
The incorrect builds were caused by exhausting the heap, which apparently was more probable on slower filesystems (!). Quadrapling the heap via _JAVA_OPTIONS seems to make the error go away; N.B. the error
was manifesting itself in non-deterministic manner, ie. different toolboxes would install at different runs.
- Use p7zip so that no intermediary tarball generation step is required, by extracting directly from the .iso:
7z
does the magic directly form the .iso and, it is employed in the 2013a, for now.
The use of a binary tarball is fully intentional, because a dependency is not available at fetch/extract time
- Logfiles: «default file output is in user’s home directory», this should be tunable towards ~/.local/matlab_jre via:
sys/java/jre/glnxa64/jre/lib/logging.properties -> java.util.logging.FileHandler.pattern = %h/java%u.log
N/A ; ignored for now; doable via patchfile; suggestion for HPC environments: /tmp/%h/java%u.log
- _JAVA_OPTIONS should be tunable from within easyconfig; also, despite that the Java dependency gets loaded, I can testify that that version is not really picked up by MATLAB neither at build- nor at run-time! Fix via -javadir?
OK, tried all the possible alternatives; judicium: drop dependency on Java/1.7 altogether;
It is the cleaner solution of all, because MATLAB provides the JRE on both install & run-time
(in fact, in the later case, there seems to be no non-hack way to modify it)
N.B. -javadir does work when defined at build time, but only that; as such it is pointless to keep.
- there is one slash too many in the final path, strip it from: [‘/sbin’]
Let easybuild do the magic right, by simply creating the directory.
- permit preinstallopts, installopts for generality and all-around-hackability
Done, and makes things much cleaner.
- copy also file /tmp/mathworks_sw.log because it may hold useful clues as regards failure modes (btw. this is a conflict point if installing multiple versions of MATLAB in parallel, under same user — take a note)
N/A; TBD.
- consider ways to automate (or not) the passing of variables like -singleCompThread as everybody else is doing, so that MATLAB is a bit clueful in a shared system; perhaps provide a generic wrapper script?
N/A; this is very desirable feature but out of scope for this issue.
fyi. it relates to HPCBIOS defined variables of the BC_
family:
http://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-98.html
Alas, it requires more elaborate definitions of things like HT, MPI ranks, using parallel etc
Copy link
Collaborator
Author
2 participants