Ticket #27995 (closed enhancement: fixed)
darktable @0.7.1 add +gcc44 and +gcc45 variants and gtk-engines2 dependency
| Reported by: | julians37@… | Owned by: | ryandesign@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | ||
| Port: | darktable |
Description (last modified by ryandesign@…) (diff)
Upstream recommends to build with gcc 4.4 or later so I've added the option. I haven't made it the default since gcc 4.4/4.5 are big downloads and can take a long time to build.
Attachments
Change History
comment:1 Changed 2 years ago by ryandesign@…
- Owner changed from macports-tickets@… to ryandesign@…
- Status changed from new to assigned
- Description modified (diff)
comment:2 Changed 2 years ago by ryandesign@…
Note the revision shouldn't be increased, since the port won't change for anyone who already had it installed without these variants; users will have to explicitly request these variants anyway for anything to change.
Changed 2 years ago by julians37@…
- Attachment darktable-071-add-gcc44-gcc45-variants-and-gtk-engines2.patch added
Same as above, but also adds missing dependency on gtk-engines2
comment:4 follow-up: ↓ 5 Changed 2 years ago by julians37@…
Darktable prints warnings like this one:
(darktable:29679): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
These warnings disappear once gtk-engines2 is installed. The second patch revision adds this as a dependency.
comment:5 in reply to: ↑ 4 Changed 2 years ago by ryandesign@…
- Status changed from assigned to closed
- Resolution set to fixed
- Summary changed from darktable @0.7.1 add +gcc44 and +gcc45 variants to darktable @0.7.1 add +gcc44 and +gcc45 variants and gtk-engines2 dependency
Replying to julians37@…:
The second patch revision adds this as a dependency.
Ok, yes, that's now a good reason to increase the revision.
Note that manually setting CC, CXX and CPP in the build.env and destroot.env in the gcc variants seems to be unnecessary; MacPorts already sets these during the configure phase for you, and this configure script appears to be well-behaved enough that it notices and uses this.
When I build with gcc45, I get lots of warnings of this form:
gcc-mp-4.5: unrecognized option '-rdynamic'
(though the build succeeds). Similarly, with gcc44, I get:
gcc-mp-4.4: unrecognized option '-rdynamic'
I don't know if this is a problem.
gcc is not only used for building; the program also links with its library, as you can see with "otool -L":
$ otool -L /opt/local/bin/darktable | grep gcc /opt/local/lib/gcc44/libgomp.1.dylib (compatibility version 2.0.0, current version 2.0.0) /opt/local/lib/gcc44/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.13.0) /opt/local/lib/gcc44/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Therefore, in the gcc variants, the gcc port needs to be a library dependency, not just a build dependency.
Committed in r75211.

