Am 06.11.2016 um 10:00 schrieb Phil Rosenberg:
Thanks Ulrich
I just checked and the latest version of appstream available on Cygwin
appears to be 0.2.8-1 and I have this version installed.

I did a bit of grepping in the source directory and found the
update_contact tag in data/darktable.appdata.xml.in. I changed this to
<updatecontact> reran ./build.sh and the executable built fine. I have
attached a patch. I'm currently installing the prerequisites on my
headless Ubuntu system to see if I get the same build error on there
and/or if the patch work or breaks the build.

To me this sounds like a hack. The tag <updatecontact> is certainly undefined/invalid in that context but for some reason remains unrecognized by appstream-util. I would not go that way.


One other issue I had, was that when building rawspeed the flags -fPIC
and -Werror are used. On Cygwin -fPIC is not needed as all code is
position independent (I think - maybe it is just for dlls or
something, but I'm not sure). This gives a warning saying that the
-fPIC flag is ignored and not needed and because we are treating
warnings as errors via -Werror the compilation fails. I have seen
exactly this problem before with other libraries. It is relatively
easy to fix with a handful of sed commands, but I wondered if there is
a way to detect that we are using Cygwin and not include the -fPIC
option? Perhaps in reality this is a CMake bug?

I am not an expert in this either. You should try to find out what type of warning is behind (what -Wsomething gets triggered?). Then you could put a corresponding pragma clause in a place which gets included in every source file (darktable.h ?):

#pragma GCC diagnostic warning "-Wsomething"

or

#pragma GCC diagnostic ignored "-Wsomething"

The first one leaves the warning but does not treat it as an error. The second simply ignores the warning.

Protect this with the needed #ifdef's so that it is only active when darktable is built on your system.

BTW: I recommend that you team with the guys in PR #1327. They seem so use another build system but with the same aim of getting a Windows version ready.

Ulrich


Phil

On 6 November 2016 at 08:01, Ulrich Pegelow <[email protected]> wrote:
I also once experienced this error on my Linux box while compiling. To fix
it I needed to upgrade appstream-util. From version 0.2.6 to 0.4.1 in my
case.

Ulrich


Am 06.11.2016 um 08:55 schrieb Phil Rosenberg:

Hi
Up front I will say I have read your policy on Windows and totally
agree. I also work on an open source project and supporting many OSs
is tough and usually requires at least a couple of developers willing
to use and test the code as it develops.

So with that in mind you are free to tell me that you cannot help me
with building on Cygwin, however I'm very close to completing the
build and I have made notes on how to get the build running which I am
happy to share If that is useful to you.

In case you can help, my issue is that during the make all step of the
build I am getting this error

Scanning dependencies of target darktable.appdata_file
[ 99%] Generating darktable.appdata.xml
Merging translations into
/home/phil/usr/src/darktable/build/data/darktable.appdata.xml.
CREATED /home/phil/usr/src/darktable/build/data/darktable.appdata.xml
/home/phil/usr/src/darktable/build/data/darktable.appdata.xml: FAILED:
• tag-missing           : <updatecontact> is not present
Validation of files failed
make[2]: *** [data/CMakeFiles/darktable.appdata_file.dir/build.make:89:
data/darktable.appdata.xml] Error 1
make[2]: *** Deleting file 'data/darktable.appdata.xml'
make[1]: *** [CMakeFiles/Makefile2:6870:
data/CMakeFiles/darktable.appdata_file.dir/all] Error 2
make: *** [Makefile:139: all] Error 2

I presume this is an xml tag that is missing from somewhere, but I
can't work out which file it is missing from to look at fixing it. I'm
not so good with makefiles.

I'm building from the git repo if that helps. Currently at commit
d62c69e36ab428e37df0ae6b57e704bc9178d0b0

___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to [email protected]

Reply via email to