Compiling darktable .dmg: A bump in the tracks

(Hevii Guy) #1

I thought that I was competent enough to compile a darktable .dmg using the instructions at https://github.com/darktable-org/darktable/blob/master/packaging/macosx/BUILD.txt. However, things went off the rails when I got to:

then add this line:
patchfiles-append patch.diff
to ~/ports///Portfile files you just copied

huh? Which files that were just copied? A number of them were copied!

Can somebody please clarify which files must be appended? The instructions are lacking in this regard.

(Hevii Guy) #2

darktable 2.4.0 So close yet so far (for us Mac Users!)

Judging from the number of helpful responses to the above, I suppose that the only one able to provide the necessary guidance is the one whom we’re all eagerly awaiting to provide us with the official .dmg

Graciously conveying “Thanks” in advance, O’ Wise, Missing One :wink:

(David Heintz) #3

Since replies seem to be less than impressive, I will add mine. and restate the need for a .dmg build for we starving Mac users! OK. Vacation is over. You are tan, rested, and ready to compile! Just think of all the holiday photos we are waiting to process!!!

1 Like
(Hevii Guy) #4

Although I share your eagerness and desire, David, I’m not about to bash a gift horse in the mouth only to send him trotting off into another sunset while leaving us stranded. :hushed:

Take your time, Wise Compiling Volunteering Sage, wherever you are. But, please don’t forget about us!

(David Heintz) #5

I agree? Can we order him/her a Spa Package…?

(Mica) #6

Hello, I’m not that guy, but the instruction seems fairly clear. Can you look at the patch file? My guess is that it contains patches for multiple files!

You also asked your question at the worst time of the year :wink:

(Hevii Guy) #7

With all due respect Mica, you need a bit of empathy; you’re coming at this from your perspective. If it were indeed “fairly clear” to me and to others, the question wouldn’t be posed!

#8

I guess the part

~/ports/*/*/Portfile

isn’t understood correctly. ~/ is your home directory. In there you should have a folder ports, in there are folders with folders and inside those there should be a file called Portfile. Try running

cd ~/ports/
ls */*/Portfile

Then add the line to all files you are returned.

(Hevii Guy) #9

Thanks for taking pity on the Mac folks, houz :+1:

I got a bit further in the process but was abruptly stopped in my tracks by the following:

Error: Failed to install libiconv: no destroot found at: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_libiconv/libiconv/work/destroot

No idea what this means!

Where, oh where is our dmg-compiling Saviour??

(Hevii Guy) #10

I’ve made my way well down the Rabbit Hole. It took quite a few sudo port clean …, sudo port installand sudo port activate …s to get this far. But now, no matter how many times I put gdk-pixbuf2 through the washer, it remains filthy and refuses to install. Apparently, as per the log, it has something to do with:

Incompatible library version: _giscanner.so requires version 5401.0.0 or later, but libgio-2.0.0.dylib provides version 4801.0.0

Hmm… could this be the reason why our ethereal “Expert” hasn’t pumped-out a shiny new darktable 2.4.0 dmg for us yet? -or did I take a wrong turn somewhere in this mysterious Dark warren? :rabbit2:

(Hevii Guy) #11

After yet another day devoid of news heralding the availability of the 2.4.0 dmg :face_with_raised_eyebrow:, I had no choice but to plod on…

Amazingly, this time I got as far as the building process (!). However, something seems awry with my system as the following error message stops me in my tracks:

CC=gcc-mp-6 cmake … -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -DBINARY_PACKAGE_BUILD=ON
CMake Error at /opt/local/share/cmake-3.5/Modules/CMakeDetermineCCompiler.cmake:57 (message):
Could not find compiler set in environment variable CC:

gcc-mp-6.
Call Stack (most recent call first):
CMakeLists.txt:20 (project)

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
– Configuring incomplete, errors occurred!

I’m fairly certain that this has nothing to do with the darktable files but rather with the way that my system is set up. Although it’s clear that there is a dearth of people with the requisite experience to compile a darktable disk image, perhaps somebody out there might help me to wade through what seems to be a mere universal compiling issue.

Does the above provide a hint as to the source of the problem? More so, is there an obvious (only to you, I can assure you) way to extricate myself out of the jam?

(Mica) #12

You need to make sure that cmake knows the path to your compiler. Do you have GCC installwd

CMAKE_C_COMPILER is a variable, so you need something like export CMAKE_C_COMPILER=/path/to/gcc

(Hevii Guy) #13

Thanks for the hint, Mica. Apparently I don’t have gcc installed (I must have missed that line of instructions). Doing another sudo port install gcc6 corroborated this.

Alas, even after the re-install of gcc6, I still get the same message. Damn :thinking:

(Hevii Guy) #14

Actually, gcc6 still wasn’t installed! I had to go through another install and activate round for a number of gcc dependancies. My box is currently churning as gcc appears to be building…

(Mica) #15

I believe if you have xcode installed you have clang/llvm for a compiler by default. But I have no idea if DT can compile with clang.

(Hevii Guy) #16

:tada: Woo hoo! Finally got it: My very own darktable disk image - darktable-2.5.0+47~g9590cbf21.dmg

Now let’s see if this puppy works…

(Hevii Guy) #17

Nada. No joy:

You can’t open the application “darktable 2.5.0.app” because it may be damaged or incomplete.

Nevertheless, I’m able to run it by entering:

GSETTINGS_SCHEMA_DIR=/opt/local/share/glib-2.0/schemas/ XDG_DATA_DIRS=/opt/local/share darktable

It would be nice, however, if I can simply have everything in the Applications directory with the rest of the apps and only enter “darktable” to fire it up. Any suggestions?

Furthermore: 2.5.0 ?? I was only looking for 2.4.0. Hopefully this bleedin’ edge version is safe to use…

#18

2.5.0 is the internal numbering scheme for the current development version and not a release. It’s just bumped to distinguish it from actual releases.

(David Heintz) #19

Congratulations! I started down that path, but figured I would be better served spending my time working with the prerelease - assuming the official .dmg gets published soon…

(Hevii Guy) #20

It was a tough slog, David. Yet it was also an interesting and gratifying learning experience. Unfortunately, I’m still not out of the woods; my lua scripts aren’t showing up. I think that I might have to do a symlink from the existing location at ~.config/darktable (Whoa! Geek-speak and now I even know what it means!)

Has anybody sent out the hounds to track down the errant darktable Mac expert? Even though (in my case) he’s become redundant, it might not be a bad idea to ensure that he’s not been abducted by Aliens and is otherwise okay. And, of course, to politely ask him to get the freakin’ disk image published(!!) for everybody else’s sake.