
#12932: -fexternal-interpreter` fails to find symbols ----------------------------------------+---------------------------- Reporter: dominic | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: MacOS X Architecture: Unknown/Multiple | Type of failure: Other Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: ----------------------------------------+---------------------------- {{{-fexternal-interpreter}}} fails to find symbols but if I run without it all is well. Is this a bug or am I doing something wrong? {{{ ~/Dropbox/Private/Stochastic/demo $ ghci -fexternal-interpreter -prof fe- handling-example.o -i../../monad-bayes/src -package-db=.cabal- sandbox/x86_64-osx-ghc-8.0.1-packages.conf.d -L/usr/local/opt/openblas/lib -lopenblas ghci -fexternal-interpreter -prof fe-handling-example.o -i../../monad- bayes/src -package-db=.cabal-sandbox/x86_64-osx-ghc-8.0.1-packages.conf.d -L/usr/local/opt/openblas/lib -lopenblas GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help Prelude> :l app/Main.hs :l app/Main.hs [ 1 of 16] Compiling Control.Monad.Bayes.LogDomain ( ../../monad- bayes/src/Control/Monad/Bayes/LogDomain.hs, interpreted ) [ 2 of 16] Compiling Control.Monad.Bayes.Primitive ( ../../monad- bayes/src/Control/Monad/Bayes/Primitive.hs, interpreted ) [ 3 of 16] Compiling Control.Monad.Bayes.Class ( ../../monad- bayes/src/Control/Monad/Bayes/Class.hs, interpreted ) [ 4 of 16] Compiling Control.Monad.Bayes.Sampler ( ../../monad- bayes/src/Control/Monad/Bayes/Sampler.hs, interpreted ) [ 5 of 16] Compiling Control.Monad.Bayes.Sequential ( ../../monad- bayes/src/Control/Monad/Bayes/Sequential.hs, interpreted ) [ 6 of 16] Compiling Control.Monad.Bayes.Prior ( ../../monad- bayes/src/Control/Monad/Bayes/Prior.hs, interpreted ) [ 7 of 16] Compiling Control.Monad.Bayes.Rejection ( ../../monad- bayes/src/Control/Monad/Bayes/Rejection.hs, interpreted ) [ 8 of 16] Compiling Control.Monad.Bayes.Weighted ( ../../monad- bayes/src/Control/Monad/Bayes/Weighted.hs, interpreted ) [ 9 of 16] Compiling Control.Monad.Bayes.Population ( ../../monad- bayes/src/Control/Monad/Bayes/Population.hs, interpreted ) [10 of 16] Compiling Control.Monad.Bayes.Deterministic ( ../../monad- bayes/src/Control/Monad/Bayes/Deterministic.hs, interpreted ) [11 of 16] Compiling Control.Monad.Bayes.Conditional ( ../../monad- bayes/src/Control/Monad/Bayes/Conditional.hs, interpreted ) [12 of 16] Compiling Control.Monad.Bayes.Dist ( ../../monad- bayes/src/Control/Monad/Bayes/Dist.hs, interpreted ) [13 of 16] Compiling Control.Monad.Bayes.Coprimitive ( ../../monad- bayes/src/Control/Monad/Bayes/Coprimitive.hs, interpreted ) [14 of 16] Compiling Control.Monad.Bayes.Trace ( ../../monad- bayes/src/Control/Monad/Bayes/Trace.hs, interpreted ) [15 of 16] Compiling Control.Monad.Bayes.Inference ( ../../monad- bayes/src/Control/Monad/Bayes/Inference.hs, interpreted ) [16 of 16] Compiling Main ( app/Main.hs, interpreted ) Ok, modules loaded: Main, Control.Monad.Bayes.LogDomain, Control.Monad.Bayes.Primitive, Control.Monad.Bayes.Class, Control.Monad.Bayes.Population, Control.Monad.Bayes.Conditional, Control.Monad.Bayes.Inference, Control.Monad.Bayes.Sampler, Control.Monad.Bayes.Rejection, Control.Monad.Bayes.Weighted, Control.Monad.Bayes.Sequential, Control.Monad.Bayes.Trace, Control.Monad.Bayes.Dist, Control.Monad.Bayes.Prior, Control.Monad.Bayes.Deterministic, Control.Monad.Bayes.Coprimitive. *Main> main main ghc-iserv-prof: lookupSymbol failed in relocateSection (relocate external) /Users/dom/Dropbox/Private/Stochastic/demo/.cabal-sandbox/lib/x86_64-osx- ghc-8.0.1/hmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6/libHShmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6_p.a: unknown symbol `___ieee_divdc3' ghc-iserv-prof: Could not on-demand load symbol '_vectorScan' ghc-iserv-prof: lookupSymbol failed in relocateSection (relocate external) /Users/dom/Dropbox/Private/Stochastic/demo/.cabal-sandbox/lib/x86_64-osx- ghc-8.0.1/hmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6/libHShmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6_p.a: unknown symbol `_vectorScan' ghc-iserv-prof: Could not on-demand load symbol '_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziVectorizzed_constantAux_closure' ghc-iserv-prof: lookupSymbol failed in relocateSection (relocate external) /Users/dom/Dropbox/Private/Stochastic/demo/.cabal-sandbox/lib/x86_64-osx- ghc-8.0.1/hmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6/libHShmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6_p.a: unknown symbol `_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziVectorizzed_constantAux_closure' ghc-iserv-prof: Could not on-demand load symbol '_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziMatrix_Matrix_con_info' ghc-iserv-prof: lookupSymbol failed in relocateSection (relocate external) /Users/dom/Dropbox/Private/Stochastic/demo/.cabal-sandbox/lib/x86_64-osx- ghc-8.0.1/hmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6/libHShmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6_p.a: unknown symbol `_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziMatrix_Matrix_con_info' ghc-iserv-prof: Could not on-demand load symbol '_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziElement_zgzl_info' ghc-iserv-prof: lookupSymbol failed in relocateSection (relocate external) /Users/dom/Dropbox/Private/Stochastic/demo/.cabal-sandbox/lib/x86_64-osx- ghc-8.0.1/hmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6/libHShmatrix-0.18.0.0-ASQ7f3Yo6PP5MiGTxN80a6_p.a: unknown symbol `_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziElement_zgzl_info' ghc-iserv-prof: Could not on-demand load symbol '_hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziUtil_zdfIndexableVectorDouble_closure' ByteCodeLink.lookupCE During interactive linking, GHCi couldn't find the following symbol: hmatrixzm0zi18zi0zi0zmASQ7f3Yo6PP5MiGTxN80a6_InternalziUtil_zdfIndexableVectorDouble_closure This may be due to you not asking GHCi to load extra object files, archives or DLLs needed by your current session. Restart GHCi, specifying the missing library using the -L/path/to/object/dir and -lmissinglibname flags, or simply by naming the relevant files on the GHCi command line. Alternatively, this link failure might indicate a bug in GHCi. If you suspect the latter, please send a bug report to: glasgow-haskell-bugs@haskell.org *Main> }}} But without {{{-fexternal-interpreter}}} all is well. {{{ ~/Dropbox/Private/Stochastic/demo $ ghci -prof fe-handling-example.o -i ../../monad-bayes/src -package-db=.cabal-sandbox/x86_64-osx- ghc-8.0.1-packages.conf.d -L/usr/local/opt/openblas/lib -lopenblas ghci -prof fe-handling-example.o -i../../monad-bayes/src -package-db =.cabal-sandbox/x86_64-osx-ghc-8.0.1-packages.conf.d -L/usr/local/opt/openblas/lib -lopenblas GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help Prelude> :l app/Main.hs :l app/Main.hs [ 1 of 16] Compiling Control.Monad.Bayes.LogDomain ( ../../monad- bayes/src/Control/Monad/Bayes/LogDomain.hs, interpreted ) [ 2 of 16] Compiling Control.Monad.Bayes.Primitive ( ../../monad- bayes/src/Control/Monad/Bayes/Primitive.hs, interpreted ) [ 3 of 16] Compiling Control.Monad.Bayes.Class ( ../../monad- bayes/src/Control/Monad/Bayes/Class.hs, interpreted ) [ 4 of 16] Compiling Control.Monad.Bayes.Sampler ( ../../monad- bayes/src/Control/Monad/Bayes/Sampler.hs, interpreted ) [ 5 of 16] Compiling Control.Monad.Bayes.Sequential ( ../../monad- bayes/src/Control/Monad/Bayes/Sequential.hs, interpreted ) [ 6 of 16] Compiling Control.Monad.Bayes.Prior ( ../../monad- bayes/src/Control/Monad/Bayes/Prior.hs, interpreted ) [ 7 of 16] Compiling Control.Monad.Bayes.Rejection ( ../../monad- bayes/src/Control/Monad/Bayes/Rejection.hs, interpreted ) [ 8 of 16] Compiling Control.Monad.Bayes.Weighted ( ../../monad- bayes/src/Control/Monad/Bayes/Weighted.hs, interpreted ) [ 9 of 16] Compiling Control.Monad.Bayes.Population ( ../../monad- bayes/src/Control/Monad/Bayes/Population.hs, interpreted ) [10 of 16] Compiling Control.Monad.Bayes.Deterministic ( ../../monad- bayes/src/Control/Monad/Bayes/Deterministic.hs, interpreted ) [11 of 16] Compiling Control.Monad.Bayes.Conditional ( ../../monad- bayes/src/Control/Monad/Bayes/Conditional.hs, interpreted ) [12 of 16] Compiling Control.Monad.Bayes.Dist ( ../../monad- bayes/src/Control/Monad/Bayes/Dist.hs, interpreted ) [13 of 16] Compiling Control.Monad.Bayes.Coprimitive ( ../../monad- bayes/src/Control/Monad/Bayes/Coprimitive.hs, interpreted ) [14 of 16] Compiling Control.Monad.Bayes.Trace ( ../../monad- bayes/src/Control/Monad/Bayes/Trace.hs, interpreted ) [15 of 16] Compiling Control.Monad.Bayes.Inference ( ../../monad- bayes/src/Control/Monad/Bayes/Inference.hs, interpreted ) [16 of 16] Compiling Main ( app/Main.hs, interpreted ) Ok, modules loaded: Main, Control.Monad.Bayes.LogDomain, Control.Monad.Bayes.Primitive, Control.Monad.Bayes.Class, Control.Monad.Bayes.Population, Control.Monad.Bayes.Conditional, Control.Monad.Bayes.Inference, Control.Monad.Bayes.Sampler, Control.Monad.Bayes.Rejection, Control.Monad.Bayes.Weighted, Control.Monad.Bayes.Sequential, Control.Monad.Bayes.Trace, Control.Monad.Bayes.Dist, Control.Monad.Bayes.Prior, Control.Monad.Bayes.Deterministic, Control.Monad.Bayes.Coprimitive. *Main> main main Old State: S {p = 96.41248458072532, z = 59.16931688468654, log_alpha = -3.3251317115519465} New state: S {p = 85.18277032500659, z = 47.518663747379414, log_alpha = -0.8056624325046409} Old State: S {p = 110.26606081933504, z = 47.25472896292412, log_alpha = -7.942692650345256} New state: S {p = 99.8466327066433, z = 38.81428385855752, log_alpha = -0.712367347081303} Old State: S {p = 101.53403093173365, z = 54.69189565042656, log_alpha = 0.797288536547407} New state: S {p = 101.52281529166201, z = 44.30057747486097, log_alpha = -2.015330785654092} Old State: S {p = 77.31689464064326, z = 46.619899785065876, log_alpha = 2.2759251158534526} New state: S {p = 116.2875593953072, z = 38.966471329788355, log_alpha = -0.7142394862058071} Old State: S {p = 76.9380013726558, z = 50.125629063113514, log_alpha = -3.2499432321011583} New state: S {p = 69.40844025380522, z = 41.55282023557805, log_alpha = -3.0159942091527503e-2} Old State: S {p = 69.40844025380522, z = 41.55282023557805, log_alpha = -3.0159942091527503e-2} New state: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = 1.3054304633451674} Old State: S {p = 69.40844025380522, z = 41.55282023557805, log_alpha = -3.0159942091527503e-2} New state: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = -0.9916988019989725} Old State: S {p = 69.40844025380522, z = 41.55282023557805, log_alpha = -3.0159942091527503e-2} New state: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = -3.611295894501775} Old State: S {p = 69.40844025380522, z = 41.55282023557805, log_alpha = -3.0159942091527503e-2} New state: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = -0.7617210597518349} Old State: S {p = 116.2875593953072, z = 38.966471329788355, log_alpha = -0.7142394862058071} New state: S {p = 109.6078122188652, z = 32.55851436113107, log_alpha = -0.4233108619474501} Old State: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = 1.3054304633451674} New state: S {p = 79.79830336014518, z = 30.422294131721443, log_alpha = 0.6993690927536277} Old State: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = -0.9916988019989725} New state: S {p = 64.90164005295357, z = 30.422294131721443, log_alpha = -0.3152970276116467} Old State: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = -0.9916988019989725} New state: S {p = 64.90164005295357, z = 30.422294131721443, log_alpha = -0.8415339406842459} Old State: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = 1.3054304633451674} New state: S {p = 79.79830336014518, z = 30.422294131721443, log_alpha = -0.755338763976243} Old State: S {p = 68.03763906369906, z = 35.283787110815105, log_alpha = -0.9916988019989725} New state: S {p = 64.90164005295357, z = 30.422294131721443, log_alpha = -0.12244882682932601} Old State: S {p = 103.98419668715715, z = 51.46501997223569, log_alpha = NaN} New state: S {p = NaN, z = 41.96850310814045, log_alpha = -2.6446936218209336} Old State: S {p = 101.59457288618177, z = 50.895296415987694, log_alpha = NaN} New state: S {p = NaN, z = 41.61054780428653, log_alpha = -3.429882621028084} Old State: S {p = 87.94516676609489, z = 49.33016788299561, log_alpha = NaN} New state: S {p = NaN, z = 40.75469030451892, log_alpha = -0.3548643358912281} Old State: S {p = 85.99795164317248, z = 49.168021162595345, log_alpha = NaN} New state: S {p = NaN, z = 40.67497206346814, log_alpha = 2.1104720283005785} Old State: S {p = 78.54647250550833, z = 42.630247908299566, log_alpha = NaN} New state: S {p = NaN, z = 35.95097968042852, log_alpha = -0.6513484233809421} Old State: S {p = NaN, z = 40.75469030451892, log_alpha = -0.3548643358912281} New state: S {p = NaN, z = NaN, log_alpha = -1.5720943792122584} Old State: S {p = NaN, z = 40.75469030451892, log_alpha = -0.3548643358912281} New state: S {p = NaN, z = NaN, log_alpha = -1.6631770526157945} Old State: S {p = NaN, z = 40.67497206346814, log_alpha = 2.1104720283005785} New state: S {p = NaN, z = NaN, log_alpha = -1.2345329390236304} Old State: S {p = NaN, z = 35.95097968042852, log_alpha = -0.6513484233809421} New state: S {p = NaN, z = NaN, log_alpha = -1.820929341136602} Old State: S {p = NaN, z = 40.67497206346814, log_alpha = 2.1104720283005785} New state: S {p = NaN, z = NaN, log_alpha = -2.520535318849168} Old State: S {p = NaN, z = NaN, log_alpha = -1.5720943792122584} New state: S {p = NaN, z = NaN, log_alpha = -0.9471390581854239} Old State: S {p = NaN, z = NaN, log_alpha = -1.6631770526157945} New state: S {p = NaN, z = NaN, log_alpha = -1.0755021237404696} Old State: S {p = NaN, z = NaN, log_alpha = -1.2345329390236304} New state: S {p = NaN, z = NaN, log_alpha = -1.1239335260594507} Old State: S {p = NaN, z = NaN, log_alpha = -1.820929341136602} New state: S {p = NaN, z = NaN, log_alpha = -1.2944498914356701} Old State: S {p = NaN, z = NaN, log_alpha = -2.520535318849168} New state: S {p = NaN, z = NaN, log_alpha = -0.27411572356967484} Accept: False Old State: S {p = 111.8506804060528, z = 49.43995360167743, log_alpha = -9.192660539879242} New state: S {p = 100.79139727821112, z = 40.36178045350178, log_alpha = 1.3407944594098864} Old State: S {p = 112.56620850387993, z = 51.36209895306485, log_alpha = -2.625437037736268} New state: S {p = 101.35925858189091, z = 41.718829881234356, log_alpha = -0.7240542276022712} Old State: S {p = 124.03888190950703, z = 60.73043151177312, log_alpha = -5.946495216000299} New state: S {p = 108.98533165239414, z = 47.91166969904897, log_alpha = -0.8873500091662709} Old State: S {p = 98.02675197633516, z = 52.91365067391672, log_alpha = 2.312571443928833} New state: S {p = 138.1350004691826, z = 43.12261446736768, log_alpha = -0.2792667910662988} Old State: S {p = 94.54575888175407, z = 42.83674832921917, log_alpha = -7.3217354704711175} New state: S {p = 86.44898836218327, z = 35.83329122968358, log_alpha = -0.6931069199421952} Old State: S {p = 86.44898836218327, z = 35.83329122968358, log_alpha = -0.6931069199421952} New state: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = 0.3349397265296642} Old State: S {p = 86.44898836218327, z = 35.83329122968358, log_alpha = -0.6931069199421952} New state: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = -1.3495963112508207} Old State: S {p = 138.1350004691826, z = 43.12261446736768, log_alpha = -0.2792667910662988} New state: S {p = 129.45324316753013, z = 35.29589318379763, log_alpha = -0.386669465854595} Old State: S {p = 138.1350004691826, z = 43.12261446736768, log_alpha = -0.2792667910662988} New state: S {p = 129.45324316753013, z = 35.29589318379763, log_alpha = -0.2946746748816039} Old State: S {p = 138.1350004691826, z = 43.12261446736768, log_alpha = -0.2792667910662988} New state: S {p = 129.45324316753013, z = 35.29589318379763, log_alpha = 6.008701708774278e-2} Old State: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = 0.3349397265296642} New state: S {p = 84.42743985481702, z = 26.485152940386072, log_alpha = -0.8565266788034482} Old State: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = -1.3495963112508207} New state: S {p = 78.90510523061384, z = 26.485152940386072, log_alpha = -0.23947594100584424} Old State: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = -1.3495963112508207} New state: S {p = 78.90510523061384, z = 26.485152940386072, log_alpha = -1.6400685168014388} Old State: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = -1.3495963112508207} New state: S {p = 78.90510523061384, z = 26.485152940386072, log_alpha = -2.309718174473867} Old State: S {p = 82.70767613536381, z = 30.592809349196145, log_alpha = 0.3349397265296642} New state: S {p = 84.42743985481702, z = 26.485152940386072, log_alpha = 0.39960426429090445} Old State: S {p = 103.15456652417501, z = 48.70703230482669, log_alpha = 3.261489684559035} New state: S {p = 223.41791271148057, z = 40.00425989911341, log_alpha = -1.6654810839749887} Old State: S {p = 78.21539356172975, z = 49.34769089107648, log_alpha = 2.9941081783405235} New state: S {p = 165.5956281460007, z = 40.9594944371077, log_alpha = -0.6807278054716505} Old State: S {p = 121.27107377910983, z = 50.9432853913191, log_alpha = -8.126318808529764} New state: S {p = 108.916591323712, z = 41.2439385542472, log_alpha = 0.4369643557823619} Old State: S {p = 98.33533600637841, z = 50.915794054555995, log_alpha = -0.47638340582836275} New state: S {p = 91.42595876935069, z = 41.6915974374073, log_alpha = -1.570488913622821} Old State: S {p = 106.35901771371051, z = 58.39939541846798, log_alpha = 2.4859548939567686} New state: S {p = 153.7564635774571, z = 46.75791989853097, log_alpha = -0.7265425179819862} Old State: S {p = 165.5956281460007, z = 40.9594944371077, log_alpha = -0.6807278054716505} New state: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = -1.6781162212290632} Old State: S {p = 165.5956281460007, z = 40.9594944371077, log_alpha = -0.6807278054716505} New state: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = 0.7148953771487301} Old State: S {p = 165.5956281460007, z = 40.9594944371077, log_alpha = -0.6807278054716505} New state: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = 1.2994581914331431} Old State: S {p = 165.5956281460007, z = 40.9594944371077, log_alpha = -0.6807278054716505} New state: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = -0.6908099313919266} Old State: S {p = 165.5956281460007, z = 40.9594944371077, log_alpha = -0.6807278054716505} New state: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = 0.6115450247483429} Old State: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = 0.6115450247483429} New state: S {p = 149.84673299439467, z = 27.669736758576065, log_alpha = 2.249112097719827} Old State: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = 0.7148953771487301} New state: S {p = 150.56328821556426, z = 27.669736758576065, log_alpha = -1.6634676360703886} Old State: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = 0.6115450247483429} New state: S {p = 149.84673299439467, z = 27.669736758576065, log_alpha = -1.1143896901497614} Old State: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = -1.6781162212290632} New state: S {p = 143.93225309113896, z = 27.669736758576065, log_alpha = 1.2174133795952156} Old State: S {p = 153.47230437543251, z = 33.25266900659429, log_alpha = -1.6781162212290632} New state: S {p = 143.93225309113896, z = 27.669736758576065, log_alpha = 0.2956142597127277} Accept: False 4.962072576592402e-2 7.408640679453008 *Main> }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12932 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler