After setting up the program ,I meet a fatal error on Startup matlab .As following :
Failed to start the Java Virtual machine - JNI error: -3
I want to know where is error and how to solve it .Please help me ,Thanks !
PS: My OS is windows 7 (32bit) ,and jdk 1.8(32bit) is set up successfully (Certainly PATH and CLASSPATH is set OK).
When you launch the application, does that error display in a dialog box, or within the MATLAB console? Does MATLAB launch if you use the '-nojvm' flag (in your shortcut path or from within a Command Prompt window)? If not, does it launch if you use a '-nodisplay' flag?
Definitely make sure you don't have a 'matlab_java' environment variable set, and if you are able to launch MATLAB, you should run the following commands:
>> rehash toolboxcache;
>> restoredefaultpath;
>> savepath;
After running the commands, restart MATLAB. When MATLAB launches, do you still see the error?
If you aren't able to get MATLAB to run, can you look within your %temp% directory for an error log? I don't recall the specific naming convention, but you should be able to find it based on it's timestamp.
Hope this helps, and if it doesn't, try calling the MathWorks Installation and Licensing team. As long as you have a real license, they'll help you.
Disclaimer: I'm a former member of the recommended team above, but have no current affiliation with MathWorks.
Related
I do research in oil simulation, I normally use a simulator called Eclipse from a company called Schlumberger and I was able to use it from my scripts from Matlab using the following command.
% file name 'ICFM.DATA';
system(['eclrun',' eclipse ', C:Path\ICFM.DATA]); % Command to run ECLIPSE
Now I had installed a new Free simulator (OPM.org) in linux and I am using Octave for programming. but I am unable to find out how to run simulator from Octave.
The simulator can be run simply by writing
flow ICFM.DATA
and the results using a command
ecl_summary ICFM.DATA
I want to be able to run and get the results from with in Octave but I have not being able as in Matlab.
Any suggestions? someone?
Assuming both the flow and ecl_summary commands are on your system path (i.e. the "linux" path, not in octave), then it should simply be a matter of:
system('flow /my/path/to/ICFM.DATA');
system('ecl_summary /my/path/to/ICFM.DATA');
(where you should change /my/path/to with whatever path your data file is in).
I found that I am able to run the simulation using the syntaxes
unix('flow ICFM.DATA')
This is in Matlab R2017b for Ubuntu 16.04
Initially I got an error as the output was reporting:
....'GLIBCXX_3.4.21' not found
All the problem was due to a Matlab issue that was solved using the answer on
https://askubuntu.com/questions/719028/version-glibcxx-3-4-21-not-found
which was to type:
LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" matlab
on the terminal.
I am currently trying to setup the windows real-time kernel in Matlab r2013b, but the command rtwintgt -setup is giving me an error. I have read the following link and confirmed that I do have admin access and my license includes Real-Time Windows Target. rtwintgt install
My error is as follows:
``
rtwintgt -setup
There is a different version of the Real-Time Windows Target kernel installed.
Do you want to update to the current version? [y] : y
> Error using rtwintgt>ErrorDialog (line 363) Installer error: "Failed
> to copy the kernel to Windows system folder. The process cannot access
> the file because it is being used by another process.".
>
> Error in rtwintgt>RunInstaller (line 280) ErrorDialog(prompt,
> message('rtwin:installer:installererror', errmsg));
>
> Error in rtwintgt>rtwt_setup (line 119) result = RunInstaller(prompt,
> 'install');
>
> Error in rtwintgt (line 68) retval = feval(subfn, prompt);
From the line, "The process cannot access the file because it is being used by another process," I can understand that there is another program interrupting the file retrieval, but I do not know what program. I have tried ending as many tasks as I could and have restarted my computer . Any help would be much appreciated, as I am trying to get this to work for a project.
I had the same problem and I managed to find a solution.
The errors were most likely caused by a previously installed/uninstalled version of MATLAB which is different from your currently installed version.
According to the MathWorks website, uninstalling the MATLAB environment does not uninstall the Simulink Desktop Real-Time kernel.
Open your MATLAB command window and type "rtwho".
If you see two different Real-Time versions, there lies the problem.
To solve the problem,
Uninstall the Real-Time kernel version associated with the previous/uninstalled MATLAB environment by typing "sldrtkernel -uninstall" in the command window. If it doesn't work in the MATLAB command window like I experienced, type it in the Windows Run Dialog.
If uninstalled successfully, you should see the message "The Simulink Desktop Real-Time kernel uninstalled successfully."
Go back to the MATLAB command window and install the kernel using the command "sldrtkernel -install".
You should get the message, "You are going to install the Simulink Desktop Real-Time kernel.
Do you want to proceed? [y] :"
Type "y" to continue the installation, and on successful completion, you should get the message, "The Simulink Desktop Real-Time kernel has been successfully installed."
This should solve the problem.
N/B: You can enter the "rtwho" command in the MATLAB command window afterwards to confirm that there is only one Real-Time version.
I hope this helps.
See this link for more:
https://www.mathworks.com/help/sldrt/ug/real-time-windows-target-kernel.html
I encountered a very strange problem when using the SYSTEM function to call an executable file from Matlab.
First, I can run the executable file in a window console with no problem. However, when I call system(foo.exe) in Matlab, it does nothing but return the status value -1.0737e+09, and it does not throw any warnings or errors.
I am using Matlab R2009b on a 32-bit windows system and the executable file depends on OpenCV2.40.
The system path variable definitely include all the required lib directories. I also tried adding the relevant paths in the LD_LIBRARY_PATH, and copying the dlls in the working directory. These attempts do not change anything.
I also tried calling SYSTEM('cmd') from Matlab, and running the executable in the invoked window console. It gave me no response, either. It seems like the running environment of the console called from Matlab is different from the original window console.
Running the same code on a different machine in Matlab is successful.
I had this exact same problem. It turned out I simply needed to restart Matlab. I had not restarted Matlab after installing OpenCV2.1.
I have problems running a program compiled with MCC that uses parfor. The non-compiled .m version works (no bug). When I run the compiled version, I get
"distcomp.remoteparfor" is undefined. I believe I exactly have the error described in
the following link.
http://www.mathworks.com/support/solutions/en/data/1-PAHWE/index.html?product=CO&solution=1-PAHWE
However, since MCR is not installed on my machine (got Matlab and MCC),
I am wondering what the pathes $APPNAME_mcr/java/jar/toolbox and
$MCR/MATLAB Component Runtime/v70/java/jar/toolbox correspond to. I found
the distcomp.jar file in C:\Program Files\MATLAB\R2011b\java\jar\toolbox, but I don't know where to put it since see any path corresponding to $MCR/MATLAB Component Runtime/v70/java/jar/toolbox since MCR is not installed.
Thanks a lot!
Fred
No need to install the MCR if you are simply trying to run the application on the same machine that has MATLAB. The question to ask is, HOW are you launching the compiled application? From a DOS command window? From within MATLAB using the SYSTEM command?
If you are launching the application from a DOS / UNIX command line, then the important thing to keep in mind is that the MATLAB binaries need to be on your system path i.e. just make sure:
$MATLABROOT\bin\$ARCH
is on your system path. Where $MATLABROOT is the matlab installation folder, and $ARCH is your system architecture. For example:
c:\work\matlab\bin\win64
on my machine since my installation folder which contains MATLAB is:
c:\work
and i am on a win64 machine.
The problem is solved. The solution is to make the program
a function instead of a script :
http://www.mathworks.com/matlabcentral/answers/22825-parfor-errors-when-file-is-compiled
There is a similar question from stackoverflow. But I didn't find that the answer is helpful. I also used Google searched the websites, I have watched here and here.
I have tried the method they told to solve this problem but not got a satisfied answer.
My operating system is 32-bit Window 7. Noncircle.dll is generated by Matlab version 2010a in another machine which installed Matlab. I tried to add Noncircle.dll as a reference in a project written in C#(I didn't install Matlab on my computer), but Visual-Studio 2010 told me the error:
So I doubt that Noncircle.dll maybe have to be registered. So I put Noncircle.dll in C:\Windows\System32 and started Cmd.exe as a administrator and typed:
regsvr32 Noncircle.dll
Then I got an error:
"The module "Noncircle.dll" failed to load.Make sure the binary is sorted at the
specified path or debug it to check for problems with the binary or depenedent
.DLL files.The specified module coudl not be found."
Could you give me some hints, Thanks in advance!
Updated on 2012/10/18
But if I have installed Matlab version 2010a on my machine, this problem is solved.
I just had the same issue.
If you're running 64-bit Windows and you've placed the 32-bit DLL in Windows\System32\ then it'll give you this error.
Simply place the DLL into Windows\SysWOW64\ and register it from there.
Here's where I found the fix:
http://csi-windows.com/blog/all/73-windows-64-bit/378-fixing-qregsvr32-the-module-failed-to-load-the-specified-module-could-not-be-foundq
First of all try to use RegDllView, to see whether there is actually a COM server registered in the system.
Also check whether this DLL is a COM component.
I know its too late... but I am adding my solution for others because I faced the same error after following above mentioned answers:
"I just had the same issue.
If you're running 64-bit Windows and you've placed the 32-bit DLL in Windows\System32\ then it'll give you this error.
Simply place the DLL into Windows\SysWOW64\ and register it from there."
If you are facing same error after placing DDL to SysWOW64, then you need to turn on MSMQ feature.
Go to Start ->
Search "Turn Windows features on or off" ->
Find "Microsoft Message Queue(MSMQ) Server" and Enable it.
Now, register the same DLL again and this time it will be registered