Gource icon indicating copy to clipboard operation
Gource copied to clipboard

failed to load resource '/usr/local/share/gource/file.png' (homebrew)

Open letatas opened this issue 8 years ago • 19 comments

Hello,

I'm fighting with some problem here, and I really don't know where it comes from.

I'm running OSX Yosemite v10.10.5 and the problem exists with at least three versions of gource, 0.43 via homebrew, 0.43_1 also via homebrew, and the 0.44 freshly built directly from github.

When I try to launch gource, I'm facing this error message: gource: failed to load resource '/usr/local/share/gource/file.png'

When I look at the dependencies, nothing seems wrong:

➜  Gource git:(master) otool -L /usr/local/bin/gource                       
/usr/local/bin/gource:
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
    /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
    /Users/.../homebrew/lib/libfreetype.6.dylib (compatibility version 19.0.0, current version 19.0.0)
    /Users/.../homebrew/lib/libpcre.1.dylib (compatibility version 4.0.0, current version 4.5.0)
    /Users/.../homebrew/lib/libGLEW.1.12.0.dylib (compatibility version 1.12.0, current version 1.12.0)
    /Users/.../homebrew/lib/libSDL2_image-2.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
    /Users/.../homebrew/lib/libSDL2-2.0.0.dylib (compatibility version 3.0.0, current version 3.1.0)
    /Users/.../homebrew/lib/libpng16.16.dylib (compatibility version 35.0.0, current version 35.0.0)
    /Users/.../homebrew/opt/boost/lib/libboost_system.dylib (compatibility version 0.0.0, current version 0.0.0)
    /Users/.../homebrew/opt/boost/lib/libboost_filesystem.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)

Any idea?

Thanks in advance.

PS: Of course the file /usr/local/share/gource/file.png exists and is the good one.

letatas avatar Nov 04 '15 21:11 letatas

Maybe try uninstalling and reinstalling libpng, sdl2, sdl2_image packages, then reinstall gource. Also check the file permissions on /usr/local/share/gource/ and file.png are readable by your user.

You could put some debug in src/core/texture.cpp TextureResource::load(bool reload) to see why it is failing. If IMG_Load() is failing to return a surface then it is maybe a problem with your sdl2_image (or file permissions, or something).

acaudwell avatar Nov 04 '15 23:11 acaudwell

The same issue here, tried recompile from sources, head, and dev, the same error

vi4m avatar Feb 18 '16 17:02 vi4m

Hey, encountered same error, uninstalled libpng, sdl2, sdl2_image packages and refreshed the install of using homebrew, no luck.

[06:25 PM | grizzly] $ gource gource: failed to load resource '/opt/boxen/homebrew/Cellar/gource/0.43_3/share/gource/file.png'

lsseckman avatar Feb 23 '16 00:02 lsseckman

Same issue here, tried to uninstall sdl2, sdl2_image and libpng packages, no luck (too).

zurbo avatar Apr 26 '16 18:04 zurbo

I installed via brew install gource and this is happening for me as well.

gardner avatar Aug 06 '16 14:08 gardner

bug still here

neolectron avatar Aug 11 '16 01:08 neolectron

Does gource use any structures in libpng which were removed ie. during the shift to latest 1.6.x branch? Just wondering. Gource's file INSTALL suggests having a libpng12 and what I reckoned, from there onwards, PNG library project page says that there's been changes in ie. removing direct access to "internals" like some PNG's structs. Seems a bit similar as: http://stackoverflow.com/questions/21472958/sdl-image-img-load-fails-on-png

jpaulin avatar Aug 15 '16 06:08 jpaulin

I'm experiencing this as well. Any updates on this, or anything we can give you to help you resolve this issue? I've had the same result with a version installed from apt-get (Ubuntu), as well as installing every dependency manually and then compiling Gource from source.

lesteenman avatar Nov 08 '16 22:11 lesteenman

Gource uses SDL2_image library to load pngs. Presumably the SDL2_image IMG_Load() function in texture.cpp is failing to load the image. It could be a problem with that library or how Gource uses it (e.g. something wrong with configure.ac).

acaudwell avatar Nov 10 '16 04:11 acaudwell

For what it's worth: The path is correct, the file is a working PNG, and 777 permissions do not solve it.

Edit: Would an strace log help?

Inspecting with GDB shows that it is the IMG_Load call that's the issue, returning '0'. Haven't found any further clues. Both SDL 1.2 and SDL 2 seem to cause the same issue.

lesteenman avatar Nov 10 '16 11:11 lesteenman

I manually compiled and installed SDL2 from their website, and that has seemed to resolve it!

https://www.libsdl.org/projects/SDL_image/

lesteenman avatar Nov 10 '16 12:11 lesteenman

Yeah !!! At last !

Thank you, it works here also !

Le 10 nov. 2016 à 13:38, Erik [email protected] a écrit :

I manually compiled and installed SDL2 from their website, and that has seemed to resolve it!

https://www.libsdl.org/projects/SDL_image/ https://www.libsdl.org/projects/SDL_image/ — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/acaudwell/Gource/issues/43#issuecomment-259679754, or mute the thread https://github.com/notifications/unsubscribe-auth/AAZNGXdWFB7YohJV9CnMQH5uaTxlpJXhks5q8xA8gaJpZM4GcHLl.

letatas avatar Nov 10 '16 13:11 letatas

On Windows go into gource folder and open the folder named data and look for a file named file.png. If it is not there replace it with the file.png from the gource repository.

jehovahsays avatar Nov 18 '16 19:11 jehovahsays

This problems still occurs with gource 0.44 installed via homebrew. Is there any chance that this will get solved at any point?

snhrdt avatar Feb 08 '17 13:02 snhrdt

lesteenman comment implies to me its a problem with the SDL2_image package in homebrew.

acaudwell avatar Feb 10 '17 09:02 acaudwell

Same problem still here (on Windows 10)

Wintermute79 avatar Feb 07 '18 12:02 Wintermute79

Had the same problem with a standard image. It worked when I converted my image to RGB - 8 bits/channel

Pontesegger avatar Aug 16 '19 09:08 Pontesegger

@Pontesegger's fix worked for me as well. It appears that whatever library gource is using to read PNG files on macOS doesn't like 8-bit grayscale PNGs. Converting them to 8bit RGB fixes the problem.

bhaller avatar Apr 21 '21 22:04 bhaller

I just re-saved all the PNG images and re-commited them: https://github.com/acaudwell/Gource/commit/56b7b306ae4f0515a437af0a728d5d6739bc8c3e

I'm curious if this fixes the issue.

You could copy them into /usr/local/share/gource/ or install it with brew install gource --HEAD

acaudwell avatar Feb 03 '22 01:02 acaudwell