(solved) gentoo: "slimlock: could not load panel image", but image is existing #7

Closed
donSchoe opened this Issue Feb 4, 2012 · 16 comments

Projects

None yet

3 participants

@donSchoe
donSchoe commented Feb 4, 2012

solved: if you come across this issue and you are using gentoo, make sure you emerged imlib2 with useflag "png" enabled. that's it, pretty much. thanks @bryanbickford for pointing that out.


hi joel :)

i just downloaded the latest source 0.10.2, compiling and installing was working just without any problems. (using gentoo @ armv7l dynabook)

but starting the programm fails with the following message:
Slimlock: could not load panel image for theme 'slim-gentoo-simple'

i was looking at the source in panel.cpp and found the piece of code at line 107+
it seems it could not read the panel image indeed. now i added a line to the panel.cpp to print out the panelpng.c_str() variable to find out the full path and to verify the image is missing. well, the path was /usr/share/slim/themes/slim-gentoo-simple/panel.png - the path is correct and the image is existing. but it still tells me it can not be loaded.

btw, the same applies to background image: image is existing, but still can not be loaded.

slim is working without problems and displays correctly. slimlock - no idea what's wrong there....

cheers
donc_oe

Owner

Sounds like it could be a permissions issue. If you installed with make install then slimlock should run as root and will be able to access the file. If not, it will run as you and might not be able to open that image.

If you find out that's not the problem there's another test that would be good to run. The library that opens the image is "imlib2". Try compiling the first example ("A Simple Example") on the imlib2 page http://docs.enlightenment.org/api/imlib2/html/ to see if it is able to open the image file.

Let me know what you find out,
Joel

donSchoe commented Feb 5, 2012

i did make install as root, this shouldn't be any problem.

i can't compile the simple imlib2-example, maybe my imlib2 is not working correctly? it says:
imlib2_convert.c:5:3: error Imlib_Image undeclared ...

Owner

Oh, sorry about that, looks like the example is missing some includes. Try adding this to the top of the file:

#include <Imlib2.h>
#include <string.h>
donSchoe commented Feb 6, 2012

hi, thanks for your support, my c-knowledge is not the best :P
the code is working now. and loading images is not:

image = imlib_load_image(argv[1]); // this seems to fail
if (image) // == false

not sure why. but at this point it seems to be no problem with slimlock at all. if you have any idea what could be wrong with my setup, any hints are welcome :)

cheers
don

edit: sry wrong button

@donSchoe donSchoe closed this Feb 6, 2012
@donSchoe donSchoe reopened this Feb 6, 2012

Hi guys, I was having actually the same exact issue as donShoe, I am also on a gentoo box. It turns out that all you need to do is add png to your use flags and then re-emerge imlib2. Hopefully this will help someone out there!

@bryanbickford thanks, reemerging with useflag "png" solved the problem.

edit: closed, as this issue is imlib2-related and slimlock is working fine.

@donSchoe donSchoe closed this Feb 26, 2012
Owner

@bryanbickford is there a way to make that work automatically? I don't know anything about Gentoo, btw.

use flags are making gentoo pretty powerful concerning the fine-tuning of installed software. there is no automated way, afaik. you might want to add a line to your readme, like:

Requirements and Building
Gentoo users: make sure the use flags "png" and "jpg" are enabled for imlib2.

thanks for bringing up slimlock btw, it's exactly what i was looking for all the time :)

@joelburget if someone create's an ebuild for slimlock and pushes it upstream to gentoo's portage, then it would be included in gentoo's package manager and anyone could just type "emerge slimlock" and it would compile from source, linking all the dependencies.

The beauty of doing an ebuild is that you can add a required use flag dependency for imlib2, then if you go to install it, it will prompt you to add the png dependency for imlib2, and it will re-install imlib2 with png support.

I am still fairly new to gentoo so i don't know all the ins and outs of ebuilds, but i am 100% sure that you can make one just like i described.

There are a few ebuild's for slimlock already out there i believe, it should be a matter of adding one or two lines to the .ebuild file.

If I get a little bit of time coming up I will look into it.

Owner

There's this if you haven't seen it https://bugs.gentoo.org/show_bug.cgi?id=366405

perfect, just have them add "media-libs/imlib2[png]" to the dependancies section of the ebuild.
right now they are missing the [png] section.

Owner

@bryanbickford do you happen to have an account on gentoo.org? If you don't mind could you upload a new ebuild? I don't want to mess it up.

i created an ebuild for slimlock-0.11 adding the use flags to the dependencies.
https://bugs.gentoo.org/show_bug.cgi?id=366405#c15

i added "png" and "jpeg" as panel.cpp seems to use jpgs as a fallback if no png can be found.

Owner

@donSchoe thanks :)

@joelburget hey, the ebuild got accepted and slimlock is now available in portage for gentoo. http://packages.gentoo.org/package/x11-misc/slimlock :)

Owner

That's awesome! Glad to see it will be easy for Gentoo users to install.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment