[web-devel] GHCi runtime linker: fatal error: I found a duplicate definition for symbol (Yesod)
Max Cantor
mxcantor at gmail.com
Thu Mar 24 08:16:17 CET 2011
I've basically given up. Evertime there is an update to yesod, I run these commands to fix everything:
rm -r ~/.ghc; cd <my project>; cabal install happy alex; cabal install
then I go get coffee, when I come back, everything works.
max
On Mar 24, 2011, at 3:11 PM, vagif.verdi at gmail.com wrote:
> Thank you Michael! I just tried new wai-handler-devel and it works like a
> charm!
>
> On Wednesday, March 23, 2011 11:54:50 PM you 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
>>
>> _______________________________________________
>> 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
More information about the web-devel
mailing list