[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi] wxmsw-2.9.0 (svn trunk) anomaly
From: |
Greg Chicares |
Subject: |
[lmi] wxmsw-2.9.0 (svn trunk) anomaly |
Date: |
Mon, 23 Feb 2009 19:32:58 +0000 |
User-agent: |
Thunderbird 2.0.0.19 (Windows/20081209) |
Might there be a wx-2.8.9 --> 2.9.0 change in the way XRC resource
files are located and loaded--specifically, for absolute instead of
relative paths?
I've rebuilt lmi with this wx snapshot:
ftp://ftp.wxwidgets.org/pub/Daily_HEAD/files/wxWidgets-2009-02-23.tar.bz2
Compiling and linking seem to work just fine, but when I try to
run lmi in my usual manner:
- from Cygwin zsh
- in the '/opt/lmi/bin' directory where the program is installed
- program: './lmi_wx_shared'
- with argument '--data_path=/opt/lmi/data')
- with a secret trapdoor argument that we never write in public
(but you can figure it out if you grep for 'durbatulûk')
- thus: './lmi_wx_shared --figure_it_out --data_path=/opt/lmi/data'
I get:
18:34:25 PM: Can not enumerate files 'opt\lmi\data\skin.xrc' \
(error 3: the system cannot find the path specified.)
18:34:25 PM: Cannot load resources from '/opt/lmi/data/skin.xrc'.
Note that the msw filepath on the first line is relative: it does
not begin with a forward or backward slash.
I'm using lmi HEAD. Using wx-2.8.9, everything worked as expected.
I changed nothing else before building the wx snapshot and then
remaking lmi to reflect the wx changes.
I tried copying the XRC file where I guessed it might be sought:
cd /opt/lmi/data
mkdir -p opt/lmi/data/
cd opt/lmi/data/
cp ../../../skin.xrc .
and got a different messagebox at first:
Unable to load xml resources.
[file /lmi/src/lmi/main_wx.cpp, line 615]
but then the first set of error messages quoted above popped up
again. (Line 615 is an error trap for line 613, where lmi calls
WXXRC's Load() function.)
I tried "--data_path='/opt/lmi/data'", but got the same result:
quoting the path doesn't help.
I tried '--data_path=//opt/lmi/data' (double slash), but that gave:
Data directory '//opt/lmi/data' not found.
[file /lmi/src/lmi/path_utility.cpp, line 359]
However '--data_path=../../../opt/lmi/data' seems to work, but
only if I use the trapdoor argument; otherwise, "nothing" seems
to happen, and I have to kill the process. By "nothing", I mean
that the 'lmi_wx_shared' process appears in msw "task manager",
but just sits there consuming no resources; the GUI does not
appear; and no messagebox pops up.
And that last invocation works even after I remove the bogus
/opt/lmi/data/opt/lmi/data/
that I had created a few steps above.
I've set mounts so that these designate the same directory:
/opt/lmi/data/ [Cygwin]
C:\opt\lmi\data\ [msw native]
and I'm using the MinGW compiler, which does not recognize
Cygwin's filesystem anyway.
- [lmi] wxmsw-2.9.0 (svn trunk) anomaly,
Greg Chicares <=