rawproc icon indicating copy to clipboard operation
rawproc copied to clipboard

[macOS] Some issues with the build

Open barracuda156 opened this issue 1 year ago • 18 comments

Also, is there anything x86-only? I am interested to build it for PowerPC.

barracuda156 avatar Jun 14 '23 10:06 barracuda156

Never tried it, don't have a machine to do so. Also, have not heard from any of the dozen-or so user base...

The long pole in the tent, wxWidgets, has a macOS build, so that shouldn't be tough. The rest, libraw, littlecms2, exiv2, lensfun are all unix-buildable, and libjpeg, libtiff, and libpng should be available in the macOS package repository. Definitely a build-by-hand sort of thing; if you try it, bring your error messages here and I'll help you work through them.

No architecture-specific code in the rawproc tree. Closest I got was when I was poking around with half-floats, but I don't even think that touched hardware stuff.

butcherg avatar Jun 14 '23 12:06 butcherg

@butcherg Thank you! Sounds good. (As I recall, wxWidgets 3.2 won’t build for any PPC system as-is, but I think I had a dirty hack for it. wxWidgets 3.0 builds normally.)

I will verify tonight other dependencies, but from look of things, all should be good. If so, then I can try building and update you.

barracuda156 avatar Jun 14 '23 12:06 barracuda156

I'm currently using wxWidgets 3.1.4, if that helps...

butcherg avatar Jun 14 '23 12:06 butcherg

@butcherg All dependencies build fine. However, for whatever reason we have no wxWidgets 3.1 in Macports. So I do not yet know if it builds. I will try.

In the meanwhile, is it possible to add a configure option to specify location of wxWidgets installation? Something like --with-wx-prefix.

P. S. wxWidgets 3.0 cannot work, right?

barracuda156 avatar Jun 14 '23 16:06 barracuda156

UPD. Hmm, perhaps I had some work on wxWidgets 3.2, but either did not succeed or postponed it. wxWidgets 3.1 seems to be a development branch, and its requirements for SDK are no better: 10.11+ (!): https://raw.githubusercontent.com/wxWidgets/wxWidgets/v3.1.7/docs/changes.txt

If it is possible to support wxWidgets 3.0, that would be awesome.

barracuda156 avatar Jun 14 '23 16:06 barracuda156

@butcherg It wants wxWidgets even when they are disabled (header uses unprotected include of wx.h):

--->  Configuring rawproc
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_rawproc/rawproc/work/rawproc-1.3" && autoreconf --install --verbose 
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: /opt/local/bin/aclocal 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /opt/local/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: /opt/local/bin/automake --add-missing --copy --no-force
configure.ac:15: installing './compile'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
src/Makefile.am: installing './depcomp'
autoreconf: Leaving directory '.'
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_rawproc/rawproc/work/rawproc-1.3" && ./configure --prefix=/opt/local --enable-dcraw=no --enable-lensfun=yes --enable-lensfunupdate=no --enable-librtprocess --enable-wxwidgets=no 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /opt/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... /opt/local/bin/gcc-mp-12
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether /opt/local/bin/gcc-mp-12 accepts -g... yes
checking for /opt/local/bin/gcc-mp-12 option to enable C11 features... none needed
checking whether /opt/local/bin/gcc-mp-12 understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of /opt/local/bin/gcc-mp-12... gcc3
checking whether the compiler supports GNU C++... yes
checking whether /opt/local/bin/g++-mp-12 accepts -g... yes
checking for /opt/local/bin/g++-mp-12 option to enable C++11 features... none needed
checking dependency style of /opt/local/bin/g++-mp-12... gcc3
checking for /opt/local/bin/g++-mp-12 option to support OpenMP... -fopenmp
checking whether we are building for a Win32 host... no
checking for pkg-config... /opt/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libjpeg... yes
checking for libtiff-4... yes
checking for libpng... yes
checking for lcms2... yes
checking for exiv2... yes
checking for libraw... yes
checking for lensfun... yes
checking for rtprocess... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for arpa/inet.h... yes
checking for locale.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for _Bool... no
checking for stdbool.h that conforms to C99... yes
checking for inline... inline
checking for size_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
--->  Building rawproc
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_rawproc/rawproc/work/rawproc-1.3" && /usr/bin/make -j6 -w all 
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_rawproc/rawproc/work/rawproc-1.3'
Making all in src
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_graphics_rawproc/rawproc/work/rawproc-1.3/src'
/opt/local/bin/g++-mp-12 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Thu Jun 15 01:44:38 CST 2023"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -isystem/opt/local/include/LegacySupport -I/opt/local/include   -fopenmp -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT curve.o -MD -MP -MF .deps/curve.Tpo -c -o curve.o curve.cpp
/opt/local/bin/g++-mp-12 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Thu Jun 15 01:44:38 CST 2023"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -isystem/opt/local/include/LegacySupport -I/opt/local/include   -fopenmp -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT CurvePane.o -MD -MP -MF .deps/CurvePane.Tpo -c -o CurvePane.o CurvePane.cpp
/opt/local/bin/g++-mp-12 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Thu Jun 15 01:44:38 CST 2023"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -isystem/opt/local/include/LegacySupport -I/opt/local/include   -fopenmp -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT CameraData.o -MD -MP -MF .deps/CameraData.Tpo -c -o CameraData.o CameraData.cpp
/opt/local/bin/g++-mp-12 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Thu Jun 15 01:44:38 CST 2023"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -isystem/opt/local/include/LegacySupport -I/opt/local/include   -fopenmp -pipe -Os -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT elapsedtime.o -MD -MP -MF .deps/elapsedtime.Tpo -c -o elapsedtime.o elapsedtime.cpp
In file included from CurvePane.cpp:1:
CurvePane.h:5:10: fatal error: wx/wx.h: No such file or directory
    5 | #include "wx/wx.h"
      |          ^~~~~~~~~
compilation terminated.

That should either be fixed or, if building without wxWidgets makes no sense, then configure option should not be there, I guess.

barracuda156 avatar Jun 14 '23 17:06 barracuda156

I'm pretty sure I use some file stuff from wxWidgets that is only in 3.1...

The instructions in the README to build without wxWidgets are only to build img, the command line program. That's why the next lines in the README are cd src; make img

It may be that you have to build wxWidgets yourself. It is really pretty easy to do, their build system handles a lot of stuff automatically. The relevant instructions to do so are in the README, here:

https://github.com/butcherg/rawproc/blob/master/README.md?plain=1#L140

To include such in a rawproc build you use the --with-wx-config parameter in the ../configure command to specify the path to the wxWidgets wx-config script, see this line in the README:

https://github.com/butcherg/rawproc/blob/master/README.md?plain=1#L163

butcherg avatar Jun 14 '23 20:06 butcherg

With 3.0 I run into missing SetDoubleBuffered in CurvePane and myHistogramPane.

P. S. --with-wx-config works as intended.

barracuda156 avatar Jun 14 '23 23:06 barracuda156

@butcherg It took forever to return to this :)

I can confirm that img target builds for me on 10.6 PowerPC (where wxWidgets 3.2 do not build at the moment). I will add rawproc to Macports. Thank you!

barracuda156 avatar Mar 25 '24 10:03 barracuda156

UPD. On Sonoma, however, it turns out that Clang is not happy with the code:

  1. Default build errs out on:
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:27:
/opt/local/include/exiv2/basicio.hpp:524:9: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  524 |         std::auto_ptr<Impl> p_;
      |         ^~~~~~~~~~~~~
      |         auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:27:
/opt/local/include/exiv2/basicio.hpp:724:9: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  724 |         std::auto_ptr<Impl> p_;
      |         ^~~~~~~~~~~~~
      |         auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
  1. Okay, I add -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES and try again:
gimage_parse.cpp:458:47: error: cannot pass object of non-trivial type 'mapped_type' (aka 'std::string') through variadic function; call will abort at runtime [-Wnon-pod-varargs]
  458 |                 pmap["cmdlabel"] = string_format("curve:%s",pmap["channel"]);
      |                                                             ^
gimage_parse.cpp:1083:20: warning: equality comparison result unused [-Wunused-comparison]
 1083 |                         pmap["hmirror"] == "true";
      |                         ~~~~~~~~~~~~~~~~^~~~~~~~~
gimage_parse.cpp:1083:20: note: use '=' to turn this equality comparison into an assignment
 1083 |                         pmap["hmirror"] == "true";
      |                                         ^~
      |                                         =
gimage_parse.cpp:1086:20: warning: equality comparison result unused [-Wunused-comparison]
 1086 |                         pmap["vmirror"] == "true";
      |                         ~~~~~~~~~~~~~~~~^~~~~~~~~
gimage_parse.cpp:1086:20: note: use '=' to turn this equality comparison into an assignment
 1086 |                         pmap["vmirror"] == "true";
      |                                         ^~
      |                                         =
gimage_parse.cpp:1095:22: warning: equality comparison result unused [-Wunused-comparison]
 1095 |                                 pmap["autocrop"] == "true";
      |                                 ~~~~~~~~~~~~~~~~~^~~~~~~~~
gimage_parse.cpp:1095:22: note: use '=' to turn this equality comparison into an assignment
 1095 |                                 pmap["autocrop"] == "true";
      |                                                  ^~
      |                                                  =
3 warnings and 1 error generated.
make[1]: *** [gimage_parse.o] Error 1
  1. Then, I pass also -Wno-non-pod-varargs, and it fails on:
In file included from rawimage.cpp:18:
./nikonlensid.h:731:10: error: expected ')'
  731 | uint64_t htonll(uint64_t value)
      |          ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/_endian.h:142:25: note: expanded from macro 'htonll'
  142 | #define htonll(x)       __DARWIN_OSSwapInt64(x)
      |                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/libkern/_OSByteOrder.h:91:30: note: expanded from macro '__DARWIN_OSSwapInt64'
   91 |     (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
      |                              ^
./nikonlensid.h:731:10: note: to match this '('
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/_endian.h:142:25: note: expanded from macro 'htonll'
  142 | #define htonll(x)       __DARWIN_OSSwapInt64(x)
      |                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/libkern/_OSByteOrder.h:91:5: note: expanded from macro '__DARWIN_OSSwapInt64'
   91 |     (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
      |     ^
In file included from rawimage.cpp:18:
./nikonlensid.h:731:10: error: cannot redeclare builtin function '__builtin_constant_p'
  731 | uint64_t htonll(uint64_t value)
      |          ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/_endian.h:142:25: note: expanded from macro 'htonll'
  142 | #define htonll(x)       __DARWIN_OSSwapInt64(x)
      |                         ^
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/libkern/_OSByteOrder.h:91:6: note: expanded from macro '__DARWIN_OSSwapInt64'
   91 |     (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x))
      |      ^
/opt/local/libexec/llvm-17/bin/../include/c++/v1/__utility/is_pointer_in_range.h:42:10: note: '__builtin_constant_p' is a builtin with type 'int (...) noexcept'
   42 |     if (!__builtin_constant_p(__begin <= __ptr && __ptr < __end))
      |          ^
2 errors generated.
make: *** [rawimage.o] Error 1

P. S. This is with Clang-17, since Apple Clang fails already on missing OpenMP support (and --disable-openmp does not help).

barracuda156 avatar Mar 25 '24 11:03 barracuda156

@butcherg The last issue looks like this, I guess? https://github.com/Qihoo360/logkafka/issues/26

barracuda156 avatar Mar 25 '24 11:03 barracuda156

Okay, just pushed a commit to fix all of the above.

I just renamed htonll to something local; I'm not a network app so there.

gcc just ignores my horrid lack of discipline checking equality/assignment typos; if you find more of those let me know.

butcherg avatar Mar 25 '24 16:03 butcherg

@butcherg Thank you, I will try to build it again.

barracuda156 avatar Mar 25 '24 17:03 barracuda156

@butcherg If I build from 8a2521b974d40005e7f1828ac51153e266fe7246 without extra flags passed, the build still fails on Sonoma:

/opt/local/bin/clang++-mp-17 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Wed Mar 27 16:08:24 CST 2024"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk   -fopenmp -pipe -Os -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT gimage.o -MD -MP -MF .deps/gimage.Tpo -c -o gimage.o gimage.cpp
img.cpp:298:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  298 |         if (pos = std::string::npos) return "";
      |             ~~~~^~~~~~~~~~~~~~~~~~~
img.cpp:298:10: note: place parentheses around the assignment to silence this warning
  298 |         if (pos = std::string::npos) return "";
      |                 ^                  
      |             (                      )
img.cpp:298:10: note: use '==' to turn this assignment into an equality comparison
  298 |         if (pos = std::string::npos) return "";
      |                 ^
      |                 ==
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:54:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
   54 |         typedef std::auto_ptr<Value> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:256:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  256 |         typedef std::auto_ptr<DataValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:338:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  338 |         typedef std::auto_ptr<StringValueBase> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:420:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  420 |         typedef std::auto_ptr<StringValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:452:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  452 |         typedef std::auto_ptr<AsciiValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:540:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  540 |         typedef std::auto_ptr<CommentValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:627:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  627 |         typedef std::auto_ptr<XmpValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:718:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  718 |         typedef std::auto_ptr<XmpTextValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:800:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  800 |         typedef std::auto_ptr<XmpArrayValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:893:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  893 |         typedef std::auto_ptr<LangAltValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:981:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  981 |         typedef std::auto_ptr<DateValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:1082:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
 1082 |         typedef std::auto_ptr<TimeValue> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
In file included from /opt/local/include/exiv2/metadatum.hpp:27:
/opt/local/include/exiv2/value.hpp:1238:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
 1238 |         typedef std::auto_ptr<ValueType<T> > AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
In file included from /opt/local/include/exiv2/datasets.hpp:33:
/opt/local/include/exiv2/metadatum.hpp:47:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
   47 |         typedef std::auto_ptr<Key> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
mv -f .deps/curve.Tpo .deps/curve.Po
/opt/local/bin/clang++-mp-17 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Wed Mar 27 16:08:24 CST 2024"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk   -fopenmp -pipe -Os -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT gimage_cmd.o -MD -MP -MF .deps/gimage_cmd.Tpo -c -o gimage_cmd.o gimage_cmd.cpp
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:26:
/opt/local/include/exiv2/datasets.hpp:278:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  278 |         typedef std::auto_ptr<IptcKey> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:27:
/opt/local/include/exiv2/basicio.hpp:58:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
   58 |         typedef std::auto_ptr<BasicIo> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:27:
/opt/local/include/exiv2/basicio.hpp:524:9: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  524 |         std::auto_ptr<Impl> p_;
      |         ^~~~~~~~~~~~~
      |         auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:27:
/opt/local/include/exiv2/basicio.hpp:724:9: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  724 |         std::auto_ptr<Impl> p_;
      |         ^~~~~~~~~~~~~
      |         auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
In file included from gimage.cpp:21:
In file included from /opt/local/include/exiv2/exiv2.hpp:28:
In file included from /opt/local/include/exiv2/bmffimage.hpp:27:
In file included from /opt/local/include/exiv2/image.hpp:28:
In file included from /opt/local/include/exiv2/exif.hpp:35:
/opt/local/include/exiv2/tags.hpp:143:17: error: no template named 'auto_ptr' in namespace 'std'; did you mean simply 'auto_ptr'?
  143 |         typedef std::auto_ptr<ExifKey> AutoPtr;
      |                 ^~~~~~~~~~~~~
      |                 auto_ptr
/opt/local/include/exiv2/config.h:105:3: note: 'auto_ptr' declared here
  105 |   using auto_ptr = std::unique_ptr<T>;
      |   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
mv -f .deps/CameraData.Tpo .deps/CameraData.Po
/opt/local/bin/clang++-mp-17 -DPACKAGE_NAME=\"rawproc\" -DPACKAGE_TARNAME=\"rawproc\" -DPACKAGE_VERSION=\"1.3\" -DPACKAGE_STRING=\"rawproc\ 1.3\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"rawproc\" -DVERSION=\"1.3\" -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_ARPA_INET_H=1 -DHAVE_LOCALE_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -I.  -DBUILDDATE='"Wed Mar 27 16:08:25 CST 2024"' -I/opt/local/include/lensfun -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libraw   -I/opt/local/include/libpng16   -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk   -fopenmp -pipe -Os -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -DUSE_LENSFUN -DUSE_LIBRTPROCESS  -MT gimage_parse.o -MD -MP -MF .deps/gimage_parse.Tpo -c -o gimage_parse.o gimage_parse.cpp
20 errors generated.
make: *** [gimage.o] Error 1
make: *** Waiting for unfinished jobs....
1 warning generated.
mv -f .deps/img.Tpo .deps/img.Po
gimage_parse.cpp:909:20: warning: & has lower precedence than >=; >= will be evaluated first [-Wparentheses]
  909 |                 if (p.size() >=1 & p[0] == "ptlens") {
      |                     ~~~~~~~~~~~~~^
gimage_parse.cpp:909:20: note: place parentheses around the '>=' expression to silence this warning
  909 |                 if (p.size() >=1 & p[0] == "ptlens") {
      |                                  ^
      |                     (           )
gimage_parse.cpp:909:20: note: place parentheses around the & expression to evaluate it first
  909 |                 if (p.size() >=1 & p[0] == "ptlens") {
      |                                  ^                 
      |                                (                   )
gimage_parse.cpp:945:25: warning: & has lower precedence than >=; >= will be evaluated first [-Wparentheses]
  945 |                 else if (p.size() >=1 & p[0] == "adobe") {
      |                          ~~~~~~~~~~~~~^
gimage_parse.cpp:945:25: note: place parentheses around the '>=' expression to silence this warning
  945 |                 else if (p.size() >=1 & p[0] == "adobe") {
      |                                       ^
      |                          (           )
gimage_parse.cpp:945:25: note: place parentheses around the & expression to evaluate it first
  945 |                 else if (p.size() >=1 & p[0] == "adobe") {
      |                                       ^                
      |                                     (                  )
gimage_parse.cpp:1008:20: warning: & has lower precedence than >=; >= will be evaluated first [-Wparentheses]
 1008 |                 if (p.size() >=1 & p[0] == "pa") {
      |                     ~~~~~~~~~~~~~^
gimage_parse.cpp:1008:20: note: place parentheses around the '>=' expression to silence this warning
 1008 |                 if (p.size() >=1 & p[0] == "pa") {
      |                                  ^
      |                     (           )
gimage_parse.cpp:1008:20: note: place parentheses around the & expression to evaluate it first
 1008 |                 if (p.size() >=1 & p[0] == "pa") {
      |                                  ^             
      |                                (               )
gimage_parse.cpp:1035:25: warning: & has lower precedence than >=; >= will be evaluated first [-Wparentheses]
 1035 |                 else if (p.size() >=1 & p[0] == "adobe") {
      |                          ~~~~~~~~~~~~~^
gimage_parse.cpp:1035:25: note: place parentheses around the '>=' expression to silence this warning
 1035 |                 else if (p.size() >=1 & p[0] == "adobe") {
      |                                       ^
      |                          (           )
gimage_parse.cpp:1035:25: note: place parentheses around the & expression to evaluate it first
 1035 |                 else if (p.size() >=1 & p[0] == "adobe") {
      |                                       ^                
      |                                     (                  )
mv -f .deps/gimage_cmd.Tpo .deps/gimage_cmd.Po
4 warnings generated.

It does succeed if I pass -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES -Wno-non-pod-varargs though.

barracuda156 avatar Mar 27 '24 08:03 barracuda156

The exiv2 problems are associated with an API change they did between 27 and 28. My exiv2 code is pretty localized, so I'll try to figure it out for 1.4

But my first priority will be to correct my shit code, which seems to be the rest of them...

butcherg avatar Mar 27 '24 12:03 butcherg

Fixed the shit code, Made a local branch to figure out eviv2 28, that's going to take a bit. That, and msys2 and mxe still only package 27, so freaking conditionals...

butcherg avatar Mar 29 '24 12:03 butcherg

@butcherg Please ping me when to test

barracuda156 avatar Apr 03 '24 13:04 barracuda156

Sorry, sidetracked by other projects and spring household chores. What's left are doc updates, then update the release build system and crank out the products. I'll try to get that done this week.

butcherg avatar Apr 09 '24 13:04 butcherg

Okay, took a little longer than a week, done.

butcherg avatar Jun 04 '24 22:06 butcherg

@butcherg Hmm, does not work for me on Sonoma:

/usr/bin/clang++ -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXMAC__ -D__WXOSX_COCOA__ -D__WXOSX__ -I/opt/local/include -I/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/. -I/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/gimage -isystem /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/lib/wx/include/osx_cocoa-unicode-3.2 -isystem /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2 -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -mmacosx-version-min=14.0 -ggdb -DVERSION=\"1.4.0\" -DBUILDDATE=\"2024-06-06T00:21:34\" -MD -MT CMakeFiles/img.dir/src/img.cpp.o -MF CMakeFiles/img.dir/src/img.cpp.o.d -o CMakeFiles/img.dir/src/img.cpp.o -c /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/img.cpp
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/exif.cpp:7:
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/gimage/gimage.h:355:90: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                       ^~
                                                                                                       > >
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/gimage/gimage.h:355:126: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                                                           ^~
                                                                                                                                           > >
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/img.cpp:18:
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:90: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                       ^~
                                                                                                       > >
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:126: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                                                           ^~
                                                                                                                                           > >
2 errors generated.
make[2]: *** [CMakeFiles/exif.dir/src/exif.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build'
make[1]: *** [CMakeFiles/exif.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  4%] Building CXX object CMakeFiles/rawproc.dir/src/rawprocFrm.cpp.o
/usr/bin/clang++ -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXMAC__ -D__WXOSX_COCOA__ -D__WXOSX__ -I/opt/local/include -I/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/. -I/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/gimage -isystem /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/lib/wx/include/osx_cocoa-unicode-3.2 -isystem /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2 -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -mmacosx-version-min=14.0 -ggdb -DVERSION=\"1.4.0\" -DBUILDDATE=\"2024-06-06T00:21:34\" -MD -MT CMakeFiles/rawproc.dir/src/rawprocFrm.cpp.o -MF CMakeFiles/rawproc.dir/src/rawprocFrm.cpp.o.d -o CMakeFiles/rawproc.dir/src/rawprocFrm.cpp.o -c /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/rawprocFrm.cpp
2 errors generated.
make[2]: *** [CMakeFiles/img.dir/src/img.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build'
make[1]: *** [CMakeFiles/img.dir/all] Error 2
[  5%] Building CXX object CMakeFiles/rawproc.dir/src/CurvePane.cpp.o
/usr/bin/clang++ -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXMAC__ -D__WXOSX_COCOA__ -D__WXOSX__ -I/opt/local/include -I/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/. -I/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/gimage -isystem /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/lib/wx/include/osx_cocoa-unicode-3.2 -isystem /opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.2 -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -mmacosx-version-min=14.0 -ggdb -DVERSION=\"1.4.0\" -DBUILDDATE=\"2024-06-06T00:21:34\" -MD -MT CMakeFiles/rawproc.dir/src/CurvePane.cpp.o -MF CMakeFiles/rawproc.dir/src/CurvePane.cpp.o.d -o CMakeFiles/rawproc.dir/src/CurvePane.cpp.o -c /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/CurvePane.cpp
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/rawprocApp.cpp:10:
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./rawprocApp.h:23:
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./rawprocFrm.h:52:
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:90: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                       ^~
                                                                                                       > >
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:126: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                                                           ^~
                                                                                                                                           > >
2 errors generated.
make[2]: *** [CMakeFiles/rawproc.dir/src/rawprocApp.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[  6%] Linking CXX executable wxcmd
/opt/local/bin/cmake -E cmake_link_script CMakeFiles/wxcmd.dir/link.txt --verbose=ON
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/CurvePane.cpp:8:
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./util.h:11:
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:90: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                       ^~
                                                                                                       > >
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:126: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                                                           ^~
                                                                                                                                           > >
/usr/bin/clang++ -pipe -Os -DNDEBUG -I/opt/local/include -stdlib=libc++ -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -mmacosx-version-min=14.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk CMakeFiles/wxcmd.dir/src/wxcmd.cpp.o -o wxcmd  -Wl,-rpath,/opt/local/lib -L/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/lib -framework IOKit -framework Carbon -framework Cocoa -framework QuartzCore -framework AudioToolbox -framework System -framework OpenGL -lwx_osx_cocoau_aui-3.2 -lwx_osx_cocoau_propgrid-3.2 -lwx_osx_cocoau_xrc-3.2 -lwx_osx_cocoau_html-3.2 -lwx_osx_cocoau_qa-3.2 -lwx_osx_cocoau_core-3.2 -lwx_baseu_xml-3.2 -lwx_baseu_net-3.2 -lwx_baseu-3.2
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/rawprocFrm.cpp:11:
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./rawprocFrm.h:52:
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:90: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                       ^~
                                                                                                       > >
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./gimage/gimage.h:355:126: error: a space is required between consecutive right angle brackets (use '> >')
                GIMAGE_ERROR ApplyDistortionCorrectionAdobeWarpRetilinear(std::vector<std::vector<float>> kr, std::vector<std::vector<float>> kt, float cpx, float cpy, int threadcount);  //full adobe opcode implementation, including distinct sets of k parameters for each plane of the image
                                                                                                                                           ^~
                                                                                                                                           > >
2 errors generated.
make[2]: *** [CMakeFiles/rawproc.dir/src/CurvePane.cpp.o] Error 1
In file included from /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/rawprocFrm.cpp:37:
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./PicProcessorTone.h:1:9: warning: '__PICPROCESSORTONE_H__' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef __PICPROCESSORTONE_H__
        ^~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/./PicProcessorTone.h:2:9: note: '__PICPROCESSORTone_H__' is defined here; did you mean '__PICPROCESSORTONE_H__'?
#define __PICPROCESSORTone_H__
        ^~~~~~~~~~~~~~~~~~~~~~
        __PICPROCESSORTONE_H__
/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/rawproc-1.4.0/src/rawprocFrm.cpp:74:10: fatal error: 'omp.h' file not found
#include <omp.h>
         ^~~~~~~
1 warning and 3 errors generated.
make[2]: *** [CMakeFiles/rawproc.dir/src/rawprocFrm.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build'
make[1]: *** [CMakeFiles/rawproc.dir/all] Error 2
ld: warning: reexported library with install name '/opt/local/lib/libunwind.1.dylib' found at '/opt/local/lib/libunwind.1.dylib' couldn't be matched with any parent library and will be linked directly
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build'
[  6%] Built target wxcmd
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build'
Command failed:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_graphics_rawproc/rawproc/work/build" && /usr/bin/make -j4 -w all VERBOSE=ON 
Exit code: 2

barracuda156 avatar Jun 05 '24 16:06 barracuda156

pushed commits to fix the syntax foo, not sure what to do about "fatal error: 'omp.h' file not found".

butcherg avatar Jun 05 '24 17:06 butcherg

pushed commits to fix the syntax foo, not sure what to do about "fatal error: 'omp.h' file not found".

Ah, that is because I used Apple Clang, which does not support OpenMP.

While this I can fix on my end, the right thing to do would be to have a configure check: it should fail already at configure if OpenMP support is not found (but required).

barracuda156 avatar Jun 05 '24 18:06 barracuda156

I'll put in the cmake check, but I'll also look to see if the header is still needed.

On June 5, 2024 12:01:28 PM MDT, Sergey Fedorov @.***> wrote:

pushed commits to fix the syntax foo, not sure what to do about "fatal error: 'omp.h' file not found".

Ah, that is because I used Apple Clang, which does not support OpenMP.

While this I can fix on my end, the right thing to do would be to have a configure check: it should fail already at configure if OpenMP support is not found (but required).

-- Reply to this email directly or view it on GitHub: https://github.com/butcherg/rawproc/issues/25#issuecomment-2150645284 You are receiving this because you were mentioned.

Message ID: @.***> -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

butcherg avatar Jun 05 '24 18:06 butcherg

@butcherg Ok, using LLVM Clang and passing flags to link to libomp, I was able to build it on Sonoma.

However, as before, I had to use

    configure.cxxflags-append \
                    -D_LIBCPP_ENABLE_CXX17_REMOVED_FEATURES \
                    -Wno-non-pod-varargs

Without these flags build is failing.

But that was an exiv2 issue, I guess. We can add flags locally for MacPorts.

barracuda156 avatar Jun 05 '24 18:06 barracuda156

P. S. Looks like there is no install target?

barracuda156 avatar Jun 05 '24 18:06 barracuda156

@butcherg How should I start the GUI btw? wxcmd opens a king of terminal where I can type in text and which has two buttons below: Kiss and Dismiss and Kill. rawproc just segfaults on launch:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               rawproc [4522]
Path:                  /opt/local/bin/rawproc
Identifier:            rawproc
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        zsh [4515]
Responsible:           Terminal [76267]
User ID:               501

Date/Time:             2024-06-06 03:04:46.3498 +0800
OS Version:            macOS 14.5 (23F79)
Report Version:        12
Anonymous UUID:        08288255-726E-11E3-9DE3-9407366F4C9A

Sleep/Wake UUID:       BF8A344A-2C32-47B2-A928-A055A6FE685D

Time Awake Since Boot: 220000 seconds
Time Since Wake:       1890 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000001, 0x000000018da30960

Termination Reason:    Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process:   exc handler [4522]

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libunwind.dylib               	       0x18da30960 _Unwind_GetIP + 244
1   libc++abi.dylib               	       0x180da0aa4 __gxx_personality_v0 + 588
2   libunwind.1.dylib             	       0x102e41144 unwind_phase2 + 140
3   libunwind.1.dylib             	       0x102e411d0 _Unwind_Resume + 52
4   rawproc                       	       0x1025a920c getExeDir(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) + 360
5   rawproc                       	       0x1025a9544 getRawprocConfPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) + 60
6   rawproc                       	       0x102467e7c rawprocFrmApp::OnInit() + 300
7   libwx_osx_cocoau_core-3.2.0.2.2.dylib	       0x1038b07a8 wxApp::CallOnInit() + 152
8   libwx_baseu-3.2.0.2.2.dylib   	       0x1034799e8 wxEntry(int&, wchar_t**) + 80
9   rawproc                       	       0x102469084 main + 52
10  dyld                          	       0x180a5e0e0 start + 2360

barracuda156 avatar Jun 05 '24 19:06 barracuda156

Rebuilding with wxGTK-3.0 instead of wxWidgets-3.2 produces the same result (with a difference that wxcmd launches X window).

barracuda156 avatar Jun 05 '24 19:06 barracuda156

There is not. Ran out of steam...

If you need it, I'll work one up.

On June 5, 2024 12:51:05 PM MDT, Sergey Fedorov @.***> wrote:

P. S. Looks like there is no install target?

-- Reply to this email directly or view it on GitHub: https://github.com/butcherg/rawproc/issues/25#issuecomment-2150736889 You are receiving this because you were mentioned.

Message ID: @.***> -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

butcherg avatar Jun 05 '24 19:06 butcherg

Wxcmd is a simple shell for running img from the batch dialog.

On June 5, 2024 1:07:58 PM MDT, Sergey Fedorov @.***> wrote:

@butcherg How should I start the GUI btw? wxcmd opens a king of terminal where I can type in text and which has two buttons below: Kiss and Dismiss and Kill. rawproc just segfaults on launch:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               rawproc [4522]
Path:                  /opt/local/bin/rawproc
Identifier:            rawproc
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        zsh [4515]
Responsible:           Terminal [76267]
User ID:               501

Date/Time:             2024-06-06 03:04:46.3498 +0800
OS Version:            macOS 14.5 (23F79)
Report Version:        12
Anonymous UUID:        08288255-726E-11E3-9DE3-9407366F4C9A

Sleep/Wake UUID:       BF8A344A-2C32-47B2-A928-A055A6FE685D

Time Awake Since Boot: 220000 seconds
Time Since Wake:       1890 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000001, 0x000000018da30960

Termination Reason:    Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process:   exc handler [4522]

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libunwind.dylib               	       0x18da30960 _Unwind_GetIP + 244
1   libc++abi.dylib               	       0x180da0aa4 __gxx_personality_v0 + 588
2   libunwind.1.dylib             	       0x102e41144 unwind_phase2 + 140
3   libunwind.1.dylib             	       0x102e411d0 _Unwind_Resume + 52
4   rawproc                       	       0x1025a920c getExeDir(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) + 360
5   rawproc                       	       0x1025a9544 getRawprocConfPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) + 60
6   rawproc                       	       0x102467e7c rawprocFrmApp::OnInit() + 300
7   libwx_osx_cocoau_core-3.2.0.2.2.dylib	       0x1038b07a8 wxApp::CallOnInit() + 152
8   libwx_baseu-3.2.0.2.2.dylib   	       0x1034799e8 wxEntry(int&, wchar_t**) + 80
9   rawproc                       	       0x102469084 main + 52
10  dyld                          	       0x180a5e0e0 start + 2360

-- Reply to this email directly or view it on GitHub: https://github.com/butcherg/rawproc/issues/25#issuecomment-2150767579 You are receiving this because you were mentioned.

Message ID: @.***> -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

butcherg avatar Jun 05 '24 19:06 butcherg

There is not. Ran out of steam... If you need it, I'll work one up.

I can do a manual install via portfile code, that is no big deal, but at the moment I am not sure binaries actually work as supposed. I will try building on PowerPC once the machine is done with building the new Octave.

Wxcmd is a simple shell for running img from the batch dialog.

Ok, then that is working, perhaps.

I'll have to inspect GetExe() to see what's up. Will do that tonight...

Please, since segfaulting on launch looks definitely wrong.

barracuda156 avatar Jun 05 '24 19:06 barracuda156