kristall icon indicating copy to clipboard operation
kristall copied to clipboard

13 errors on MacOS build

Open mroberts1 opened this issue 4 years ago • 3 comments

Downloaded updated repo > reinstalled qt and openssl with Homebrew > make build/kristall > 13 error messages (below)

In file included from dialogs/certificateselectiondialog.cpp:8: In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:318:9: error: no member named 'signbit' in the global namespace using ::signbit; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:319:9: error: no member named 'fpclassify' in the global namespace using ::fpclassify; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:320:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'? using ::isfinite; ~~^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:749:12: note: 'finite' declared here extern int finite(double) ^ In file included from dialogs/certificateselectiondialog.cpp:8: In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:321:9: error: no member named 'isinf' in the global namespace using ::isinf; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:322:9: error: no member named 'isnan' in the global namespace using ::isnan; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:323:9: error: no member named 'isnormal' in the global namespace using ::isnormal; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:324:9: error: no member named 'isgreater' in the global namespace; did you mean 'qGreater'? using ::isgreater; ~~^ /usr/local/opt/qt/include/QtCore/qalgorithms.h:163:43: note: 'qGreater' declared here class QT_DEPRECATED_X("Use std::greater") qGreater ^ In file included from dialogs/certificateselectiondialog.cpp:8: In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:325:7: error: no member named 'isgreaterequal' in the global namespace; did you mean '::std::greater_equal'? using ::isgreaterequal; ^~ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/functional:757:29: note: '::std::greater_equal' declared here struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool> ^ In file included from dialogs/certificateselectiondialog.cpp:8: In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/random:1638: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:326:9: error: no member named 'isless' in the global namespace using ::isless; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:327:9: error: no member named 'islessequal' in the global namespace using ::islessequal; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:328:9: error: no member named 'islessgreater' in the global namespace using ::islessgreater; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:329:9: error: no member named 'isunordered' in the global namespace using ::isunordered; ~~^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:330:9: error: no member named 'isunordered' in the global namespace using ::isunordered; ~~^ 13 errors generated. make: *** [certificateselectiondialog.o] Error 1

mroberts1 avatar Oct 21 '20 15:10 mroberts1

Can you be more specific about what OS version you are using? What packages/development stuff is installed? I have zero experience with MacOS sadly, so we have to rely on others to get help here

ikskuh avatar Oct 21 '20 15:10 ikskuh

I'm running MacOS 10.15 Beta (Catalina).

The issue in this case doesn't appear to be the same as the earlier one involving the include locations for qt and [email protected]. The errors are all to do with CommandLineTools and missing cmath and c++ modules (or whatever they are).

I'm running an older version of XCode (11.13) and can't upgrade to the current one, so this may be the problem. I installed Command Line Tools for that version and rebooted but when I re-ran make build/kristall into an empty /build directory it generated the same 13 errors.

The build/Makefile has some includes to these frameworks:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL

I suspect that this is the path where it is looking for the cmath and c++ libraries and not finding them. They appear to be installed in the Command Line Tools that are in the Contents directory of the XCode package but I haven't tried using a path to that in build/Makefile.

I really need to upgrade to the current MacOS 10.15.4 and upgrade to the latest XCode, then will see if that fixes the problem.

I doubt that this will make much sense as I have little experience with this level of granularity in getting installs to work.

mroberts1 avatar Oct 22 '20 05:10 mroberts1

@mroberts1 Hey boss, my only access to MacOS is remotely to Mojave on a relative's computer, and I can't arbitrarily upgrade it to Catalina to check this, but I do get a good build on Mojave. That doesn't really help you, as there is no XCode install on there and I'm simply running the build via the Homebrew tools fresh on there (after an upgrade from Lion..).

There's a guide here which covers some issues that were encountered with Catalina upgrades https://medium.com/faun/macos-catalina-xcode-homebrew-gems-developer-headaches-cf7b1edf10b7 in particular, if you have everything backed up, maybe just try and install the base command line tools Apple provides with xcode-select --install

Alternatively, if you have the space, this could be a time to resize your system volumes and make a completely fresh Catalina install? It's entirely possible that it might not solve this problem, but could give you a cleaner base to work from.

jaynemo avatar Oct 25 '20 21:10 jaynemo