lmi
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]