Help for testing latest PhotoFlow version (particularly on Windows)

Thanks for testing! I made a new package, with some additional checks and console outputs. This should allow to more easily identify the buggy piece of code.

If this new version crashes again, could you please send me the corresponding console messages (not the gdb backtrace), to see where exactly the code has failed?

THANKS!!

With the same scenario. Thanks !
Fail20170315-3.txt (234.6 KB)

Unfortunately, the new log file does not provide more informations… here is what I propose:

  • run the 20170315 version without gdb, and redirect the output to a log file: photoflow.exe > log.txt, and then send me the log.txt file after the crash

  • get the latest version I prepared this morning, which is compiled with debugging symbols (that’s why the package is twice as big), run it through gdb.exe and send me the backtrace, which this time should show the exact line number at which the crash occurs…

THANKS!!!

I’m trying to install PF under the last Debian.
PPA doesn’t work (apt-get update fails).
And I’m stuck with the build script at VIPS step (I’ve got the version 7.x but 8.x is required).
Any suggestions ? Thanks !

redirect the output to a log file: photoflow.exe > log.txt

log.txt (168.6 KB)

I have no idea what is happening with the PPA… I will reach the maintainer to see if we can help.

Have you tried with the PhotoFlow/build/build_all.sh script? It should also automatically download and compile the git version of libvips, and compile photoflow against it.
The script was exactly meant for compiling photoflow on systems that do not provide a recent enough version of VIPS…

run it through gdb.exe and send me the backtrace

Fail20170316.txt (123.9 KB)
But … that doesn’t fail at the same time. The previous scenario the failure occurs during the calculation on the third image. This time it fails just when I open the second one.

The problem is definitely memory allocation… it seems that the program is not able to allocate enough memory for the second or third image:

Saving raw data to buffer...
Raw buffer allocated: 0

There is a pointer to a temporary memory buffer that is NULL, i.e. the memory cannot be allocated.

I think this is due to the fact that my windows executable is 32 bits, but I cannot exclude a memory leak somewhere, as I don’t expect the memory allocation to be so large as to hit the limit of 32 bit executables.

Until this is not solved, you will be limited to only one opened image…

Thanks!

Yah … that makes progress :slight_smile:
But I still have a lot to learn, sorry if my issues are stupid things… Thanks for your help !

I still have some missing packages :

– package ‘fftw3>=3.0’ not found
CMake Error at /usr/share/cmake-3.0/Modules/FindPkgConfig.cmake:341 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.0/Modules/FindPkgConfig.cmake:395 (_pkg_check_modules_internal)
CMakeLists.txt:36 (pkg_check_modules)
– checking for module ‘libxml-2.0’
– package ‘libxml-2.0’ not found
CMake Error at /usr/share/cmake-3.0/Modules/FindPkgConfig.cmake:341 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.0/Modules/FindPkgConfig.cmake:395 (_pkg_check_modules_internal)
CMakeLists.txt:38 (pkg_check_modules)
– checking for module ‘libexif’
– found libexif, version 0.6.21
– Could NOT find Exiv2 (missing: EXIV2_LIBRARY EXIV2_INCLUDE_DIR) (Required is at least version “0.12”)
– checking for module ‘gexiv2’
– package ‘gexiv2’ not found
CMake Error at /usr/share/cmake-3.0/Modules/FindPkgConfig.cmake:341 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.0/Modules/FindPkgConfig.cmake:395 (_pkg_check_modules_internal)
CMakeLists.txt:44 (pkg_check_modules)

and the build ends failing:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
EXIV2_LIBRARY (ADVANCED)
linked by target “pfbatch” in directory /home/weyland/PhotoFlow/src
linked by target “photoflow” in directory /home/weyland/PhotoFlow/src
– Configuring incomplete, errors occurred!

While it seems the package are there:

$ dpkg -l |grep ‘fftw3|libxml2|libexif|exiv2’
ii exiv2 0.24-4.1 amd64 EXIF/IPTC metadata manipulation tool
ii libexif-dev 0.6.21-2 amd64 library to parse EXIF files (development files)
ii libexif12:amd64 0.6.21-2 amd64 library to parse EXIF files
ii libexiv2-13:amd64 0.24-4.1 amd64 EXIF/IPTC metadata manipulation library
ii libfftw3-3:amd64 3.3.4-2 amd64 Library for computing Fast Fourier Transforms
ii libfftw3-double3:amd64 3.3.4-2 amd64 Library for computing Fast Fourier Transforms - Double precision
ii libfftw3-long3:amd64 3.3.4-2 amd64 Library for computing Fast Fourier Transforms - Long precision
ii libfftw3-single3:amd64 3.3.4-2 amd64 Library for computing Fast Fourier Transforms - Single precision
ii libxml-libxml-perl 2.0116+dfsg-1+deb8u1 amd64 Perl interface to the libxml2 library
ii libxml2:amd64 2.9.1+dfsg1-5+deb8u4 amd64 GNOME XML library
ii libxml2-utils 2.9.1+dfsg1-5+deb8u4 amd64 XML utilities
ii python-libxml2 2.9.1+dfsg1-5+deb8u4 amd64 Python bindings for the GNOME XML library
ii python-lxml 3.4.0-1 amd64 pythonic binding for the libxml2 and libxslt libraries

Don’t worry, we have all been learning at the beginning… and the issue here seems to be actually quite simple: you need to install the *-devpackages, like you already did for libexif-dev.

The normal packages contain the runtime libraries, but they do not provide the header files needed to compile other programs against such libraries…

Hope this helps!

Thank you for encouraging, I continue then :-)… and sometimes also lib*-dev …
Going further:

In file included from /home/weyland/PhotoFlow/src/external/rawspeed/RawSpeed/AriDecoder.cpp:1:0:
/home/weyland/PhotoFlow/src/external/rawspeed/RawSpeed/StdAfx.h:109:23: fatal error: pugixml.hpp: Aucun fichier ou dossier de ce type
#include “pugixml.hpp”
^
compilation terminated.

The only not found notice is about 'gimp-2.0>=2.9.0'. I’ve not found any other error. What should I look for ?

Just install the libpugixml-dev package… I have not yet found a reliable way of testing for it’s presence in the cmake configuration, that’s why cmake did not complain.

On my machine windows is 64 bits… could that interfere ?

Normally not… a 64 bit system should be able to run 32 bit applications, while the opposite is not true.

Anyhow, using wine under Linux I was able to reproduce the crash when a second or third image is opened, so I can now work on a fix.

Building PhotoFlow finished with return code 0. :slight_smile: !
But:

~/PhotoFlow/build$ ./Release/bin/photoflow
./Release/bin/photoflow: error while loading shared libraries: libvips.so.42: cannot open shared object file: No such file or directory

Try with

LD_LIBRARY_PATH=$(pwd)/VIPS/Release/lib:$LD_LIBRARY_PATH ./Release/bin/photoflow

Thanks ! That works with LD_LIBRARY_PATH definition (under console).
And I can open more than 3 images :slight_smile:
I’ve made a try with a photoflow.desktop file for Gnome, but it doesn’t like … is there a way to make it permanent ?
What is the path for the PF icon ?

The official icon can be found under

icons/photoflow.png

in the sources tree.

I am not really an expert of gnome desktop files, unfortunately…

PPAs are for Ubuntu, not Debian!

PF starts and I can open images but on the console I’ve these messages:

Gtk-Message: Failed to load module “canberra-gtk-module”
stat_result=0
(photoflow:5039): Gtk-WARNING **: Impossible de trouver le moteur de thème dans module_path : « murrine »

EDIT: probably why the layout is not the dark one:

EDIT2: Solved with:

sudo apt-get install libcanberra-gtk-module
sudo apt-get install gtk2-engines-murrine

I’ve found the icons (different sizes) here: $HOME/PhotoFlow/data/pixmaps