On Thu, 9 Jun 2016 16:53:03 -0700 Tim Bird <tbird...@gmail.com> said:
> Hi EFL devs... > > I am a newbie to EFL development. I'm trying to write a little test > program for EFL, and wanted to test out elemines as an example of some of > the techniques. > However, I ran into some problems. > > I am running EFL 17 on Ubuntu 14.04. I cloned elemines from > https://git.enlightenment.org/games/elemines.git > and was able to get it built. > > 1) - path to libetrophy error > When I try to run it, I got the following error message: > elemines: error while loading shared libraries: libetrophy.so.0: cannot > open shared object file: No such file or directory > > During the build, I figured out I needed etrophy, and built and installed > the shared > library for that. They etrophy libraries ended up in /usr/local/lib > > I can work around this using 'export LD_LIBRARY_PATH=/usr/local/lib', > before running elemines. > > 2) missing some elementary config > When I run elemines (with the right library path), I get a warning from the > program: > > ERR<27210>:eio lib/eio/eio_monitor.c:339 eio_monitor_stringshared_add() > monitored path '/home/CORPUSERS/10102229/.elementary/config/standard' not > found. well home/CORPUSERS/10102229 is either your $HOME or if that isnt set/found then getpwent is finding it from the passwd database... it's looking for your elm config there... > I don't have the enlightenment window manager installed (to my knowledge). > I'm not sure what is being looked for here, has nothing to do with e the wm. it's elm's config directory in your home dir. depending on compilation options elm will either use ~/.elementary or ~/.config/elementary ... (the first is default since toolkits have used ~/.toolkitname stuff for a long long time). you have an interesting home directory i have to say... mr. corpuser # 10102229. :) so all that will not work here is that it wont pick up new config changes as you have no existing config for your user... until you do have it. elm's config loader literally mkpath'd that dir tho on startup (in _elm_config_sub_init()) so it should have been there even if empty ... have you somehow forbidden your elm apps from writing to there? making that dir path? there is just one place where we add a monitor for that dir were the dir isn't mkpath'd before .. but that should be long after the above init func so it should be created. i'll add another mkpath there... but maybe the issue is permissioning? > but the warning is a bit disconcerting. I can make the warning go away by > creating the directory > ~/.elementary/config/standard, but I'm worried that something is supposed > to be there that's not. well it's wanting to monitor that for changes in case you bring up the elementary_config tool (yes - it's rough and needs work) and change config - all apps monitor your config files for changes and re-load/update if changes happen. > 3) Segmentation fault > This is the most serious problem. elemines gets a segmentation fault when > I do the first mouse click in the > game grid. > > I debugged the program a bit and found that there's a sscanf on a string > used to map the mouse click to > the game grid. Here's the sscanf: > sscanf(source, "board[%i,%i]:overlay", &x, &y); > > but here's the value of the 'source' string used with it: > board[item_0x7fff8daa2c60{7,2}]:overlay well that scanf wont work with that string... but how can that scanf crash. it must be somewhere else... > this is in the routine _click() in src/game.c > Note that there's no error handling for the sscanf. However, the string > clearly is not what's expected. > > In another part of the program, there's this line, which seems to specify > the string for the > mouse click grid mapping. > > edje_object_signal_callback_add(edje, "mouse,clicked,*", > "board\\[*\\]:overlay", _click, NULL); > > It appears that elemines expects the coordinates from the specified string > inside the > brackets (I'm guessing that's what the * is for in the string. However, I > don't know > where this 'item_0x7fff8daa2c60{..}' is coming from. i assume this is some issue inside elemines the app in how its handling board data - writing it or parsing it. but how does it crash? jerome is the author so he's the place to go there (i'd dig but i have enough to do atm. :)). > Is there something from edje that's missing, to have the mouse click string > come out properly? nope. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel