7 -- |
7 -- |
8 |
8 |
9 |
9 |
10 local fatal; |
10 local fatal; |
11 |
11 |
12 local function softreq(...) local ok, lib = pcall(require, ...); if ok then return lib; else return nil; end end |
12 local function softreq(...) local ok, lib = pcall(require, ...); if ok then return lib; else return nil, lib; end end |
13 |
13 |
14 local function missingdep(name, sources, msg) |
14 local function missingdep(name, sources, msg) |
15 print(""); |
15 print(""); |
16 print("**************************"); |
16 print("**************************"); |
17 print("Prosody was unable to find "..tostring(name)); |
17 print("Prosody was unable to find "..tostring(name)); |
49 else |
49 else |
50 missingdep("LuaSec", { ["Source"] = "http://www.inf.puc-rio.br/~brunoos/luasec/" }, "SSL/TLS support will not be available"); |
50 missingdep("LuaSec", { ["Source"] = "http://www.inf.puc-rio.br/~brunoos/luasec/" }, "SSL/TLS support will not be available"); |
51 end |
51 end |
52 end |
52 end |
53 |
53 |
54 local encodings = softreq "util.encodings" |
54 local encodings, err = softreq "util.encodings" |
55 if not encodings then |
55 if not encodings then |
56 missingdep("util.encodings", { ["Windows"] = "Make sure you have encodings.dll from the Prosody distribution in util/"; |
56 if err:match("not found") then |
|
57 missingdep("util.encodings", { ["Windows"] = "Make sure you have encodings.dll from the Prosody distribution in util/"; |
57 ["GNU/Linux"] = "Run './configure' and 'make' in the Prosody source directory to build util/encodings.so"; |
58 ["GNU/Linux"] = "Run './configure' and 'make' in the Prosody source directory to build util/encodings.so"; |
58 }); |
59 }); |
|
60 else |
|
61 print "***********************************" |
|
62 print("util/encodings couldn't be loaded. Check that you have a recent version of libidn"); |
|
63 print "" |
|
64 print("The full error was:"); |
|
65 print(err) |
|
66 print "***********************************" |
|
67 end |
59 fatal = true; |
68 fatal = true; |
60 end |
69 end |
61 |
70 |
62 local encodings = softreq "util.hashes" |
71 local hashes, err = softreq "util.hashes" |
63 if not encodings then |
72 if not hashes then |
64 missingdep("util.hashes", { ["Windows"] = "Make sure you have hashes.dll from the Prosody distribution in util/"; |
73 if err:match("not found") then |
|
74 missingdep("util.hashes", { ["Windows"] = "Make sure you have hashes.dll from the Prosody distribution in util/"; |
65 ["GNU/Linux"] = "Run './configure' and 'make' in the Prosody source directory to build util/hashes.so"; |
75 ["GNU/Linux"] = "Run './configure' and 'make' in the Prosody source directory to build util/hashes.so"; |
66 }); |
76 }); |
|
77 else |
|
78 print "***********************************" |
|
79 print("util/hashes couldn't be loaded. Check that you have a recent version of OpenSSL (libcrypto in particular)"); |
|
80 print "" |
|
81 print("The full error was:"); |
|
82 print(err) |
|
83 print "***********************************" |
|
84 end |
67 fatal = true; |
85 fatal = true; |
68 end |
86 end |
69 |
87 |
70 if fatal then os.exit(1); end |
88 if fatal then os.exit(1); end |