Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#55380 closed defect (fixed)

darktable +quartz compile error

Reported by: breadncup Owned by: ctreleaven (Craig Treleaven)
Priority: Normal Milestone:
Component: ports Version:
Keywords: highsierra Cc: kaelte (Nikolaus Thiel)
Port: darktable

Description

I did

sudo port clean darktable +quartz
sudo port selfupdate
sudo port upgrade outdated
sudo port install darktable +quartz

And, I got the compile error and the log is attaching.

Attachments (3)

main.log (951.5 KB) - added by breadncup 6 years ago.
The compilation error log
main2.log (951.5 KB) - added by breadncup 6 years ago.
the second log
gdk-pixbuf2_main.log (122.4 KB) - added by kaelte (Nikolaus Thiel) 6 years ago.
Failed to build gdk-pixbuf2

Download all attachments as: .zip

Change History (15)

Changed 6 years ago by breadncup

Attachment: main.log added

The compilation error log

comment:1 Changed 6 years ago by Schamschula (Marius Schamschula)

Port: darktable added
Summary: "sudo port install darktable +quartz" compile errordarktable +quartz compile error

Here is the problem:

:info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_darktable/darktable/work/darktable-2.2.5/src/osx/osx.mm:19:
4198	:info:build In file included from /System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:29:
4199	:info:build In file included from /System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/HIToolbox.h:240:
4200	:info:build In file included from /System/Library/Frameworks/Carbon.framework/Frameworks/HIToolbox.framework/Headers/IMKInputSession.h:23:
4201	:info:build In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:128:
4202	:info:build /System/Library/Frameworks/Foundation.framework/Headers/NSUUID.h:26:49: error: nullability specifier '_Nullable' cannot be applied to non-pointer type 'uuid_t' (aka 'unsigned char [16]')
4203	:info:build - (instancetype)initWithUUIDBytes:(const uuid_t _Nullable)bytes;
4204	:info:build                                                 ^
4205	:info:build /System/Library/Frameworks/Foundation.framework/Headers/NSUUID.h:29:30: error: nullability specifier '_Nonnull' cannot be applied to non-pointer type 'uuid_t' (aka 'unsigned char [16]')
4206	:info:build - (void)getUUIDBytes:(uuid_t _Nonnull)uuid;
4207	:info:build                              ^

comment:2 Changed 6 years ago by Schamschula (Marius Schamschula)

Keywords: highsierra added

comment:3 Changed 6 years ago by ctreleaven (Craig Treleaven)

What is the output of xcodebuild -version ?

comment:4 in reply to:  3 ; Changed 6 years ago by breadncup

Replying to ctreleaven:

What is the output of xcodebuild -version ?

It is

~ $ xcodebuild -version
Xcode 9.0
Build version 9A235

comment:5 in reply to:  4 ; Changed 6 years ago by ctreleaven (Craig Treleaven)

Replying to breadncup:

~ $ xcodebuild -version
Xcode 9.0
Build version 9A235

Please try updating to the latest version of Xcode which I believe is 9.1. Update the command line tools at the same time.

Changed 6 years ago by breadncup

Attachment: main2.log added

the second log

comment:6 in reply to:  5 Changed 6 years ago by breadncup

Installed xcode 9.1 and update the command line tools as well.

~ $ xcodebuild -version
Xcode 9.1
Build version 9B55

Now, there is still compilation error, and attached main2.log

Replying to ctreleaven:

Replying to breadncup:

~ $ xcodebuild -version
Xcode 9.0
Build version 9A235

Please try updating to the latest version of Xcode which I believe is 9.1. Update the command line tools at the same time.

comment:7 Changed 6 years ago by kaelte (Nikolaus Thiel)

Mac OS 10.13.1
Xcode 9.1
Build version 9B55

It seems that despite specifying the variant quartz, some dependencies are installed with +x11. Here some part of the stdout and stderr::

$ sudo port install darktable +quartz

--->  Installing gdk-pixbuf2 @2.36.11_0+x11
--->  Activating gdk-pixbuf2 @2.36.11_0+x11

--->  Installing gtk3 @3.22.26_0+x11
--->  Activating gtk3 @3.22.26_0+x11

--->  Configuring gtk-osx-application-common-gtk3

Error: 
gtk-osx-application-common-gtk3 is meant to be used only in a GTK quartz
development environment but your version of GTK does not
support quartz.  Please make sure that port gtk3 and all its
dependencies are built with variants +quartz and try again.

Error: Failed to configure gtk-osx-application-common-gtk3: gtk3 +quartz not installed.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gtk-osx-application/gtk-osx-application-common-gtk3/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port darktable failed

Why are the dependencies installed with variants +X11 if +quartz is needed?

Changed 6 years ago by kaelte (Nikolaus Thiel)

Attachment: gdk-pixbuf2_main.log added

Failed to build gdk-pixbuf2

comment:8 Changed 6 years ago by kaelte (Nikolaus Thiel)

I have tried to install gtk3 manually but it failed:

$ sudo port install gtk3 +quartz

Error: Failed to build gdk-pixbuf2: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_gdk-pixbuf2/gdk-pixbuf2/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port gtk3 failed

see logfile gdk-pixbuf2_main.log

comment:9 Changed 6 years ago by kaelte (Nikolaus Thiel)

Cc: kaelte added

comment:10 in reply to:  7 ; Changed 6 years ago by ctreleaven (Craig Treleaven)

Replying to kaelte:

Error: gtk-osx-application-common-gtk3 is meant to be used only in a GTK quartz development environment but your version of GTK does not support quartz. Please make sure that port gtk3 and all its dependencies are built with variants +quartz and try again.

Error: Failed to configure gtk-osx-application-common-gtk3: gtk3 +quartz not installed. Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gtk-osx-application/gtk-osx-application-common-gtk3/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port darktable failed }}}

Why are the dependencies installed with variants +X11 if +quartz is needed?

I've just built darktable from scratch in a High Sierra environment and I didn't have that issue. I am pushing an update in a few minutes that addresses the OP's problem and another minor concern.

The most common cause of this error would be if you had already installed some of the dependencies with a default +x11 variant. In that case, you have to reinstall _each_ such dep manually with +quartz to get a sane environment. The following command shows all the darktable dependencies that are installed with a +quartz variant. I suggest you compare with your system.

$ port echo active and rdepof:darktable |grep +q
cairo                          @1.14.10_0+quartz+x11 
GraphicsMagick                 @1.3.26_0+q8 
gtk3                           @3.22.26_0+quartz 
librsvg                        @2.40.19_0+quartz 
pango                          @1.40.14_0+quartz+x11 

comment:11 Changed 6 years ago by ctreleaven (Craig Treleaven)

Owner: set to ctreleaven
Resolution: fixed
Status: newclosed

In e819c1619614da1443557be7bb9dc67c12848aa3/macports-ports:

darktable: add +clang40 variant and make default

Avoid build failure on High Sierra by using clang 4.0.

Add dependency on desktop-file-utils as update-desktop-database is run
during port activation.

Fixes: #55380

comment:12 in reply to:  10 Changed 6 years ago by kaelte (Nikolaus Thiel)

Thanks for your help. I have managed to install darktable. The installation went fine and the programme is working well.

However the gui is reacting slow - despite 4 cores i7 and 32 GiB RAM. But I guess that this is not a topic for here.

Replying to ctreleaven:

The most common cause of this error would be if you had already installed some of the dependencies with a default +x11 variant. In that case, you have to reinstall _each_ such dep manually with +quartz to get a sane environment. The following command shows all the darktable dependencies that are installed with a +quartz variant. I suggest you compare with your system.

Note: See TracTickets for help on using tickets.