diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,9 +1,14 @@
+### 0.6.0.1
+
+- *nhm-tool*: refactor parsing of *ldd* output, previously it could fail in rare
+  cases when there were any not found libraries in the list.
+
 ### 0.6.0.0
 
 - *nhm-tool*: add command *plan* to print the build plan or its derivatives.
   Command *deps* is now a synonym for command *plan deps*.
 - *nhm-tool*: generate more secure *Makefile* with variables surrounded by
-  commas in shell parts.
+  double quotes in shell parts.
 
 ### 0.5.6.0
 
diff --git a/NgxExport/Distribution.hs b/NgxExport/Distribution.hs
--- a/NgxExport/Distribution.hs
+++ b/NgxExport/Distribution.hs
@@ -320,6 +320,14 @@
 -- In this case, no changes in /hie.yaml/ are required. But it makes sense to
 -- add the new source files into variable /SRC/ in /Makefile/ to let /make/
 -- track them too.
+--
+-- To load the Haskell source file in the Haskell REPL, create the GHC package
+-- environment by running /make/ or /make env/ and then run
+--
+-- > $ ghci -fobject-code project_name.hs
+--
+-- Option /-fobject-code/ is required for export declarations of handlers like
+-- /incCnt/ which involve using foreign function interface.
 
 -- $drawbacks
 --
diff --git a/ngx-export-distribution.cabal b/ngx-export-distribution.cabal
--- a/ngx-export-distribution.cabal
+++ b/ngx-export-distribution.cabal
@@ -1,5 +1,5 @@
 name:                       ngx-export-distribution
-version:                    0.6.0.0
+version:                    0.6.0.1
 synopsis:                   Build custom libraries for Nginx Haskell module
 description:                Build custom libraries for
         <https://github.com/lyokha/nginx-haskell-module Nginx Haskell module>.
diff --git a/nhm-tool.hs b/nhm-tool.hs
--- a/nhm-tool.hs
+++ b/nhm-tool.hs
@@ -393,31 +393,28 @@
     where colon = ':'
 
 parseLddOutput :: String -> Either ParseError [LddRec]
-parseLddOutput = flip parse "ldd" $ many $
-    spaces *>
-    (try (toLddRec <$>
-              manyTill anyChar' sep <*>
-                  ((Just .) . (:) <$> char '/' <*> right
-                   <|> Nothing <$ string "not found"
-                  )
-         )
-     <|> try ((`LibOther` Nothing) <$> right)
-     <|> (`LibOther` Nothing) <$> manyTill anyChar' (sep *> addr *> newline)
-    )
-    where toLddRec lib | "libHS" `isPrefixOf` lib = LibHS lib
+parseLddOutput = flip parse "ldd" $ manyLines $
+    try (toLddRec <$>
+             anyCharsTill arrow <*>
+                 ((Just .) . (:) <$> char '/' <*> right
+                  <|> Nothing <$ string "not found"
+                 )
+        )
+    <|> (`LibOther` Nothing) <$> (try right <|> anyCharsTill (arrow *> addr))
+    where manyLines = many . (spaces *>) . (<* newline)
+          toLddRec lib | "libHS" `isPrefixOf` lib = LibHS lib
                        | "libffi.so" `isPrefixOf` lib = LibFFI lib
                        | otherwise = LibOther lib
-          right = manyTill anyChar' $ spaces1 *> addr *> newline
+          anyCharsTill = manyTill $ satisfy (/= '\n')
+          right = anyCharsTill $ spaces1 *> addr
           addr = string "(0x" *> many1 hexDigit *> char ')'
-          anyChar' = satisfy (/= '\n')
-          sep = spaces1 *> string "=>" *> spaces1
+          arrow = spaces1 *> string "=>" *> spaces1
           spaces1 = skipMany1 space
 
 cmdPlan :: PlanData -> IO ()
 cmdPlan PlanData {..} = do
-    let buildDir = if null planDataBuilddir
-                       then ProjectRelativeToDir "."
-                       else InBuildDir planDataBuilddir
+    let buildDir | null planDataBuilddir = ProjectRelativeToDir "."
+                 | otherwise = InBuildDir planDataBuilddir
     path <- findPlanJson buildDir
     case planDataQuery of
         Nothing ->
