[Wine] JVM 7 fails to start

Martin Gregorie martin at gregorie.org
Fri Dec 30 06:06:45 CST 2011


On Fri, 2011-12-30 at 04:55 -0600, bobul wrote:

> > So now my problem is with the application, that it cannot find the jre
> > when starting(it is started by .exe file) - the jre is located in one
> > subfolder but it still cannot be found :-\
> > 
> > 
> How does the app know where Java is installed (in a .INI file, the
> registry, hard-coded into the program or what)?
> [/quote]
> 
> You're right, there is a config file, which states the relative path to the jre the app uses (it brings it's own version with it) - looks like
> 
> Code:
> <launcherConfig>
>   <jvmParams
>     jvmPath="./jre"
> 	jars="./lib"
> 	userConfigPath=""
> 	jvmOptions="-Xmx512m;-XX:PermSize=64m;-XX:MaxPermSize=160m;-XX:+DisableExplicitGC;-Dsun.java2d.d3d=false"
> 	AutomaticMemoryManagement="true" />
> </launcherConfig>
> 
> 
> 
> So, could there be a problem with a relative path to JVM?
> 
This looks like you have tripped over a difference between the way
programs are written for Windows and Linux: a Linux program expects the
current directory to be the one containing the data and that it will be
loaded and run by searching $PATH for the executable while Windows
programs expect that the current directory contains themselves and that
they will be passed an absolute or relative path to the data they are
expected to use. This means that almost all Windows apps must be run
like this:

	cd $WINEPREFIX/path/to/directory/holding/the/executable
	wine theapp.exe

In your case NOT doing this means that .jre and .lib will treated as
relative to the directory you issued the command in, probably $HOME, and
so the the program won't be able to find them. Doing the initial 'cd'
makes the current directory the one containing the program, so .jre
and .lib will be relative to the program's location and hence they will
point to where the program expects them to point.

It rather looks as though you didn't do that. So, try it. If it doesn't
work, post the result of running 
	ls -l . ./jre ./lib

in the directory containing the exe that wine starts. If there's much in
those directories, i.e. there's more than 30 lines or so of output,
please put it in pastebin, the temporary storage website, and post a
link here.


Martin





More information about the wine-users mailing list