The International Simutrans Forum

Development => Bug Reports => Topic started by: Andarix on February 02, 2022, 11:12:07 PM

Title: r10440 - macOS not compile
Post by: Andarix on February 02, 2022, 11:12:07 PM
Quote...
2022-02-02T08:43:09.6399830Z config.status: creating config.default
2022-02-02T08:43:10.8923500Z Git hash is 0x540754f
2022-02-02T08:43:11.1512760Z ===> Obj-c OSX OSX/translocation.m
2022-02-02T08:43:11.1856580Z error: invalid argument '-std=c++14' not allowed with 'Objective-C'
2022-02-02T08:43:11.1872260Z make: *** [build/default/OSX/translocation.o] Error 1
2022-02-02T08:43:11.1895050Z ##[error]Process completed with exit code 2.
2022-02-02T08:43:11.2000500Z Post job cleanup.
Title: Re: r10440 - macOS not compile
Post by: prissi on February 03, 2022, 05:10:38 AM
Since it compiled without c++14 (as it is the default setting on mac as far as I know) one could remove this. Actually, one must remove this, as different compiler could have different flags.

But the MacOS is compiled using cmake, and that did work even for the most recent commit.
Title: Re: r10440 - macOS not compile
Post by: Andarix on February 03, 2022, 09:25:21 AM
linux r10442

Quote...
2022-02-03T08:54:42.1865901Z make: *** [build/default/dataobj/scenario.o] Error 1
2022-02-03T08:54:42.1920793Z common.mk:50: recipe for target 'build/default/dataobj/scenario.o' failed
2022-02-03T08:54:42.1940552Z ##[error]Process completed with exit code 2.
...

macOS r10442

Quote...
2022-02-03T08:53:43.5619890Z In file included from sys/clipboard_s2.cc:11:
2022-02-03T08:53:43.5621080Z In file included from sys/../dataobj/translator.h:12:
2022-02-03T08:53:43.5621930Z sys/../display/../dataobj/../tpl/stringhashtable_tpl.h:50:9: error: no template named 'hashtable_tpl'
2022-02-03T08:53:43.5622390Z         public hashtable_tpl<const char *, value_t, stringhash_t>
2022-02-03T08:53:43.5622670Z                ^
2022-02-03T08:53:43.5645630Z sys/../display/../dataobj/../tpl/stringhashtable_tpl.h:53:26: error: no template named 'hashtable_tpl'
2022-02-03T08:53:43.5646170Z         stringhashtable_tpl() : hashtable_tpl<const char *, value_t, stringhash_t>() {}
2022-02-03T08:53:43.5646480Z                                 ^
2022-02-03T08:53:43.5687420Z In file included from sys/clipboard_s2.cc:11:
2022-02-03T08:53:43.5687810Z In file included from sys/../dataobj/translator.h:13:
2022-02-03T08:53:43.5688910Z sys/../display/../dataobj/../tpl/vector_tpl.h:286:2: error: use of undeclared identifier 'sim'
2022-02-03T08:53:43.5707690Z         sim::swap(a.data,  b.data);
2022-02-03T08:53:43.5708290Z         ^
2022-02-03T08:53:43.5708940Z sys/../display/../dataobj/../tpl/vector_tpl.h:287:2: error: use of undeclared identifier 'sim'
2022-02-03T08:53:43.5709290Z         sim::swap(a.size,  b.size);
2022-02-03T08:53:43.5709510Z         ^
2022-02-03T08:53:43.5719390Z sys/../display/../dataobj/../tpl/vector_tpl.h:288:2: error: use of undeclared identifier 'sim'
2022-02-03T08:53:43.5719790Z         sim::swap(a.count, b.count);
2022-02-03T08:53:43.5720010Z         ^
2022-02-03T08:53:44.1687090Z 2 warnings and 17 errors generated.
2022-02-03T08:53:44.1731550Z make: *** [build/default/sys/clipboard_s2.o] Error 1
2022-02-03T08:53:44.1755560Z ##[error]Process completed with exit code 2.
...
Title: Re: r10440 - macOS not compile
Post by: prissi on February 03, 2022, 11:47:49 AM
make for macOS is not tested. Use cmake, that works. The server on Linux builds without problem, and that uses the makefile and Debian10.
Title: Re: r10440 - macOS not compile
Post by: Andarix on February 04, 2022, 11:12:45 AM
r10454

Quote...
2022-02-04T11:06:38.6743500Z ===> HOSTCXX src/simutrans/sys/clipboard_s2.cc
2022-02-04T11:06:39.2511060Z In file included from src/simutrans/sys/clipboard_s2.cc:11:
2022-02-04T11:06:39.2511450Z In file included from src/simutrans/sys/../dataobj/translator.h:12:
2022-02-04T11:06:39.2512620Z In file included from src/simutrans/sys/../display/../dataobj/../tpl/stringhashtable_tpl.h:10:
2022-02-04T11:06:39.2513070Z In file included from src/simutrans/sys/../display/../dataobj/../tpl/hashtable_tpl.h:11:
2022-02-04T11:06:39.2513820Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:8: error: unknown type name 'constexpr'
2022-02-04T11:06:39.2514410Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2514680Z        ^
2022-02-04T11:06:39.2515250Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:18: warning: variable templates are a C++14 extension [-Wc++14-extensions]
2022-02-04T11:06:39.2515670Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2515910Z                  ^
2022-02-04T11:06:39.2516400Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:24: error: expected ';' at end of declaration
2022-02-04T11:06:39.2516760Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2517050Z                        ^
2022-02-04T11:06:39.2517290Z                        ;
2022-02-04T11:06:39.2526460Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:40: error: unknown type name 'T'
2022-02-04T11:06:39.2526840Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2527090Z                                        ^
2022-02-04T11:06:39.2538430Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:46: error: use of undeclared identifier 'N'
2022-02-04T11:06:39.2538830Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2539100Z                                              ^
2022-02-04T11:06:39.2550580Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:25: error: C++ requires a type specifier for all declarations
2022-02-04T11:06:39.2551020Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2551270Z                         ^
2022-02-04T11:06:39.2552000Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:16:59: error: use of undeclared identifier 'N'
2022-02-04T11:06:39.2552360Z static constexpr size_t lengthof(const T (&)[N]) { return N; }
2022-02-04T11:06:39.2552670Z                                                           ^
2022-02-04T11:06:39.2567680Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:8: error: unknown type name 'constexpr'
2022-02-04T11:06:39.2568060Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2568350Z        ^
2022-02-04T11:06:39.2568850Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:18: warning: variable templates are a C++14 extension [-Wc++14-extensions]
2022-02-04T11:06:39.2569470Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2569760Z                  ^
2022-02-04T11:06:39.2570250Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:19: error: expected ';' at end of declaration
2022-02-04T11:06:39.2570650Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2570890Z                   ^
2022-02-04T11:06:39.2571260Z                   ;
2022-02-04T11:06:39.2572290Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:21: error: C++ requires a type specifier for all declarations
2022-02-04T11:06:39.2572710Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2572990Z                     ^
2022-02-04T11:06:39.2582130Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:31: error: use of undeclared identifier 'arr'
2022-02-04T11:06:39.2582550Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2582850Z                               ^
2022-02-04T11:06:39.2591090Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:36: error: use of undeclared identifier 'N'
2022-02-04T11:06:39.2591490Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2591740Z                                    ^
2022-02-04T11:06:39.2592820Z src/simutrans/sys/../display/../dataobj/../tpl/../macros.h:19:39: error: expected ';' after top level declarator
2022-02-04T11:06:39.2593230Z static constexpr T *endof(T (&arr)[N]) { return arr + N; }
2022-02-04T11:06:39.2593490Z                                       ^
2022-02-04T11:06:39.2593730Z                                       ;
2022-02-04T11:06:39.2619070Z In file included from src/simutrans/sys/clipboard_s2.cc:11:
2022-02-04T11:06:39.2619840Z In file included from src/simutrans/sys/../dataobj/translator.h:12:
2022-02-04T11:06:39.2620660Z src/simutrans/sys/../display/../dataobj/../tpl/stringhashtable_tpl.h:50:9: error: no template named 'hashtable_tpl'
2022-02-04T11:06:39.2621080Z         public hashtable_tpl<const char *, value_t, stringhash_t>
2022-02-04T11:06:39.2621370Z                ^
2022-02-04T11:06:39.2640510Z src/simutrans/sys/../display/../dataobj/../tpl/stringhashtable_tpl.h:53:26: error: no template named 'hashtable_tpl'
2022-02-04T11:06:39.2640950Z         stringhashtable_tpl() : hashtable_tpl<const char *, value_t, stringhash_t>() {}
2022-02-04T11:06:39.2641280Z                                 ^
2022-02-04T11:06:39.2680380Z In file included from src/simutrans/sys/clipboard_s2.cc:11:
2022-02-04T11:06:39.2680950Z In file included from src/simutrans/sys/../dataobj/translator.h:13:
2022-02-04T11:06:39.2681700Z src/simutrans/sys/../display/../dataobj/../tpl/vector_tpl.h:286:2: error: use of undeclared identifier 'sim'
2022-02-04T11:06:39.2698060Z         sim::swap(a.data,  b.data);
2022-02-04T11:06:39.2698360Z         ^
2022-02-04T11:06:39.2699200Z src/simutrans/sys/../display/../dataobj/../tpl/vector_tpl.h:287:2: error: use of undeclared identifier 'sim'
2022-02-04T11:06:39.2699550Z         sim::swap(a.size,  b.size);
2022-02-04T11:06:39.2699800Z         ^
2022-02-04T11:06:39.2705210Z src/simutrans/sys/../display/../dataobj/../tpl/vector_tpl.h:288:2: error: use of undeclared identifier 'sim'
2022-02-04T11:06:39.2705610Z         sim::swap(a.count, b.count);
2022-02-04T11:06:39.2705880Z         ^
2022-02-04T11:06:39.2706930Z src/simutrans/sys/../display/../dataobj/../tpl/vector_tpl.h:297:6: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
2022-02-04T11:06:39.2707350Z         for(auto const i : v) {
2022-02-04T11:06:39.2707720Z             ^
2022-02-04T11:06:39.2708330Z src/simutrans/sys/../display/../dataobj/../tpl/vector_tpl.h:297:19: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]
2022-02-04T11:06:39.2708710Z         for(auto const i : v) {
2022-02-04T11:06:39.2709090Z                          ^
2022-02-04T11:06:39.8411370Z 4 warnings and 17 errors generated.
2022-02-04T11:06:39.8454760Z make: *** [build/default/src/simutrans/sys/clipboard_s2.o] Error 1
2022-02-04T11:06:39.8478400Z ##[error]Process completed with exit code 2.
...
Title: Re: r10440 - macOS not compile
Post by: prissi on February 04, 2022, 12:52:27 PM
Seems to be the same issue, missing std C++14. However, it must not be applied for mm files, so the solution is trickier. For MacOS only buuilding with cmake is supported. The Makefile bundles do not to work according to user feedback.
Title: Re: r10440 - macOS not compile
Post by: Dwachs on February 04, 2022, 01:12:13 PM
The build process on github works, maybe you want to check the differences in the setup?
Title: Re: r10440 - macOS not compile
Post by: prissi on February 04, 2022, 02:56:33 PM
Github uses CMake, but the log shows this is a Makefile build using config.default. That has never really worked for MacOS users who do not install dependencies via homebrew, I was told.