Deployment troubleshooting » History » Version 8
Chris Cannam, 2014-02-27 11:50 AM
1 | 1 | Chris Cannam | h1. Deployment troubleshooting |
---|---|---|---|
2 | 1 | Chris Cannam | |
3 | 3 | Chris Cannam | h4. What versions of Java and Tomcat do I need? |
4 | 3 | Chris Cannam | |
5 | 6 | Chris Cannam | The current MATLAB Compiler Runtime needs Java 7. |
6 | 6 | Chris Cannam | |
7 | 7 | Chris Cannam | We also used Tomcat 7 in our testing. You'll need to make sure that Tomcat is using Java 7 if there is more than one version installed -- e.g. on Ubuntu that means editing JAVA_HOME in /etc/default/tomcat7. |
8 | 3 | Chris Cannam | |
9 | 1 | Chris Cannam | h4. Can't find servlet-api.jar |
10 | 1 | Chris Cannam | |
11 | 1 | Chris Cannam | This should appear in a Tomcat installation directory -- you need to make sure you build the webapp against the same version of the servlet API as you will be deploying it against (i.e the same Tomcat installation). |
12 | 1 | Chris Cannam | |
13 | 2 | Chris Cannam | Sometimes this file is installed with a different name, e.g. on Ubuntu you may find it in /usr/share/java/tomcat-servlet-api-3.0.jar. You should rename it when you copy it. |
14 | 3 | Chris Cannam | |
15 | 3 | Chris Cannam | h4. Tomcat manager URL asks for username and password, but I don't know what they are |
16 | 3 | Chris Cannam | |
17 | 3 | Chris Cannam | The default roles are set up in a Tomcat config file, something like /etc/tomcat7/tomcat-users.xml. If no user is defined with the manager-gui role, you will need to add one, e.g. by adding to the middle of the file: |
18 | 3 | Chris Cannam | |
19 | 3 | Chris Cannam | <pre> |
20 | 4 | Chris Cannam | <role rolename="manager-gui"/> |
21 | 4 | Chris Cannam | <role rolename="manager-script"/> |
22 | 4 | Chris Cannam | <user username="admin" password="admin" roles="manager-gui,manager-script"/> |
23 | 3 | Chris Cannam | </pre> |
24 | 3 | Chris Cannam | |
25 | 3 | Chris Cannam | But note that you should give the role a sensible password, not just admin. |
26 | 5 | Chris Cannam | |
27 | 5 | Chris Cannam | h4. Tomcat manager refuses to start application |
28 | 5 | Chris Cannam | |
29 | 5 | Chris Cannam | Showing a message such as |
30 | 5 | Chris Cannam | |
31 | 5 | Chris Cannam | <pre> |
32 | 5 | Chris Cannam | FAIL - Application at context path /echoapp could not be started |
33 | 5 | Chris Cannam | </pre> |
34 | 5 | Chris Cannam | |
35 | 5 | Chris Cannam | with very little extra information. Try searching the Tomcat log (catalina.out) for the text "Unsupported major.minor version" -- if you see this, then that means your application was compiled with a newer version of Java than the one Tomcat is using. Best to make sure you have only one version of Java (6 or 7) installed. |
36 | 8 | Chris Cannam | |
37 | 8 | Chris Cannam | h4. Could not initialize class com.mathworks.toolbox.javabuilder.internal.MWMCR |
38 | 8 | Chris Cannam | |
39 | 8 | Chris Cannam | This message in the Tomcat logs probably means that the LD_LIBRARY_PATH variable hasn't been set correctly. You need to copy the LD_LIBRARY_PATH as shown at the end of the MCR installation process into the Tomcat initialisation scripts. |
40 | 8 | Chris Cannam | |
41 | 8 | Chris Cannam | On Linux this usually means you will have a file called setenv.sh in the same directory as the Tomcat startup.sh, catalina.sh and so on, and it will contain |
42 | 8 | Chris Cannam | |
43 | 8 | Chris Cannam | </pre> |
44 | 8 | Chris Cannam | export LD_LIBRARY_PATH=<the full path as indicated by the MCR installer> |
45 | 8 | Chris Cannam | </pre> |
46 | 8 | Chris Cannam | |
47 | 8 | Chris Cannam | h4. Could not access the MCR component cache |
48 | 8 | Chris Cannam | |
49 | 8 | Chris Cannam | This error in the Tomcat logs means that the MATLAB compiler runtime is trying to write to a cache directory it doesn't have access to. This may mean that the MCR was installed for use by a different user from the Tomcat one rather than in a global installation. |
50 | 8 | Chris Cannam | |
51 | 8 | Chris Cannam | To fix this, you can set a dedicated cache directory: add a line to the Tomcat setenv.sh script saying something like |
52 | 8 | Chris Cannam | |
53 | 8 | Chris Cannam | <pre> |
54 | 8 | Chris Cannam | export MCR_CACHE_ROOT=/tmp/mcr-cache |
55 | 8 | Chris Cannam | </pre> |
56 | 8 | Chris Cannam | |
57 | 8 | Chris Cannam | Make sure the path you specify exists and is writable by the Tomcat user. |