Issues with Compiled Windows Client

expert
client-development

#1

Been having some issues with this for a while now, and I'm out of ideas.
Managed to cross-compile & install a fresh v2.2.2 windows client.

Utilizing dummy files, the list of missing dlls are as follows:
"icui18n56.dll is missing"
"icuuc56.dll is missing"
"libharfbuzz-0.dll is missing".

Only libharfbuzz-0.dll gives a result in google.

Client version: 2.2.2
Client operating system: Win10

Steps to Compile
OpenSUSE 13.2 (In a VM)
Only repo's added are all from the mingw32-gcc oneclick install for toolchains.
openssl-1.0.2h from openssl.org/source

with ./config -fPIC
client binaries from https://github.com/owncloud/owncloud-client-binary.git
the rest of the pre-req's are repo's from the OS itself.

the compile script i use contains:

make clean
cmake . -DCMAKE_TOOLCHAIN_FILE=./admin/win/Toolchain-mingw32-openSUSE.cmake
	-DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib
	-DWITH_CRASHREPORTER=ON
make
make package

Any ideas where I could be going wrong?
There is a possiblity that was hinted at that it could be the qt5 libs that are being used.
if so, a pointer to the right version would be helpful.

Thanks,
Frost.


#2

May I ask why you do a recompile in the first place? I have to admit that its a rather hard thing to do right.


#3

Initially, it is mostly as a tool to re-learn the fundamentals of linux, as it has been a while since I last used it.
I kinda want to make my own changes to the Owncloud client & figure out properly how Qt5 works for my own future projects, and it seems like a worthwhile endeavour.

... It is open source after all.

~Frost


#4

Updated Qt5core5 from 5.3 to 5.4.2 & updated all QT related packages.
Same error.
Missing icui18n56.dll & icuuc56.dll.
Still requires libharfbuzz-0.dll.


#5

They client-developers often hang out on the #owncloud-client-dev channel at freenode IRC.


#6

I already asked.
They just assume its qt related.


#7

@Frosty Sounds like you are using the SUSE windows:mingw:win32 packages. They depend on libicu. If you use our tool chain (see https://github.com/owncloud/client/blob/2.2/admin/win/docker/Dockerfile#L12) you should be fine.


#8

You mean running this command in admin/win/docker;

docker build . -t owncloud-client-win32:<version>

That is the first thing I did & it installed that version of the mingw32 files.
There isn't even a default repo for those files without running the docker instance anyway.

Oh, and you might want to fix your docs. The actual line is

docker build -t owncloud-client-win:<version> .

The rest of the commands were invalid so I had to do some hunting for the rest.


#9

If indeed, the "icui18n56.dll/icuuc56.dll" error is a Qt5 problem...

And the official binaries were indeed compiled with 5.4, and both 5.3 and 5.5 produce the same error message...
What special CMake parameters, or changes to the Makefile that isn't automatically generated did you use to compile Owncloud with?

I do eagerly await your response.
~Frost


#10

Please use the exact OBS repo specified in our compile guide (https://github.com/owncloud/client/blob/2.2/admin/win/docker/Dockerfile#L12). If you really use this repo, you will get the right Qt. Note that this is NOT about the Qt version, but about the fact that the ownCloud Qt toolchain build without ICU, which increases the binary size of ownCloud without much gain.