Filmulator and Windows

As the installation part is broken, I certainly miss some resources.

The generated makefile.debug seems ok but when executing make install, it fails on copying the qml dir and it deletes the colors.js in the repo.

Could be due to those warnings?

WARNING: desktop.path is not defined: install target not created

WARNING: extra.path is not defined: install target not created

WARNING: desktop.path is not defined: install target not created

WARNING: extra.path is not defined: install target not created

How to define them for windows/Msys2?

A QT Guru should be welcome

Well, the installation stuff is semi-broken on Linux too. I have no idea how to use qmake beyond the bare minimum, and the documentation isn’t very clear.

1 Like

The dev branch has what should be a fix for the centering in the radio buttons. I’m not sure why it ever worked, now that I think about it…

So I got Filmulator to compile in Windows with a lot of effort (msys2 doesn’t set up the environment variables right), and I got it to run without throwing errors by copying a ton of .DLLs into the directory (several hundred megabytes’ worth, thanks Qt), but the GUI doesn’t show up at all and the program exits shortly after launching it.

@gaaned92 How did you get it to launch the UI?

FWIW (and I coincidentally just now finished setting it up again after I lost it in my Ubuntu upgrade) I’m using mxe to cross-compile. Took about an hour to clone their repository and compile the compiler and the supporting packages needed by rawproc. I just now finished making a wininstaller from the mxe-compiled .exe, all on Ubuntu 18.04. I prefer a static build for Windows, and mxe does it the cleanest.

I got the closest with msys2 on a windows box, but lensfun and all the dependencies vexed me. I still do a msys2 compile on my Surface 3, but configured with --disable-lensfun…

Edit: mxe has wxWidgets 3.0.2, but I need 3.1.1, compiled cleanly. Also, their LibRaw version is a bit dated, so I compiled my own copy and installed it in the mxe prefix. Qt is in their packages list, don’t know how current…

I guess you used the msys shell instead of the MINGW64 shell.

QT seems very handy for development but requires a ton of dlls and can also require debug dlls.

My dirty shell

#!/usr/bin/env bash
BD=`echo "$MSYSTEM" | cut -c6-7`
echo $MSYSTEM
echo $BD

#
# recherche du nom de la branche
#
BRANCH=$( cd filmulator ;git rev-parse --abbrev-ref HEAD)
echo $BRANCH

GIT_DESCRIBE=$( cd filmulator ;git describe --tags --always)
echo "version =   " $GIT_DESCRIBE
BUILD_TYPE=release
installdir=/d/PROGRAMMES/filmulator/fminstall
nom="Filmulator_""$BRANCH""_""$GIT_DESCRIBE""_""$BUILD_TYPE""_""$BD"
destination=$installdir/$nom
echo  " installation directory:  "$destination
buildname=$BRANCH"_"$BD
#creation of the specific build/dirname
rm -R -f $destination

rm  -R -f $buildname

if [ ! -d $buildname ]; then
  mkdir $buildname
  cd ./$buildname
  echo  "step qmake  " "$PWD"
 
   qmake PREFIX=$installdir ../filmulator/filmulator-gui
  cd ..
fi

#we go in $buildname where Filmulator is built
cd ./$buildname
echo "$PWD"
make  -j8 
make install
#go back hdrsource
cd ..


robocopy ./$buildname/debug "$destination" filmulator-gui.exe
robocopy ../filmulator/filmulator/filmulator-gui/qml  "$destination"/qml  -e

list="libgomp-1.dll          libwinpthread-1.dll
     libjpeg-8.dll  libjasper-4.dll    libexiv2.dll
          liblcms2-2.dll     Qt5Core.dll libpcre2-16-0.dll
                 Qt5Gui.dll
  Qt5Widgets.dll
libfreetype-6.dll   libicuin*.dll     libpng16-16.dll    zlib1.dll
libgcc_s_seh-1.dll  libicuuc*.dll     libraw_r-16.dll libtiff-5.dll
liblzma-5.dll QT5Networkd.dll libicudt*.dll
libglib-2.0-0.dll   libintl-8.dll      libstdc++-6.dll libjpeg-8.dll
qt5cored.dll qt5guid.dll qt5qmld.dll qt5quickd.dll qt5sqld.dll qt5widgetsd.dll"
echo "$list"
robocopy /MINGW64/bin "$destination" $list

robocopy /MINGW64/share/qt5/plugins/platforms "$destination/platforms" qdirect2d.dll qminimal.dll qoffscreen.dll qwebgl.dll qwindows.dll

Any more progress on this?

Are there any windows binaries out there or working build instructions for msys2?

Unfortunately, I haven’t had the time to work on Windows builds recently.

I might try again soon, this time with static linking of libraries instead of dynamic. From what I understand, that tends to yield better results on Windows.

1 Like

I’ll keep my fingers crossed, thanks.

I will try to help making a Fimulator Windows build

1 Like

@CarVac @heckflosse would it make sense to try adapting the windows cross-compilation environment that I have set-up for RT and PhotoFlow?

It is based on the MSYS2 packages, installed in an Arch Linux docker container, and the cross-compilation is done with mingw-w64.

@Carmelo_DrRaw Let me try to build it first directly on Windows. Well I just tried it. It builds (compiles and links), but the make install command fails. I will check how to fix that, or maybe @gaaned92 knows already and can help.

1 Like

The dev branch compiles with a lot of warnings and links.
I never succeded to have the install step working.
I suspect that filmulator-gui.pro is missing some information for windows build. I tried to hack it with no avail.

@gaaned92 the highlightrecovery branch builds (compiles and links) just fine (though with a lot of warnings) using cmake and make, but make install fails.

Yes it’s about the same as the dev branch.

The first anomaly that happens is this one:

WARNING: desktop.path is not defined: install target not created

WARNING: extra.path is not defined: install target not created

WARNING: desktop.path is not defined: install target not created

WARNING: extra.path is not defined: install target not created

@gaaned92 I get this:

[100%] Built target filmulator
Install the project...
-- Install configuration: "Release"
CMake Error at cmake_install.cmake:36 (file):
  file cannot create directory: C:/Program Files (x86)/Filmulator/bin.  Maybe
  need administrative privileges.


make: *** [Makefile:118: install] Fehler 1

Are you using cmake?

Those look like qmake errors.

@CarVac @gaaned92 @Carmelo_DrRaw Let’s open an issue for the Windows builds on github

3 Likes

https://github.com/CarVac/filmulator-gui/issues/86

Filmulator_highlightrecovery_v0.7.0-167-g784fb8a_release_Windows64.zip
uploaded at
https://keybase.pub/gaaned92/Filmulator

3 Likes