+
+ if (simix_global->context_factory == nullptr) {
+ XBT_ERROR("Invalid context factory specified. Valid factories on this machine:");
+#if HAVE_RAW_CONTEXTS
+ XBT_ERROR(" raw: high performance context factory implemented specifically for SimGrid");
+#else
+ XBT_ERROR(" (raw contexts were disabled at compilation time on this machine -- check configure logs for details)");
+#endif
+#if HAVE_UCONTEXT_CONTEXTS
+ XBT_ERROR(" ucontext: classical system V contexts (implemented with makecontext, swapcontext and friends)");
+#else
+ XBT_ERROR(" (ucontext was disabled at compilation time on this machine -- check configure logs for details)");
+#endif
+#if HAVE_BOOST_CONTEXTS
+ XBT_ERROR(" boost: this uses the boost libraries context implementation");
+#else
+ XBT_ERROR(" (boost was disabled at compilation time on this machine -- check configure logs for details. Did you install the libboost-context-dev package?)");
+#endif
+ XBT_ERROR(" thread: slow portability layer using pthreads as provided by gcc");
+ xbt_die("Please use a valid factory.");
+ }