Building the software with MacPorts leads to this error:
/bin/sh ../../../libtool --tag=CXX --mode=link /opt/local/bin/g++-mp-7 -std=c++11 -pipe -Os -std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -no-undefined -version-info 26:1:20 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc -o libgpgmepp.la -rpath /opt/local/lib exception.lo context.lo key.lo trustitem.lo data.lo callbacks.lo eventloopinteractor.lo editinteractor.lo keylistresult.lo keygenerationresult.lo importresult.lo decryptionresult.lo verificationresult.lo signingresult.lo encryptionresult.lo engineinfo.lo gpgsetexpirytimeeditinteractor.lo gpgsetownertrusteditinteractor.lo gpgsignkeyeditinteractor.lo gpgadduserideditinteractor.lo gpggencardkeyinteractor.lo gpgaddexistingsubkeyeditinteractor.lo gpgrevokekeyeditinteractor.lo defaultassuantransaction.lo scdgetinfoassuantransaction.lo gpgagentgetinfoassuantransaction.lo statusconsumerassuantransaction.lo vfsmountresult.lo configuration.lo tofuinfo.lo swdbresult.lo util.lo context_vanilla.lo ../../../src/libgpgme.la -L/opt/local/lib -lassuan
libtool: link: /opt/local/bin/g++-mp-7 -dynamiclib -arch ppc -o .libs/libgpgmepp.6.dylib .libs/exception.o .libs/context.o .libs/key.o .libs/trustitem.o .libs/data.o .libs/callbacks.o .libs/eventloopinteractor.o .libs/editinteractor.o .libs/keylistresult.o .libs/keygenerationresult.o .libs/importresult.o .libs/decryptionresult.o .libs/verificationresult.o .libs/signingresult.o .libs/encryptionresult.o .libs/engineinfo.o .libs/gpgsetexpirytimeeditinteractor.o .libs/gpgsetownertrusteditinteractor.o .libs/gpgsignkeyeditinteractor.o .libs/gpgadduserideditinteractor.o .libs/gpggencardkeyinteractor.o .libs/gpgaddexistingsubkeyeditinteractor.o .libs/gpgrevokekeyeditinteractor.o .libs/defaultassuantransaction.o .libs/scdgetinfoassuantransaction.o .libs/gpgagentgetinfoassuantransaction.o .libs/statusconsumerassuantransaction.o .libs/vfsmountresult.o .libs/configuration.o .libs/tofuinfo.o .libs/swdbresult.o .libs/util.o .libs/context_vanilla.o -L/opt/local/lib ../../../src/.libs/libgpgme.dylib /opt/local/lib/libgpg-error.dylib /opt/local/lib/libassuan.dylib -Os -arch ppc -Wl,-headerpad_max_install_names -arch ppc -install_name /opt/local/lib/libgpgmepp.6.dylib -compatibility_version 27 -current_version 27.1 -Wl,-single_module
Undefined symbols:"strcasecmp(char const*, char const*)", referenced from: GpgME::Key::isRoot() const in key.o GpgME::Key::mergeWith(GpgME::Key const&) in key.old: symbol(s) not found
collect2: error: ld returned 1 exit status
make[4]: * [libgpgmepp.la] Error 1
make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_gpgme/gpgme/work/gpgme-1.23.2/lang/cpp/src'
make[3]: * [all-recursive] Error 1
The file in question, gpgme-1.23.2/lang/cpp/src/key.cpp, was compiled this way:
/bin/sh ../../../libtool --tag=CXX --mode=compile /opt/local/bin/g++-mp-7 -std=c++11 -DHAVE_CONFIG_H -I. -I../../../conf -I../../../src -fvisibility=hidden -I/opt/local/include -I/opt/local/include -DBUILDING_GPGMEPP -Wsuggest-override -Wzero-as-null-pointer-constant -I/opt/local/include -pipe -Os -std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -MT key.lo -MD -MP -MF .deps/key.Tpo -c -o key.lo key.cpp
libtool: compile: /opt/local/bin/g++-mp-7 -std=c++11 -DHAVE_CONFIG_H -I. -I../../../conf -I../../../src -fvisibility=hidden -I/opt/local/include -I/opt/local/include -DBUILDING_GPGMEPP -Wsuggest-override -Wzero-as-null-pointer-constant -I/opt/local/include -pipe -Os -std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -MT key.lo -MD -MP -MF .deps/key.Tpo -c key.cpp -fno-common -DPIC -o .libs/key.o
libtool: compile: /opt/local/bin/g++-mp-7 -std=c++11 -DHAVE_CONFIG_H -I. -I../../../conf -I../../../src -fvisibility=hidden -I/opt/local/include -I/opt/local/include -DBUILDING_GPGMEPP -Wsuggest-override -Wzero-as-null-pointer-constant -I/opt/local/include -pipe -Os -std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -MT key.lo -MD -MP -MF .deps/key.Tpo -c key.cpp -o key.o >/dev/null 2>&1
mv -f .deps/key.Tpo .deps/key.Plo
Performing manually
/opt/local/bin/g++-mp-7 -std=c++11 -DHAVE_CONFIG_H -I. -I../../../conf -I../../../src -fvisibility=hidden -I/opt/local/include -I/opt/local/include -DBUILDING_GPGMEPP -Wsuggest-override -Wzero-as-null-pointer-constant -I/opt/local/include -pipe -Os -std=c++17 -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -E key.cpp -dD -H -fno-common -DPIC -o ~/key.ccp
leads to the following output, first on command line:
.
.
.
. engineinfo.h
. /usr/include/strings.h
. /opt/local/include/gcc7/c++/cassert
.. /usr/include/assert.h
... /opt/local/include/gcc7/c++/stdlib.h
.... /opt/local/include/gcc7/c++/cstdlib
. /opt/local/include/gcc7/c++/iterator
.. /opt/local/include/gcc7/c++/bits/stream_iterator.h
Multiple include guards may be useful for:
../../../conf/config.h
/opt/local/include/gcc7/c++/cassert
/opt/local/include/gcc7/c++/clocale
/opt/local/include/gcc7/c++/cstdio
/opt/local/include/gcc7/c++/cstring
/opt/local/include/gcc7/c++/cwctype
/opt/local/include/gcc7/c++/ppc-apple-darwin8/bits/ctype_base.h
/opt/local/include/gcc7/c++/ppc-apple-darwin8/bits/ctype_inline.h
/opt/local/include/gcc7/c++/stdlib.h
/usr/include/assert.h
/usr/include/strings.h
<finished here>
and here in the pre-processed output file:
33 "key.cpp" 2
- 1 "/usr/include/strings.h" 1 3 4
- 71 "/usr/include/strings.h" 3 4
71 "/usr/include/strings.h" 3 4
int bcmp(const void *, const void *, size_t);
void bcopy(const void *, void *, size_t);
void bzero(void *, size_t);
int ffs(int);
char *index(const char *, int);
char *rindex(const char *, int);
int strcasecmp(const char *, const char *);
int strncasecmp(const char *, const char *, size_t);
- 38 "key.cpp" 2
So it should build – but I have no idea of C++…