Bug 365125

Summary: Win64 version cannot start
Product: [Applications] digikam Reporter: Alexandre Alapetite <alexandre>
Component: Bundle-WindowsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: alexandre, caulier.gilles, guyrutenberg, heart1010, hugo.costelha, mbbdisposable-questions, metzpinguin, norbert2007q1, pascale-hullmann, patrick, sommerluk
Priority: NOR    
Version: 5.0.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 5.1.0
Attachments: Error message + DebugView
ProcessExplorer log
Dependency Walker log

Description Alexandre Alapetite 2016-07-05 20:31:10 UTC
I have just tried http://download.kde.org/stable/digikam/digiKam-5.0.0-Win64.exe on Windows 10 64-bit, French locale
* The installer suggests by default to install in `C:\Program Files (x86)\` instead of the expected `C:\Program Files`. I kept the default settings.
* After installation, digiKam does not start (error code 0xc000007b - which seems to be an error code when there is a mismatch between x86 and x64)

Reproducible: Always

Steps to Reproduce:
1. Install http://download.kde.org/stable/digikam/digiKam-5.0.0-Win64.exe on Windows 10 64-bit with default settings
2. Pass Windows SmartScreen message saying that this installer is not known (unknown publisher)
3. Start digiKam 5.0

Actual Results:  
digiKam 5.0 x64 fails to start.
Only one line in debugView: "Suspending"

Expected Results:  
Application should start

The 32-bit version seems to work fine http://download.kde.org/stable/digikam/digiKam-5.0.0-Win32.exe
I have tried to uninstall and re-install the 64-bit version (second time without SmartScreen message, but still with the same problem)
Comment 1 Alexandre Alapetite 2016-07-05 20:31:55 UTC
Created attachment 99868 [details]
Error message + DebugView
Comment 2 Alexandre Alapetite 2016-07-05 20:32:54 UTC
Created attachment 99870 [details]
ProcessExplorer log

Log of process activity before crash
Comment 3 Alexandre Alapetite 2016-07-05 20:47:14 UTC
I have just tried on another computer under Windows 10 64-bit English, with same bug.
Furtermore, `Showphoto.exe` also has the same crash at startup
Comment 4 caulier.gilles 2016-07-06 04:17:25 UTC
This is strange because 64 bits version work few day ago.

The process to cross compile 64 bits is the same than 32 bits. We use MXE cross compiling environment under Linux 
Both are compiled in separated repository to be sure than nothing is merged between 32 and 64 bits. Perhaps a bugs have been introduced in dll interdependencies scan.

I will start a new 64 bits build from scratch and check.

Gilles Caulier
Comment 5 heart1010 2016-07-06 09:40:31 UTC
I have exactly the same startup error (Win 10, 64bit)
Comment 6 caulier.gilles 2016-07-06 10:33:08 UTC
Git commit 6d0b3fb37160c1cb19f5c54da95c4ab8878778b9 by Gilles Caulier.
Committed on 06/07/2016 at 10:32.
Pushed by cgilles into branch 'master'.

fix install path unde Windows 64 bits

M  +8    -11   project/mxe/installer/digikam.nsi

http://commits.kde.org/scratch/mwiesweg/digikam-sc/6d0b3fb37160c1cb19f5c54da95c4ab8878778b9
Comment 7 caulier.gilles 2016-07-06 10:34:04 UTC
Git commit e8329ccce83cb5e7ef184ddb3a42abd4f7a48092 by Gilles Caulier.
Committed on 06/07/2016 at 10:33.
Pushed by cgilles into branch 'master'.

pass Windows architecture to NSIS installer script

M  +3    -1    project/mxe/04-build-installer.sh

http://commits.kde.org/scratch/mwiesweg/digikam-sc/e8329ccce83cb5e7ef184ddb3a42abd4f7a48092
Comment 8 caulier.gilles 2016-07-06 16:05:42 UTC
New build of Windows 64 bits installer.

https://drive.google.com/open?id=0B7yq-xFihT0_MVBzOW9jZFA2NE0

Please try and lets me hear.

Note : My Windows 7 64 bits is out. So i cannot test here.

Gilles Caulier
Comment 9 Maik Qualmann 2016-07-06 16:27:56 UTC
The destination directory in the installer GUI is wrong (C:\PROGRAMFILES64\digikam.
It must C:\PROGRAM FILES\digikam. After manual selection digiKam runs.

Maik
Comment 10 caulier.gilles 2016-07-06 16:44:03 UTC
Git commit d7a2e5a85b5c176c28437c1d7f5b6a6229f1868f by Gilles Caulier.
Committed on 06/07/2016 at 16:43.
Pushed by cgilles into branch 'master'.

fix install path due to a typo in variable

M  +1    -1    project/mxe/installer/digikam.nsi

http://commits.kde.org/scratch/mwiesweg/digikam-sc/d7a2e5a85b5c176c28437c1d7f5b6a6229f1868f
Comment 11 caulier.gilles 2016-07-06 17:07:52 UTC
Thanks Maik.

I will rebuild installer tomorrow morning with release ID 5.0.1

Gilles caulier
Comment 12 pascale-hullmann 2016-07-06 18:08:11 UTC
No Installer for Win64 5.0.1 on Main Site yet. Got same Bug every time starting 5.0.
Comment 13 caulier.gilles 2016-07-06 18:13:00 UTC
Maik, 

You install on Win7 or 8 or 10  64 bits ?

To all others, which  Windows 64 bits version do you use exactly ?

Gilles Caulier
Comment 14 pascale-hullmann 2016-07-06 18:16:36 UTC
I am using Windows 10 Home 64-bit. 

P.
Comment 15 Maik Qualmann 2016-07-06 18:20:19 UTC
I have a VirtualBox with Windows7 (64 bits).

Maik
Comment 16 caulier.gilles 2016-07-06 18:30:29 UTC
Pascale,

As install path is wrong with both version of 64 bits installer, take a care to uninstall it before to re-install.

Do you tried to run it in compatibility mode ?

Gilles Caulier
Comment 17 pascale-hullmann 2016-07-06 19:05:10 UTC
Yeah tried both.
Comment 18 caulier.gilles 2016-07-07 07:13:16 UTC
So, if i resume :

Win7 64 bits : work fine.
Win8 64 bits : ???
Win10 64 bits : doesn't work.

I'm fine ?

Gilles Caulier
Comment 19 caulier.gilles 2016-07-07 07:24:04 UTC
64 bits installer updated with install path fixed :

https://drive.google.com/open?id=0B7yq-xFihT0_MVBzOW9jZFA2NE0

Please check...

Gilles Caulier
Comment 20 Patrick van Elk 2016-07-07 07:53:33 UTC
This installer WFM!
(Windows 10 64 bit OS)
Comment 21 caulier.gilles 2016-07-07 08:05:46 UTC
>This installer WFM!

Sorry ?

Gilles Caulier
Comment 22 Patrick van Elk 2016-07-07 08:08:40 UTC
Sorry "Works For Me" :-)
Comment 23 caulier.gilles 2016-07-07 08:27:41 UTC
Ah thanks Patrick,

I just tested here with a Windows 7 64 bits with all fresh updates, and installer + application start properly.

Gilles Caulier
Comment 24 Lukas Sommer 2016-07-07 09:36:51 UTC
It does not work for me.

Tried with the latest installer at https://drive.google.com/open?id=0B7yq-xFihT0_MVBzOW9jZFA2NE0 under Windows 10, 64 bit.

The install procedure starts correctly, but after reaching 100%, the installer window does not close, but does not react anymore. I have to close it with the task manager.

When starting digikam it blocks my start menu bar and the hole computer during about a minute. After a minute, I can continue to work. But the digikam does not appear on the screen. (The process is neverthelass running, as I can see in the task manager.)

However, showfoto works.

The uninstaller does not work (does nothing).
Comment 25 caulier.gilles 2016-07-07 09:48:18 UTC
Lukas,

At end of install, Windows register base is patch with digiKam version, path, etc information, for future uninstall. It's sound like the process cannot be completed properly.

- Do you have an anti-virus installed and enabled ?
- Can you try to run installer with administrator rights ?

Note : here under Win7, i need to setup Anti-virus to add an exception about DK installer and to run it as admin.

Gilles Caulier
Comment 26 caulier.gilles 2016-07-07 11:16:50 UTC
Installer is now moved to another shared GDrive repository :

https://drive.google.com/folderview?id=0BzeiVr-byqt5c0VpbTEtVGwzanc&usp=sharing

Gilles Caulier
Comment 27 pascale-hullmann 2016-07-07 15:54:49 UTC
Thanks! Your Installer worked. 

P.
Comment 28 caulier.gilles 2016-07-07 17:59:26 UTC
Maik,

In repository :

https://drive.google.com/folderview?id=0BzeiVr-byqt5c0VpbTEtVGwzanc&usp=sharing

I add the new win32 installer using new install path rules. Can you check if the default place is right. thanks in advance

Gilles
Comment 29 Maik Qualmann 2016-07-07 18:24:06 UTC
The 32 bits installer will install in C:\Program Files\digikam. I think if a 64 bits Windows available the Installer should suggest C:\Program Files (x86)\digikam. But digikam runs.

Maik
Comment 30 caulier.gilles 2016-07-07 20:20:17 UTC
Arf... It must go to PF(x86) directory... So the NSIS documentation is wrong.... I will fix it

Gilles Caulier
Comment 31 MBB 2016-07-07 21:49:14 UTC
I used the x32 installer on Win 10 x64 home, and it installed just fine to 
C:\Program Files (x86)\digiKam 
I can't remember if it did so itself or if it was corrected by windows, but it worked just fine. 
If you want I can re-install to check, but then I need to un-install first. 

FYI, I can not install the x64 alongside the x32 either, only one Digikam may be installed at once. Probably better for the database anyway, but not sure if it is intentional.
Comment 32 caulier.gilles 2016-07-08 12:10:37 UTC
New versions of Windows installers are now online in download area :

http://download.kde.org/stable/digikam/digiKam-5.0.0-1-Win64.exe.mirrorlist 
http://download.kde.org/stable/digikam/digiKam-5.0.0-1-Win32.exe.mirrorlist

I close this file now.

Gilles Caulier
Comment 33 Hugo Costelha 2016-07-08 13:27:28 UTC
Hi. I have just installed the 64-bit in Windows 10 (digikam 5.0.0-1), and get the same "0xc000007b" error as described in the first post.
Comment 34 caulier.gilles 2016-07-08 15:42:39 UTC
Hugo,

Do you have something like "Microsoft Visual C++... Redistributable ..." installed on your system ? Look in Control Panel for details...

Gilles Caulier
Comment 35 caulier.gilles 2016-07-08 15:43:51 UTC
On users ML, Guy Rutenberg report this message :

"I tried installing digikam 5.0 on 64bit Windows 10 using the Win64 installer. Installation went smoothly, however when I try to launch digikam I get the following errror:

The application was unable to start correctly (0x000007b). Click OK to close the application.

I tried having a look using Dependency Walker, and it seems some DLLs are missing. Can it be missing  DLLs form the Microsoft Visual C++ Redistributable Package? But which version?"

Gilles Caulier
Comment 36 caulier.gilles 2016-07-08 15:45:18 UTC
As digiKam is now cross compiled, we don't use Mi$ Visual C++ to compile, but MXE/MinGW under Linux. Typically the M$ Visual C++ shared libs are not used, but i'm not sure to 100%

Gilles Caulier
Comment 37 Maik Qualmann 2016-07-08 16:25:16 UTC
I had a Windows10 64 bits system shortly available. I had the same error message. I could short examine it only. The SQLite DB driver reports an out of memory error. The same Installer runs on Windows7 64 bits without any problems.

Maik
Comment 38 Guy 2016-07-08 17:13:23 UTC
Created attachment 99952 [details]
Dependency Walker log

Dependency Walker log detailing missing DLLs.
Comment 39 caulier.gilles 2016-07-08 18:09:29 UTC
I'm not 100% sure but googling about missing dlls reported to Dependency Walker log sound relevant of this missing update under Windows 10 :

https://support.microsoft.com/en-us/kb/2999226

At least, this update is present on my Windows 7...

Gilles Caulier
Comment 40 Hugo Costelha 2016-07-08 18:36:03 UTC
(In reply to caulier.gilles from comment #34)
> Hugo,
> 
> Do you have something like "Microsoft Visual C++... Redistributable ..."
> installed on your system ? Look in Control Panel for details...
> 
> Gilles Caulier

Yes, I hav a bunch of "Microsoft Visual C++... Redistributable ..." installed (2005, 2008, 2010, 2012, 2013, 2015).

Hugo Costelha
Comment 41 Norbert Schulze 2016-07-08 20:05:44 UTC
I have the same error with the new 64-bit installer. What I can see is that there are 64-bit and 32-bit dlls mixed. I'm not an expert, but is this allowed?

These are the 32-bit dlls in the 64-bit installer:
icudt56.dll
icuin56.dll
icuuc56.dll
libastro.dll
libbz2.dll
libdbus-1-3.dll
libdigikamcore.dll
libdigikamdatabase.dll
libdigikamgui.dll
libeay32.dll
libexiv2-14.dll
libexpat-1.dll
libfreetype-6.dll
libgcc_s_sjlj-1.dll
libglib-2.dll0-0.dll
libgmp-10.dll
libgnurx-0.dll
libgnutls-30.dll
libgomp-1.dll
libHalf-12.dll
libharfbuzz-0.dll
libhogweed-4-2.dll
libiconv-2.dll
libidn-11.dll
libIex-2_2-12.dll
libIlmImf-2_2-22.dll
libIlmThread-2_2-12.dll
libintl-8.dll
libjasper-1.dll
libjpeg-9.dll
libKF5Archive.dll
libKF5Auth.dll
libKF5Bookmarks.dll
libKF5Codecs.dll
libKF5ConfigCore.dll
libKF5ConfigGui.dll
libKF5ConfigWidgets.dll
libKF5CoreAddons.dll
libKF5Crash.dll
libKF5DBusAddons.dll
libKF5GlobalAccel.dll
libKF5GuiAddons.dll
libKF5I18n.dll
libKF5IconThemes.dll
libKF5ItemViews.dll
libKF5Kipi.dll
libKF5kipiplugins.dll
libKF5MediaWiki.dll
libKF5Service.dll
libKF5Solid.dll
libKF5ThreadWeaver.dll
libKF5WidgetsAddons.dll
libKF5WindowSystem.dll
libKF5XmlGui.dll
liblcms2-2.dll
liblensfun.dll
liblzma-5.dll
libmarblewidget-qt5.dll
libmman.dll
libmng-2.dll
libmysqlclient.dll
libnettle-6-2.dll
libopencv_calib3d.dll
libopencv_contrib.dll
libopencv_core.dll
libopencv_features2d.dll
libopencv_flann.dll
libopencv_highgui.dll
libopencv_imgproc.dll
libopencv_ml.dll
libopencv_objdetect.dll
libopencv_video.dll
libpcre-1.dll
libpcre16-0.dll
libpng16-16.dll
libpq.dll
libreadline6.dll
libsqlite3-0.dll
libstdc++-6.dll
libsybdb-5.dll
libtermcap.dll
libtiff-5.dll
libwebp-5.dll
libwebpdemux-1.dll
libwinpthread-1.dll
libxml2-2.dll
libxslt-1.dll
Qt53DCore.dll
Qt53DExtras.dll
Qt53DInput.dll
Qt53DLogic.dll
Qt53DRender.dll
Qt5Concurrent.dll
Qt5Core.dll
Qt5DBus.dll
Qt5Gamepad.dll
Qt5Gui.dll
Qt5Location.dll
Qt5Multimedia.dll
Qt5MultimediaWidgets.dll
Qt5Network.dll
Qt5OpenGL.dll
Qt5Positioning.dll
Qt5PrintSupport.dll
Qt5Qml.dll
Qt5Quick.dll
Qt5Script.dll
Qt5Sensors.dll
Qt5SerialBus.dll
Qt5SerialPort.dll
Qt5Sql.dll
Qt5Svg.dll
Qt5WebChannel.dll
Qt5WebKit.dll
Qt5WebKitWidgets.dll
Qt5Widgets.dll
Qt5Xml.dll
Qt5XmlPatterns.dll
ssleay32.dll
zlib1.dll
Comment 42 Norbert Schulze 2016-07-08 21:38:18 UTC
The installer from https://drive.google.com/open?id=0B7yq-xFihT0_MVBzOW9jZFA2NE0 works,
but the installer from http://download.kde.org/stable/digikam/digiKam-5.0.0-1-Win64.exe has the mixed 32-bit / 64-bit dlls.
Regards, Norbert
Comment 43 caulier.gilles 2016-07-09 07:54:34 UTC
The 64 bist installer is compiled with MXE under a dedicated bundle directory.

32 bits version is compiled in a separated bunde dir. Nothing is mixed.

I suspect a problem into MXE...

Gilles Caulier
Comment 44 caulier.gilles 2016-07-09 09:16:57 UTC
I think i find the bug.

It's in Python script which collect shared dlls used by a binary file.

On top of script (line 42) we set pathes where dlls can be found (default_path_prefixes) :

https://quickgit.kde.org/?p=digikam-software-compilation.git&a=blob&f=project%2Fmxe%2Frll.py

As both win32 and win64 are computed in parallel, you can imagine the possible mix. The problem must not touch the 32 bits as 32 bits paths are in first on the list, but with 64 bits...

Gilles Caulier
Comment 45 caulier.gilles 2016-07-09 09:50:00 UTC
Git commit 5522bf6707a745e8a1bfc712a19aa99654fba6b6 by Gilles Caulier.
Committed on 09/07/2016 at 09:48.
Pushed by cgilles into branch 'master'.

pass the path to current MXE intall prefix to Python script use to collect dlls. This must prevent mix of 32 and 64 bits dlls with 64 bits installer.

M  +2    -2    project/mxe/04-build-installer.sh
M  +1    -1    project/mxe/config.sh
M  +13   -9    project/mxe/rll.py

http://commits.kde.org/scratch/mwiesweg/digikam-sc/5522bf6707a745e8a1bfc712a19aa99654fba6b6
Comment 46 caulier.gilles 2016-07-09 09:51:14 UTC
New digiKam 5.0.0-2 64 bits installer :

https://drive.google.com/open?id=0BzeiVr-byqt5S2Izd1ZkMTA1dnM

Please install and report if all is fine now...

Gilles Caulier
Comment 47 Alexandre Alapetite 2016-07-09 10:39:21 UTC
Thanks for the fast reaction, @Gilles.
The installer https://drive.google.com/open?id=0BzeiVr-byqt5S2Izd1ZkMTA1dnM forks fine for me (Windows 10 x64): the installer defaults to the proper install location, and digiKam starts without crash, as well as Showfoto.
Comment 48 caulier.gilles 2016-07-09 10:46:56 UTC
Thanks for the report.

In the same way, just to verify, i build 32 bits installer :

https://drive.google.com/open?id=0BzeiVr-byqt5V3dtLTNKTjUwQmM

Please test and report. If all is fine i will upload new installers to download area.

Gilles Caulier
Comment 49 Alexandre Alapetite 2016-07-09 12:08:04 UTC
With the installer https://drive.google.com/open?id=0BzeiVr-byqt5V3dtLTNKTjUwQmM both digiKam and Showfoto start fine in 32-bit, but the installer defaults to "C:\Program Files\digiKam\" which is the path for 64-bit software.

Just for the record:
%ProgramFiles% ==> C:\Program Files\
%ProgramFiles(x86)% ==> C:\Program Files (x86)\
Comment 50 caulier.gilles 2016-07-09 12:31:04 UTC
The install path is selected by NSIS installer depending of window architecture. Look line 100 of NSIS script :

https://quickgit.kde.org/?p=digikam-software-compilation.git&a=blob&h=b084e410223a76887423337a7e9ae9487ed84ed3&hb=deaf44067a31158e5f0cb4a5a29f7ca26135bc49&f=project%2Fmxe%2Finstaller%2Fdigikam.nsi#l100

Here, with my Windows 7 32 bits the install path is really  C:\Program Files\, not C:\Program Files (x86)\. This last path do not exist on the system.

Gilles Caulier
Comment 51 Alexandre Alapetite 2016-07-09 13:12:54 UTC
Ok, the logic is not fully correct: it should account for the actual content of the installer. One can install both x86 and x64 software on a 64-bit platform.
Comment 52 caulier.gilles 2016-07-09 14:43:26 UTC
Git commit 00051f231e82379ca680c3bd2d1eb8b8901cfa73 by Gilles Caulier.
Committed on 09/07/2016 at 14:42.
Pushed by cgilles into branch 'master'.

check if 64 bits installer will be installed on 32 bits system. If yes, go out with an error message.

M  +1    -1    project/mxe/04-build-installer.sh
M  +14   -2    project/mxe/installer/digikam.nsi

http://commits.kde.org/scratch/mwiesweg/digikam-sc/00051f231e82379ca680c3bd2d1eb8b8901cfa73
Comment 53 Alain Goossens 2016-07-10 04:50:20 UTC
FYI
Running: Win10 64bit French

The installer 5.0.0-1 published on http://download.kde.org/stable/digikam/ gives the 0x...7b error
The installer 5.0.0 published on google drive is working fine
The installer 5.0.0-2 published on google drive is also working fine

Regarding the installation location it seems that it remember the last install path.
1st tried the 5.0.0-1 and it detected v4 in x86 folder. After uninstallation it asked to install in the same location (x86). Which I manually changed. 
After installation I got the error message and tried to reinstall the same v5.0.0-1, it removed itself and then asked to be installed in the same folder.
Comment 54 caulier.gilles 2016-07-11 06:28:29 UTC
32 and 64 bits installer version 2 are now online :

http://download.kde.org/stable/digikam/digiKam-5.0.0-2-Win32.exe.mirrorlist

http://download.kde.org/stable/digikam/digiKam-5.0.0-2-Win64.exe.mirrorlist

Gilles Caulier