Opened 13 years ago
Closed 12 years ago
#31374 closed defect (fixed)
darktable @0.7.1 build failure
Reported by: | barrasstim@… | Owned by: | julians37@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.3 |
Keywords: | lion | Cc: | ryandesign (Ryan Carsten Schmidt), stealthjeff@…, help@…, heitzmann@…, ctreleaven (Craig Treleaven) |
Port: | darktable |
Description
Unable to build darktable in fresh macports on OSX 10.7.1, XCode 4.1
Attachments (2)
Change History (9)
Changed 13 years ago by barrasstim@…
comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added; julians37@… removed |
---|---|
Keywords: | darktable build install removed |
Owner: | changed from macports-tickets@… to julians37@… |
The first thing we should try to do is update the port to the latest version, 0.9.2. I'll attach the patch I've started working on for this, but it's incomplete: the remaining patchfiles patch-darktablerc.diff and patch-build-for-gcc46.diff do not apply anymore because the files they patch are gone or possibly moved or renamed. So someone will still have to investigate if any of those patches need to be rewritten.
Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | darktable-0.9.2-incomplete.diff added |
---|
incomplete patch
comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | stealthjeff@… added |
---|
Has duplicate #32735.
0.9.3 is available now. Help updating the port is appreciated.
comment:3 Changed 13 years ago by heitzmann@…
I've just installed macports yesterday for the 1st time, so I have no idea how to actually help maintain a portfile, but I've managed to compile darktable 0.9.3 and I thought this information might be helpful.
Once I installed all dependencies I had to change the file src/common/darktable.c, line 81: removed "static", due to a previous non-static declaration in stdio.h.
Then I got undefined symbols for architecture x86_64. What I did was to install gcc46 via macports, do a "port select gcc mp-gcc46" and voila, the build.sh script included with the darktable source dist worked.
comment:4 Changed 13 years ago by heitzmann@…
Continuation: the compilation worked, but not the program. Darktable opens fine, but it crashes as soon as I try to import a folder. I'll keep working on it.
comment:6 follow-up: 7 Changed 12 years ago by ctreleaven (Craig Treleaven)
Note that Darktable v. 1.1.2 was released on January 15, 2013. The code also moved to GitHub back in May 2012. Unless/until this port is updated, anyone wanting to try Darktable should be advised to download the .dmg installer from the Darktable web site:
http://www.darktable.org/install/#osx
Craig
comment:7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | heitzmann@… ctreleaven@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Replying to heitzmann@…:
Once I installed all dependencies I had to change the file src/common/darktable.c, line 81: removed "static", due to a previous non-static declaration in stdio.h.
You're talking about this:
#ifdef __APPLE__ static int dprintf(int fd,const char *fmt, ...)
It appears this block no longer exists in darktable 1.1.2 so we don't need to patch anything anymore for this.
Replying to ctreleaven@…:
Note that Darktable v. 1.1.2 was released on January 15, 2013. The code also moved to GitHub back in May 2012.
I updated the port to 1.1.2 in r101696:
- added build dependency on cmake
- removed build dependency on intltool; can find no evidence of it being used
- added library dependencies on gettext, zlib, json-glib, libxml2; switched lcms dependency to lcms2; the cmakelists check for all of these explicitly
- used build.sh script
- added patch to make build.sh only configure, not build
- removed patch-src-common-exif.cc.diff which was included upstream
- removed patch-darktablerc.diff which was added to fix a build failure which I cannot reproduce now
- removed patch-src-iop-lens.c.diff because the line being patched has been changed in a different way upstream
- removed patch-Werror.diff and patch-build-for-gcc46.diff because the files being patched no longer exist
- simplified gcc46 variant
- added gcc47 variant
- updated gnome_keyring variant
- removed gconf variant because darktable doesn't appear to be able to make use of gconf anymore
- used require_active_variants in quartz and x11 variants
- rewrote master_sites to avoid redirects
- changed license from GPL-3 to GPL-3+ based on comments in headers of source files
Since current distfiles are still on SourceForge and they have a separate web site, there appeared to be no advantage to indicating in the portfile that the code is hosted on github, so I didn't.
I cannot get the port to build with any gcc variants; it fails with a zillion "no such instruction" errors. Nor can I build it with the +quartz variant because dependency gtk-engines2 does not build when pango is installed with +quartz. But I figured that a port that builds and runs with only a few of its variants is better than a port that does not build at all. We can file new tickets for any remaining issues.
main.log