Summary: | media-tv/xbmc-10.0 cannot start, Unable to find path to XBMC data files! | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Marios Andreopoulos <opensource> |
Component: | Current packages | Assignee: | Gentoo Xbox project <xbox> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
equery -f xbmc strace xbmc strace /usr/lib64/xbmc/xbmc.bin proper build.log |
Description
Marios Andreopoulos
2010-12-28 12:36:12 UTC
Is that line the whole output ? Also attach build log. Created attachment 258274 [details]
build.log
The whole output is this: ~ $ xbmc ** Message: pygobject_register_sinkfunc is deprecated (GtkWindow) ** Message: pygobject_register_sinkfunc is deprecated (GtkInvisible) ** Message: pygobject_register_sinkfunc is deprecated (GtkObject) Unable to find path to XBMC data files! ~ $ But the first three lines were there from the previous versions and doesn't cause any problems. OK, now 'equery f xbmc' to see if/where the files were installed. Then perhaps strace on xbmc to see where is it looking for those files (unless xbmc has a switch to produce more debug output). Created attachment 258286 [details]
equery -f xbmc
Created attachment 258287 [details]
strace xbmc
I re-emerged it with FEATURES="nostrip" USE="debug" just in case.
I attached equery f xbmc and strace xbmc.
I can't see any problem so I wonder if it is due to a dependency or a use flag. Anyone else with this problem?
Comment on attachment 258287 [details]
strace xbmc
this strace isnt terribly useful as you've straced the bash script and not actually xbmc itself. you'd need to use the -f option to strace to do that. or simply do `strace /usr/lib64/xbmc/xbmc.bin`
make sure you dont have XBMC_HOME set in your env to something bogus Created attachment 258339 [details] strace /usr/lib64/xbmc/xbmc.bin Thanks for the help. I attached the new strace output as you suggested. The missing directory seems to be: /usr/lib/xbmc/language I found this but I'm not sure what I should do to the ebuild: http://forum.xbmc.org/showthread.php?t=81179 I tried a "ln -s /usr/share/xbmc/language /usr/lib/xbmc/language" to see what happens. Xbmc starts but it never loads, the screen stays black. After killing it I get a message that may suggest that it looks for other files in /usr/lib/xbmc too: /usr/bin/xbmc: line 133: 19688 Terminated "$LIBDIR/xbmc/xbmc.bin" $SAVED_ARGS I checked my environment and it doesn't have any xbmc variables. Also I unmerged xbmc and searched for any stray files from previous installations but I couldn't find anything (did a "locate -i xbmc" with a recently update locate database). Comment on attachment 258274 [details]
build.log
i dont know why, but you added "-s" to your MAKEOPTS which makes this log useless. please rebuild xbmc without that and post the new full build log.
Created attachment 258429 [details]
proper build.log
Thanks again for the help, especially since this problem seems to be specific to my system.
By calling XBMC like this: XBMC_HOME=/usr/share/xbmc/ xbmc It works fine. It is strange though as I can't find any variable that sets XBMC_HOME to /usr/lib/xbmc/ I am ok with this workaround, so you can close the bug if you want. I'll give an update if I find the cause of this problem. the hardcoded paths look correct: -DBIN_INSTALL_PATH="\"/usr/lib64/xbmc\"" -DINSTALL_PATH="\"/usr/share/xbmc\"" on the off chance it's a compiler bug, you could use -O2 instead of -Os. seems a bit odd to use -Os on a desktop x86_64 system especially when you're installing huge packages like xbmc. looking through the xbmc code, it checks $XBMC_HOME and if that isnt set, it falls back to INSTALL_PATH which defaults to /usr/share/xbmc. you dont have any funky files in /usr/local/include do you ? I tried -O2 but the problem remains. I use -Os because despite having 4GiB of RAM, it gets full easily. It doesn't make much difference though. I can't rule out funky files and maybe this is the problem. Some years ago I had installed xbmc from an overlay. But for the last couple years the portage version worked fine. I don't have a /usr/local/include directory and a search for stray files containing xbmc in their path didn't yield any results. I don't know any other way to find flunky files (which may exist from other ebuilds and not xbmc ones). Running env, or doing a grep in /etc/env.d doesn't reveal any XBMC related variables. Thanks again for the help! Happy new year! sorry, but i'm out of ideas. at this point, if you want to track down the issue, you'll want to emerge xbmc with debugging symbols: CFLAGS='-O0 -g' CXXFLAGS='-O0 -g' FEATURES=splitdebug emerge xbmc then run `gdb /usr/lib64/xbmc/xbmc.bin`. set a break point on CUtil::GetHomePath and CApplication::InitDirectoriesLinux and figure out where your funky paths are coming from. There is no problem at all! You already helped more than I expected! I tried gdb (it also needed the nostrip flag in FEATURES to work properly) but I don't have any experience with it, so I couldn't find the problem (breaks didn't return directories/variables) but it doesn't matter since we found the workaround. I learned many new things from this bug report! Thanks again! |