{
    "componentChunkName": "component---src-templates-markdown-doc-tsx",
    "path": "/2025.1.3/support/troubleshooting",
    "result": {"data":{"mdx":{"id":"e6180842-6132-5ced-95e5-0c44de120b80","frontmatter":{"title":"","images":null},"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Troubleshooting\"), mdx(\"h3\", null, \"Error loading shared libraries\"), mdx(\"p\", null, \"Most things in \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"Salvus\"), \" are statically linked, except MPI, thus dynamic MPI\\nlibraries must be available. If these are not present, errors like the\\nfollowing happen:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"error while loading shared libraries: libmpi.so.12: cannot\\nopen shared object file: No such file or directory\\n\")), mdx(\"p\", null, \"On sites without central job submission system (thus usually single nodes),\\njust let the Mondaic downloader also download MPI. It will but the MPI\\nlibraries in the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"lib/\"), \" folder and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SalvusFlow\"), \" will set the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"LD_LIBRARY_PATH\"), \"\\naccordingly when running Salvus.\"), mdx(\"p\", null, \"For other sites, please load a suitable MPI module (see\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/installation#mpi\"\n  }, \"here\"), \" for more details). In some cases the\\nmodule system might not set the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"$LD_LIBRARY_PATH\"), \" - then it has to be done\\nmanually in the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"SalvusFlow\"), \" config file for the corresponding site.\"), mdx(\"h3\", null, \"Jupyter kernel dies\"), mdx(\"p\", null, \"If you see the Jupyter notebook kernel dying when importing parts of Salvus\\nmake sure that you have a valid license and an active internet connection. If\\none of these is the issue, there should be an error message in the terminal\\nthat started Jupyter notebook. For technical reasons we cannot show this\\nmessage in the Jupyter notebook.\"), mdx(\"h3\", null, \"Certificate errors while running the downloader\"), mdx(\"p\", null, \"On old systems (or just having an old version of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"curl\"), \" which might for example\\nalso happen when inside a python environment) the certificate might not be\\nvalid, so errors like this one might occur when attempting to run Mondaic's\\ndownloader:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"curl: (77) error setting certificate verify locations:\\n  CAfile: /etc/pki/tls/certs/ca-bundle.crt\\n  CApath: none\\n\")), mdx(\"p\", null, \"In these cases you could attempt to fix your \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"curl\"), \" installation or just\\nmanually do what the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"get.mondaic.com\"), \" script is doing:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Download either\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://get.mondaic.com/salvus_downloader_linux\"\n  }, \"https://get.mondaic.com/salvus_downloader_linux\"), \"\\nor\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://get.mondaic.com/salvus_downloader_osx\"\n  }, \"https://get.mondaic.com/salvus_downloader_osx\"), \"\\n(depending on your operating system) by whatever means possible (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wget\"), \",\\n\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"browser\"), \", copy on other machine and \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"scp\"), \" it over, ...).\")), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Give it execution rights and run it:\"), mdx(\"pre\", {\n    parentName: \"li\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-shell\"\n  }, \"$ chmod u+x salvus_downloader_*\\n$ ./salvus_downloader_*\\n\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The rest is business as usual.\"))), mdx(\"h3\", null, \"Illegal instructions\"), mdx(\"p\", null, \"An error like\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-shell\"\n  }, \"Illegal instruction\\n\")), mdx(\"p\", null, \"occurs if attempting to run a binary that has instructions that the current CPU\\ncannot interpret. If you see this when running Salvus you likely downloaded the\\nwrong binary for your system. Please see our \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/installation/microarchitecture\"\n  }, \"documentation about instruction\\nsets\"), \" for more details.\"), mdx(\"p\", null, \"Our downloader should auto-detect your CPU and choose the correct binaries. If\\nthat detection is faulty, please let us know.\"), mdx(\"h3\", null, \"Error during import of salvus_flow\"), mdx(\"p\", null, \"The \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"arrow\"), \" package, which is used by SalvusFlow, currently undergoes a major update.\\nThis may lead to the following error message when trying to import salvus_flow:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"AttributeError: module 'arrow.factory' has no attribute 'ArrowParseWarning'\\n\")), mdx(\"p\", null, \"Some older Salvus releases require a specific version of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"arrow\"), \".\\nTo check which version you have installed, run the following line in a terminal\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"python -c \\\"import arrow; print(arrow.__version__)\\\"\\n\")), mdx(\"p\", null, \"To upgrade your local installation of arrow, run\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"pip install --upgrade arrow==0.14.7\\n\")), mdx(\"p\", null, \"Salvus version \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.10.3\"), \" and above will also work with the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"arrow\"), \" release (\", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0.15.0\"), \").\"), mdx(\"h3\", null, \"Error in salvus-flow-config.toml\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"ValueError: '/some/path/salvus-flow-config.toml' does not appear to be a valid TOML file. Parsing it failed with: Unbalanced quotes (line XX column XX char XXX)\\n\")), mdx(\"p\", null, \"When manually editing the salvus-flow-config.toml the font encoding of your editor might give you \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\u201D\"), \" instead of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"\\\"\"), \", which leads to the error message above.\\nThis is especially likely to happen when you copy&paste information into the editor.\"), mdx(\"p\", null, \"Make sure to use the correct quotes everywhere, and the error message will disappear.\"), mdx(\"h3\", null, \"MPI gethostbyname failed\"), mdx(\"p\", null, \"Salvus fails with an error like the following:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"Fatal error in MPI_Init_thread: Other MPI error, error stack:\\nMPIR_Init_thread(474)..............:\\nMPID_Init(190).....................: channel initialization failed\\nMPIDI_CH3_Init(89).................:\\nMPID_nem_init(320).................:\\nMPID_nem_tcp_init(173).............:\\nMPID_nem_tcp_get_business_card(420):\\nMPID_nem_tcp_init(379).............: gethostbyname failed, localhost (errno 1)\\n\")), mdx(\"p\", null, \"Please follow the steps described here: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://stackoverflow.com/questions/23112515/mpich2-gethostbyname-failed\"\n  }, \"https://stackoverflow.com/questions/23112515/mpich2-gethostbyname-failed\")));\n}\n;\nMDXContent.isMDXComponent = true;"},"site":{"siteMetadata":{"salvusDocVersions":{"current":"2026.5.0"}}}},"pageContext":{"id":"e6180842-6132-5ced-95e5-0c44de120b80"}},
    "staticQueryHashes": ["1756726491","1865182279","3419370438","3597190305","4112489441","519097329"]}