[web-devel] GHCi runtime linker: fatal error: I found a duplicate definition for symbol (Yesod)
Rick Richardson
rick.richardson at gmail.com
Thu Mar 24 17:50:52 CET 2011
Thanks. So what exactly is the real issue? Is something requiring multiple
versions of Network as indicated above, or is it a more 'permanent' problem?
On Thu, Mar 24, 2011 at 2:54 AM, Michael Snoyman <michael at snoyman.com>wrote:
> What Blake suggests in the right solution, except for two points
> (which are beyond his control):
>
> * It's a bit unfair to make users remember to install yesod with
> -fproduction.
> * wai-handler-devel does not handle Hamlet dependency tracking. That
> means that if you use Blake's suggestion and then modify your Hamlet
> templates, your code will not be reloaded.
>
> So I've released new versions of wai-handler-devel (0.2.1) and yesod
> (0.7.2). There's no such thing as the -fproduction flag to yesod: it
> will never build against wai-handler-devel. When you call the
> develServer function, it will simply print out a message apologizing
> that it cannot fulfill your request, and will tell you to install
> wai-handler-devel >= 0.2.1 and run a command such as:
>
> wai-handler-devel 3000 Controller withTest --yesod
>
> Notice that extra --yesod at the end? That's the new feature in 0.2.1.
> I moved the Hamlet dependency checking code from yesod to
> wai-handler-devel. So now, if you run your application this way,
> Hamlet changes will automatically result in a reload of your code.
>
> I tried to set up the develServer function to automatically run
> wai-handler-server, but it resulted in the same error messages from
> GHC. Oh well. I image in future versions of the scaffolding tool, the
> devel-server.hs function will do all this for you automatically.
>
> Please let me know if this new approach causes any issues.
>
> Michael
>
> On Thu, Mar 24, 2011 at 1:00 AM, Blake Rain <blake.rain at gmail.com> wrote:
> > I too had a the same problem with duplicate symbols from libHSghc, and
> > it seems to be a problem with yesod's dynamic server (or perhaps with
> > Hint).
> >
> > My solution was first to remove the dependency on wai-handler-devel in
> > the yesod package by using the 'production' flag, like so:
> >
> > $ cabal install yesod -fproduction
> >
> > For running a dynamic server, the wai-handler-devel package installs an
> > executable called wai-handler-devel. You can use this rather than the
> > "runhaskell devel-server.hs" by providing the port, module and function
> > from your "devel-server.hs" file as arguments:
> >
> > $ wai-handler-devel 3000 MySiteModule withMySite
> >
> > The dynamic recompilation of wai-handler-devel is very useful, and I
> > hope this helps.
> >
> > On Wed, 2011-03-23 at 14:22 -0400, Rick Richardson wrote:
> >> I removed all but network-2.2.1.0 and rebuilt everything, still no
> >> luck. But I'm sure you have set me on the right track, I will
> >> experiment with other permutations.
> >>
> >>
> >> Thanks.
> >>
> >>
> >>
> >>
> >> On Wed, Mar 23, 2011 at 1:27 PM, Anton Cheshkov <acheshkov at gmail.com>
> >> wrote:
> >> Hi Rick! I got the the same error day ago on my server.
> >> Probably it happens because you have two network packages in
> >> you system.
> >>
> >> Try to compile all your packages only on network-2.2.1.10,
> >> and delete package network-2.3
> >>
> >>
> >> Hope it helps you
> >>
> >>
> >> 2011/3/23 Rick Richardson <rick.richardson at gmail.com>
> >>
> >>
> >>
> >> I just installed the generic 7.0.2 binary on Ubuntu
> >> on both 32 bit and 64 bit machines. Then I rm'd
> >> .ghc and .cabal then fetched the current haskell
> >> platform. Built and installed.
> >>
> >>
> >> After cabal installing all of the dependencies cabal
> >> said were required for yesod, I run yesod.. the
> >> script creates the project.
> >>
> >>
> >> When executing runhaskell devel-server.hs I get this
> >> message
> >>
> >>
> >> GHCi runtime linker: fatal error: I found a duplicate
> >> definition for symbol
> >> ghczm7zi0zi2_AsmCodeGen_zdfMonadCmmOptM2_closure
> >> whilst processing object file
> >>
> >> /usr/local/lib/ghc-7.0.2/ghc-7.0.2/libHSghc-7.0.2.a
> >> This could be caused by:
> >> * Loading two different object files which export
> >> the same symbol
> >> * Specifying the same object file twice on the GHCi
> >> command line
> >> * An incorrect `package.conf' entry, causing some
> >> object to be
> >> loaded twice.
> >> GHCi cannot safely continue in this situation.
> >> Exiting now. Sorry.
> >>
> >>
> >>
> >>
> >> it's the same on both 32 and 64 bit.
> >>
> >>
> >> Any ideas? I am going to try to build 7.0.2 from
> >> source to see if that fixes it.
> >>
> >>
> >> _______________________________________________
> >> web-devel mailing list
> >> web-devel at haskell.org
> >> http://www.haskell.org/mailman/listinfo/web-devel
> >>
> >>
> >>
> >>
> >> --
> >> Best regards,
> >> Cheshkov Anton
> >> Phone: +7 909 005 18 82
> >> Skype: cheshkov_anton
> >>
> >>
> >>
> >> _______________________________________________
> >> web-devel mailing list
> >> web-devel at haskell.org
> >> http://www.haskell.org/mailman/listinfo/web-devel
> >
> >
> >
> > _______________________________________________
> > web-devel mailing list
> > web-devel at haskell.org
> > http://www.haskell.org/mailman/listinfo/web-devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/web-devel/attachments/20110324/349b3716/attachment.htm>
More information about the web-devel
mailing list