Libelektra: mingw crossdist builds - requirements

Created on 6 Jun 2018  路  6Comments  路  Source: ElektraInitiative/libelektra

Is there any documentation what is needed for mingw-w64 builds?

Only installing mingw-w64 seems not to be enough. Wine is also needed (but is not checked in cmake). Afterwards I still see the following in build outputs:

it looks like wine32 is missing, you should install it.
multiarch needs to be enabled first.  as root, please
execute "dpkg --add-architecture i386 && apt-get update &&
apt-get install wine32"
question

All 6 comments

And while we are on it: where would be the best location to check if wine is installed in the current cmake files?

builds with mingw-w64 + wine seem to run fine even with the error warning in the op. So that seems to be the only two requirements.

The error in op is produced directly by wine:

jenkins@8f9d33b77d90:~/workspace/build$ wine --help
it looks like wine32 is missing, you should install it.
multiarch needs to be enabled first.  as root, please
execute "dpkg --add-architecture i386 && apt-get update &&
apt-get install wine32"
Usage: wine PROGRAM [ARGUMENTS...]   Run the specified program
       wine --help                   Display this help and exit
       wine --version                Output version information and exit

builds without wine fail with:

[ 10%] Building CXX object src/tools/kdb/CMakeFiles/kdb-objects.dir/metaget.cpp.obj
Scanning dependencies of target kdberrors_generated
[ 11%] Generating ../include/kdberrors.h
/bin/sh: 1: elektra-export-errors_EXE_LOC-NOTFOUND: not found
src/error/CMakeFiles/kdberrors_generated.dir/build.make:61: recipe for target 'src/include/kdberrors.h' failed
make[2]: *** [src/include/kdberrors.h] Error 127
CMakeFiles/Makefile2:281: recipe for target 'src/error/CMakeFiles/kdberrors_generated.dir/all' failed
make[1]: *** [src/error/CMakeFiles/kdberrors_generated.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

which is because https://github.com/ElektraInitiative/libelektra/blob/36f2a2a0fd8b961ad5989a8a8a1fa05006a8ba2a/cmake/Modules/LibAddMacros.cmake#L164 does not check if wine is actually found.

Thank you for pointing to these problems!

I do not know where the best place to check for tools that are only needed within toolchains are. Maybe simply failing within find_util is as good as any other option.

The documentation for how to run the mingw buildjob is only in the build server descriptions. Note that there are two tool chain files. I am not sure if both work. We maybe should remove the one we do not test.

I do not know where the best place to check for tools that are only needed within toolchains are. Maybe simply failing within find_util is as good as any other option.

I went with 3e967f8d91f29aa48a880c5e2df03cb93e7eb930

Was this page helpful?
0 / 5 - 0 ratings

Related issues

markus2330 picture markus2330  路  585Comments

kodebach picture kodebach  路  29Comments

markus2330 picture markus2330  路  62Comments

markus2330 picture markus2330  路  38Comments

sanssecours picture sanssecours  路  57Comments