Problem compiling luminancehdr on mac OS X 12

Self-donations are against the law, I suppose.
Great job guys, does it mean I can put the build on sourceforge?

Yes. Publish it. I donā€™t think we need to build on anything earlier than El Cap. Every Mac thatā€™s less than 10 years old can run El Cap. If somebody shows up wanting support for Leopard (10.5) we can investigate, or simply decline.

I do occasionally build Exiv2 on Tiger (10.4) on a PowerBook with the big-endian PowerPC processor. Building a library on elderly machines is one thing, building an application is a bigger undertaking. In the case of Exiv2, I support 17 different build platforms and believe the code will build on almost any platform from the 21st Century. An application such as LHDR is published to run on various platforms. Users of very old systems have no ground for complaint when the application doesnā€™t work on obsolete equipment.

Iā€™ve enjoyed working with @HIRAM. I hope to persuade him to build/publish LHDR on the Exiv2 buildserver.

Somebody should update Findfftwf.cmake in master.

Thanks again guys. Robin you should have write access to the repo or there are still problems?

@HIRAM Are there other changes to be submitted to master?

Gentlemen: Itā€™s amazing what we can achieve when we cooperate. The future will be a fantastic place. By 2050, there could be more people alive (10 billion) than all the humans in history. And weā€™re connected together as never before by our digital technology. Life is good.

1 Like

Another thing, is this build going to replace the old one? Meaning: does it runs on El Cap and later? If this is the case, is the old build better on Sierra and newer (in terms of stability, performance)?

@clanmills just few people donā€™t realize that yet: the POWER ELITE!!!

@fcomida Technically the build using the 10.9 SDK will not be taking advantage of the SDK developments since then which would be present in the 10.12 build. I have no idea to what extent that affects the performance.
@clanmills I havenā€™t had to touch the 2.5.1 code beside your additions to findfftw.cmake. Just had to set the OS X version environment variable and the cmake sysroot argument to point to the imported SDK.

Itā€™s a tax loophole which doesnā€™t yet exist.

@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.