[Haskell-cafe] Re: Unfriendly hs-plugins error

Björn Buckwalter bjorn.buckwalter at gmail.com
Mon Oct 1 22:29:34 EDT 2007


By the way, this was with hs-plugins-1.0-rc1. I appear to be unable to
install hs-plugins-0.9.10 now (perhaps because of 1.0-rc1). In case it
helps this is the not so pretty output from doing a "make check" in
1.0rc1:

=== testing testsuite/conf/simple                              ... ===
testing testsuite/dynload/io                               ... ===
testing testsuite/dynload/poly                             ... ===
testing testsuite/dynload/should_fail                      ... ===
testing testsuite/dynload/should_fail_1                    ... ===
testing testsuite/dynload/should_fail_2                    ... ===
testing testsuite/dynload/should_fail_3                    ... ===
testing testsuite/dynload/simple                           ... ===
testing testsuite/eval/eval1                               ... ===
testing testsuite/eval/eval2                               ... ===
testing testsuite/eval/eval3                               ... ===
testing testsuite/eval/eval_                               ... ===
testing testsuite/eval/eval_fn                             ... ===
testing testsuite/eval/eval_fn1                            ... ===
testing testsuite/eval/foreign_eval                        ...
ignored.
=== testing testsuite/eval/foreign_eval1                       ... ignored.
=== testing testsuite/eval/foreign_should_fail                 ... ignored.
=== testing testsuite/eval/foreign_should_fail_illtyped        ... ignored.
=== testing testsuite/eval/unsafeidir                          ... ===
testing testsuite/hier/hier1                               ... ===
testing testsuite/hier/hier2                               ... ===
testing testsuite/hier/hier3                               ... ===
testing testsuite/hier/hier4                               ... ===
testing testsuite/iface/null                               ... ===
testing testsuite/load/io                                  ... ===
testing testsuite/load/load_0                              ... ===
testing testsuite/load/loadpkg                             ... ===
testing testsuite/load/null                                ... ===
testing testsuite/load/thiemann0                           ... ===
testing testsuite/load/thiemann2                           ... ===
testing testsuite/load/unloadpkg                           ... ===
testing testsuite/loadCLib/null                            ... ===
testing testsuite/make/makeall001                          ... ===
testing testsuite/make/null                                ... ===
testing testsuite/make/o                                   ... ===
testing testsuite/make/odir                                ... ===
testing testsuite/make/remake001                           ... ===
testing testsuite/make/remake001_should_fail               ... ===
testing testsuite/make/simple                              ... ===
testing testsuite/makewith/global_pragma                   ... ===
testing testsuite/makewith/io                              ... ===
testing testsuite/makewith/merge00                         ... ===
testing testsuite/makewith/mergeto0                        ... ===
testing testsuite/makewith/module_name                     ... ===
testing testsuite/makewith/multi_make                      ... ===
testing testsuite/makewith/should_fail_0                   ... ===
testing testsuite/makewith/tiny                            ... ===
testing testsuite/makewith/unsafeio                        ... ===
testing testsuite/misc/mkstemps                            ... ===
testing testsuite/multi/3plugins                           ... ===
testing testsuite/objc/expression_parser                   ...
ignored.
=== testing testsuite/pdynload/badint                          ... ===
testing testsuite/pdynload/bayley1                         ... ===
testing testsuite/pdynload/null                            ... ===
testing testsuite/pdynload/numclass                        ... ===
testing testsuite/pdynload/poly                            ... ===
testing testsuite/pdynload/poly1                           ... ===
testing testsuite/pdynload/should_fail0                    ... ===
testing testsuite/pdynload/should_fail1                    ... ===
testing testsuite/pdynload/small                           ... ===
testing testsuite/pdynload/spj1                            ...
ignored.
=== testing testsuite/pdynload/spj2                            ... ===
testing testsuite/pdynload/spj3                            ... ===
testing testsuite/pdynload/spj4                            ... ===
testing testsuite/pdynload/typealias                       ... ===
testing testsuite/pdynload/univquant                       ... ===
testing testsuite/pkgconf/null                             ...
ignored.
=== testing testsuite/plugs/plugs                              ... failed with:
  / .___/_/\__,_/\__, /____/       Type :? for help
 /_/            /____/

-Loading package base ... linking ... plugs> plugs> done
-453973694165307953197296969697410619233826
+Loading package base ... linking ... plugs> let fibs = 1 : 1 :
zipWith (+) fibs (tail fibs) in fibs !! 200
+plugs:
+unknown symbol `_base_GHCziList_znzn_closure'
+done
+plugs: user error (resolvedObjs failed.)
+
=== testing testsuite/plugs/runplugs                           ... ===
testing testsuite/reload/null                              ... ===
testing testsuite/shell/shell                              ...
ignored.
=== testing testsuite/shell/simple                             ... ignored.
=== testing testsuite/unload/null                              ... ===
testing testsuite/unload/sjwtrap                           ... ===
testing testsuite/unloadAll/null                           ...



On 10/1/07, Björn Buckwalter <bjorn.buckwalter at gmail.com> wrote:
> Dear all,
>
> I'm getting a rather unfriendly error when trying to load a plugin
> with hs-plugins:
>
>     my_program: Ix{Int}.index: Index (65536) out of range ((0,7))
>
> The exact numbers in the message vary depending on what I'm trying to
> do. I'm using GHC-6.6.1 on MacOS X. Here are three files that exhibit
> the behaviour for me:
>
> API.lhs
> =======
> > module API where
> > data Config = Config { param :: String }
>
> Main.lhs
> ========
> > module Main where
> > import System (getArgs)
> > import System.Plugins
> > import API
>
> > getConfig :: [String] -> IO Config
> > getConfig [file] = do
> >   status <- make file []
> >   obj    <- case status of
> >               MakeSuccess _ o -> return o
> >               MakeFailure es  -> mapM_ putStrLn es >> error "make failed"
> >   putStrLn $ "### loading " ++ file
> >   m_v    <- load_ obj ["."] "config"
> >   putStrLn $ "### checking " ++ file
> >   val    <- case m_v of
> >               LoadSuccess _ v -> return v
> >               LoadFailure es  -> mapM_ putStrLn es >> error "load failed"
> >   return val
>
> > main = getArgs >>= getConfig >>= putStrLn . param
>
> CustomConfig.hs
> ===============
> >module CustomConfig where
> > import API
> > config = Config { param = "Doomed to fail!" }
>
>
> I compile the above with "ghc --make -o my_program PluginTest.lhs" and
> execute with "./my_program CustomConfig.lhs".
>
> Any hints welcome. Thanks,
> Bjorn Buckwalter
>


More information about the Haskell-Cafe mailing list