Problem compiling luminancehdr on mac OS X 12

@HIRAM Since we already have a build with the new SDK I just renamed your last one Luminance_HDR_2.5.1_osx_10.11.dmg

OK. BTW theoretically it should work on 10.9+ as I used the 10.9 sdk.

I’ll submit the change to findfftw.cmake and we’re good.

I’d be surprised if there’s anything in MacOS-X 10.12 that makes much difference to LHDR. Apple appear to have lost interest in desktops and servers and pumping all their energy into the iPhone. If LHDR wanted to use the touch-pad doo-dah in the latest MacBooks, it’d have to be build with the 10.12 SDK. However the UI and Core Graphics in 10.12 is probably most unchanged in the last 10 years.

@HIRAM I put that information in the website

1 Like

@fcomida Can I trouble you to update Findfftwf.cmake. I don’t understand git

530 rmills@rmillsmbp:~/gnu/git/LuminanceHDR $ git commit -a build_files/Modules/Findfftwf.cmake fatal: Paths with -a does not make sense. 531 rmills@rmillsmbp:~/gnu/git/LuminanceHDR $

# FFTWF_INCLUDE_DIR = fftw3.h
# FFTWF_LIBRARIES = libfftw3.a
# FFTWF_FOUND = true if FFTW3 is found

IF(FFTWF_INCLUDE_DIRS)
  FIND_PATH(FFTWF_INCLUDE_DIR fftw3.h ${FFTWF_INCLUDE_DIRS})
  FIND_LIBRARY(FFTWF_LIBRARY fftw3f ${FFTWF_LIBRARY_DIRS})
  FIND_LIBRARY(FFTWF_THREADS_LIBRARY fftw3f_threads ${FFTWF_LIBRARY_DIRS})
ELSE(FFTWF_INCLUDE_DIRS)
    SET(TRIAL_PATHS
      $ENV{FFTWF_HOME}/include
      /usr/include
      /usr/local/include
      /opt/include
      /usr/apps/include
      /opt/local
    )

    SET(TRIAL_LIBRARY_PATHS
      $ENV{FFTWF_HOME}/lib
      /usr/lib
      /usr/local/lib
      /opt/lib
      /sw/lib
      /opt/local
      )

  FIND_PATH(FFTWF_INCLUDE_DIR fftw3.h ${TRIAL_PATHS})
  FIND_LIBRARY(FFTWF_LIBRARIES fftw3f ${TRIAL_LIBRARY_PATHS})
  FIND_LIBRARY(FFTWF_THREADS_LIBRARIES fftw3f_threads ${TRIAL_LIBRARY_PATHS})
ENDIF(FFTWF_INCLUDE_DIRS)


IF(FFTWF_INCLUDE_DIR AND FFTWF_LIBRARIES AND FFTWF_THREADS_LIBRARIES)
  SET(FFTWF_FOUND TRUE)
ELSE()
  SET(FFTWF_FOUND FALSE)
ENDIF()

IF(FFTWF_FOUND)
  SET(FFTWF_LIBRARIES ${FFTWF_LIBRARIES} ${FFTWF_THREADS_LIBRARIES})

  MESSAGE(STATUS "Found FFTW3F (FFTWF_INCLUDE_DIR = ${FFTWF_INCLUDE_DIR})")
  MESSAGE(STATUS "Found FFTW3F (FFTWF_LIBRARIES = ${FFTWF_LIBRARIES})")
ELSE()
  MESSAGE(FATAL_ERROR "Could not find FFTW3F")
ENDIF()

MARK_AS_ADVANCED(
   FFTWF_INCLUDE_DIR
   FFTWF_LIBRARIES
   FFTWF_FOUND
)

Sure, I pushed it to development branch. Git is kinda different from other versioning management systems. git commit -a does not accept other arguments, it stages and commit all modified files at once

Exiv2 moved to Git with v0.26 on 2017-04-28. Ben is our expert and a very nice guy. He’ll keep me out of trouble as I get up to speed.

I’m using SmartGIT because SmartSVN has been a daily companion for the last 10 years. When I change code in Exiv2, my changes are easy to inspect in the GUI and easy to commit/push to master. However in the Luminance repository, although I have changed findfftw.cmake, SmartGIT didn’t seem to know about the changes.

529 rmills@rmillsmbp:~/gnu/git/LuminanceHDR $ git status build_files/Modules/Findfftwf.cmake 
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   build_files/Modules/Findfftwf.cmake

no changes added to commit (use "git add" and/or "git commit -a")
530 rmills@rmillsmbp:~/gnu/git/LuminanceHDR $

I’m hoping to quickly come up to speed on git and have been told there’s a considerable period of confusion before the “Ah ha” moment when you “get git”. Thanks for helping.

I would agree, @clanmills, git is very confusing until it “clicks”; after it clicks, it is a fantastic tool. Took me a few months of feeling around before I got it.

Thanks for the encouragement. I’m sure it’ll be great when I get there. At the moment, the Exiv2 project is remarkably quiet, so I’ve only made 3 or 4 small submissions. I’m glad to be having a rest. And I’ve enjoyed this little “vacation” with fun folks on the Luminance HDR Team. Every few years, there’s a new software mountain to be climbed. Pascal, C++, Windows and so on. RCS, SourceSafe, CVS, Perforce and SVN are better implementations of the same client/server SCM model. Git’s much more than an improvement - it’s a paradigm shift. C++ (and STL) was a large mountain that revealed a better land. I know Git will be equally rewarding.

@clanmills I agree that git is tremendous once it clicks. I found these indispensable:

I like this site: http://gitready.com/

Thanks @Morgan_Hardwood and @paperdigits

I bought an eBook version of “The Book” in 2013 (and didn’t read much of it because I wasn’t using Git for anything). I ordered a printed copy of the 2nd Edition. This is an essential tool. Time to learn. The other sites/tutorial/interactive doo-dahs all look interesting.

I’ve always found that working with a new technology is the way to learn. When I’m in deep water, I have to learn to swim! And I’m very pleased to have my buddy Ben on Team Exiv2 with me. He’s very experienced in Git and will dig me out of trouble. However, the learning is my responsibility.

When I was reading the book in 2013, I made this map to help my old brain.

Thank you all for your encouragement.

@HIRAM @clanmills align_image_stack not executable

@fcomida
Franco: @HIRAM and I are working on the Luminance build on Yosemite (MacOS 10.10) on a VM on the Exiv2 buildserver. The Exiv2 buildserver is a MacMini sitting on my desk. The work is proceeding well. We’ll update you later this week.

1 Like

@clanmills @HIRAM Guys what about Travis CI? It seems that opensource projects can build on their servers and it’s integrated with GitHub, Daniel looked at it some time ago, when I have time I’ll dig more into their documentation to see what it can do.

At the moment we’re working on the build. We’ll think about the buildserver later. I think there could be licensing issues with Travis/MacOS-X/GitHub. The exiv2 buildserver is a MacMini running Jenkins and 100% legal. It has VMs running Windows and various versions of Linux to perform the other platform builds.

I know that Daniel is a Travis enthusiast. Does he have Travis building LHDR on Linux or Windows?

No he doesn’t, I know very little about travis

OK. I’m working with Richard to get the Mac build working smoothly and I’ll update the ReadMe or Install document when finished. Then we can discuss build servers and/or other platforms. We have friends visiting this week and on vacation next week.

Dear all,
I have a few scattered thoughts, after reading through this thread:

  • I have integrated Travis with my PhotoFlow GitHub repository, and so far I’m really happy with it. I am automatically building an AppImage package each time a change is pushed to the development branch, and I am currently testing the cross-compilation of Windows packages. They also provide OSX build nodes. The main limitation is probably the maximum build time of 40 minutes. I am not claiming to be an expert, but I can try to help you out if needed…
  • talking about AppImages, would you be interested into one for LHDR? I’m ready to help on that as well, although not before August.
  • I’ve seen you had troubles with a Findfftw.cmake module… more generally, I wonder why the Find*.cmake mechanism is preferred over the pkgconfig-based pkg_check_modules() function. As a general rule, I find it illogical, and prone to errors, to let cmake itself figure out the location of header files and libraries. In the pkgconfig case, the various packages are responsible of providing a configuration file where the paths, compiler flags and libraries are specified. FFTW3 is one of the libraries that provide a suitable pkgconfig configuration file, which works flawlessly in combination with cmake as far as I can tell…

Ranting ends here :wink:

Interesting, is that 40 minute limitation for compilation on a single logical cpu only?