Opened 7 years ago

Closed 7 years ago

#55605 closed defect (fixed)

darktable @2.2.5_1+quartz compile error

Reported by: saherr1969 (Stephen H) Owned by: ctreleaven (Craig Treleaven)
Priority: Normal Milestone:
Component: ports Version: 2.4.2
Keywords: sierra Cc:
Port: darktable

Description

Trying to install darktable per the darktable.org/install instructions:
sudo port install darktable +quartz

It failed so I checked for OS and Application updates in App Store.
-- Performed 9.2 Xcode upgrade
-- Performed 9.2 Command Line Tools (macOS Sierra version 10.12) for Xcode
-- Performed 10.12.6 Security Updates (required Restart)

Then I performed the following:

> xcodebuild -version
Xcode 9.2
Build version 9C40b
> which port
port is aliased to `sudo port'
port is /opt/local/bin/port
> port version
Version: 2.4.2
> port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.4.2 installed,
MacPorts base version 2.4.2 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
> port upgrade outdated
Nothing to upgrade.
> port clean darktable +quartz
--->  Cleaning darktable
> port reclaim
--->  Checking for inactive ports
Found no inactive ports.
--->  Building list of distfiles still in use
--->  Searching for unused distfiles
No unused files found.
> port install darktable +quartz
--->  Computing dependencies for darktable
--->  Fetching archive for darktable

<snip failed fetches>

--->  Attempting to fetch darktable-2.2.5.tar.xz from https://github.com/darktable-org/darktable/releases/download/release-2.2.5
--->  Verifying checksums for darktable
--->  Extracting darktable
--->  Configuring darktable
--->  Building darktable
Error: Failed to build darktable: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_darktable/darktable/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port darktable failed

The noted log file is attached to the ticket.

Attachments (1)

main.log (1.1 MB) - added by saherr1969 (Stephen H) 7 years ago.
Build log from 'port install darktable +quartz'

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by saherr1969 (Stephen H)

Attachment: main.log added

Build log from 'port install darktable +quartz'

comment:1 Changed 7 years ago by saherr1969 (Stephen H)

It appears this is the key error section (line numbers added to help):

   4449 :info:build clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument]
   4450 :info:build Undefined symbols for architecture x86_64:
   4451 :info:build   "_luaL_checkint", referenced from:
   4452 :info:build       _check_version in configuration.c.o
   4453 :info:build       _write_image in format.c.o
   4454 :info:build       _lua_ngettext in gettext.c.o
   4455 :info:build       _lua_dngettext in gettext.c.o
   4456 :info:build       _dt_lua_module_entry_new in modules.c.o
   4457 :info:build       _dt_lua_module_entry_get_type in modules.c.o
   4458 :info:build       _dt_lua_module_get_preset_type in modules.c.o
   4459 :info:build       ...
   4460 :info:build   "_luaL_optint", referenced from:
   4461 :info:build       _sleep_cb in call.c.o
   4462 :info:build   "_lua_rotate", referenced from:
   4463 :info:build       _dt_lua_treated_pcall in call.c.o
   4464 :info:build       _gtk_wrap in call.c.o
   4465 :info:build       _run_async_thread_main in call.c.o
   4466 :info:build       _dt_lua_goto_subtable in lua.c.o
   4467 :info:build       _dt_lua_module_push in modules.c.o
   4468 :info:build       _dt_lua_module_entry_new in modules.c.o
   4469 :info:build       _dt_lua_module_entry_push in modules.c.o
   4470 :info:build       ...
   4471 :info:build ld: symbol(s) not found for architecture x86_64
   4472 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
   4473 :info:build make[2]: *** [src/libdarktable.dylib] Error 1

comment:2 Changed 7 years ago by rprr

This appears to be an issue with lua5.3 which deprecates _luaL_checkint and other such functions. Uninstalling lua and installing lua52 seems to work.

comment:3 Changed 7 years ago by saherr1969 (Stephen H)

So I checked on lua:

port installed|grep lua
  gnuplot @5.2.2_0+aquaterm+luaterm+pangocairo+wxwidgets+x11 (active)
  lua @5.3.4_1 (active)
  lua52 @5.2.4_1 (active)

The 5.3 version is tied to gnuplot which in turn is tied to octave.

Is it possible to point the darktable install at lua52 somehow during compile time?

Thanks!

comment:4 Changed 7 years ago by ctreleaven (Craig Treleaven)

Owner: set to ctreleaven
Status: newaccepted

The issues with lua (5.3) conflicting with lua-5.2 are apparently well known:

https://trac.macports.org/ticket/46880

I've tried various things but I can't get the darktable build system to ignore the headers from lua 5.3. Only approach I can find is to use conflicts_build to work around the problem.

comment:5 Changed 7 years ago by ctreleaven (Craig Treleaven)

Resolution: fixed
Status: acceptedclosed

In f2fe73cf24faf43c8ad853538e2deea41fa4516f/macports-ports:

darktable: avoid build conflict with lua

Work around build conflict between lua-5.2 and lua (5.3)
Update to cmake portgroup to 1.1

Fixes: #55605

Note: See TracTickets for help on using tickets.