+#else // def HAVE_LIBDL
+
+/*
+ * In case no working libdl has been found by configure, the following function
+ * stubs preserve the interface. Every function just raises an exception.
+ */
+
+void compile_ex(const ex& expr, const symbol& sym, FUNCP_1P& fp, const std::string filename)
+{
+ throw std::runtime_error("compile_ex has been disabled because of missing libdl!");
+}
+
+void compile_ex(const ex& expr, const symbol& sym1, const symbol& sym2, FUNCP_2P& fp, const std::string filename)
+{
+ throw std::runtime_error("compile_ex has been disabled because of missing libdl!");
+}
+
+void compile_ex(const lst& exprs, const lst& syms, FUNCP_CUBA& fp, const std::string filename)
+{
+ throw std::runtime_error("compile_ex has been disabled because of missing libdl!");
+}
+
+void link_ex(const std::string filename, FUNCP_1P& fp)
+{
+ throw std::runtime_error("link_ex has been disabled because of missing libdl!");
+}
+
+void link_ex(const std::string filename, FUNCP_2P& fp)
+{
+ throw std::runtime_error("link_ex has been disabled because of missing libdl!");
+}
+
+void link_ex(const std::string filename, FUNCP_CUBA& fp)
+{
+ throw std::runtime_error("link_ex has been disabled because of missing libdl!");
+}
+
+void unlink_ex(const std::string filename)
+{
+ throw std::runtime_error("unlink_ex has been disabled because of missing libdl!");
+}
+
+#endif // def HAVE_LIBDL