Victorian-Bioinformatics-Consortium/degust

Duplicate instance declarations error

Closed this issue · 6 comments

Hi,

I try to build degust with the analysis back-end using the command bash build.sh prod-server (./build.sh prod-server does not work for me because of 'Bad substitution' in b=${t/.js/-big.js}).
But I get this error:

r-json.hs:280:10:
    Duplicate instance declarations:
      instance ToText Int -- Defined at r-json.hs:280:10
      instance ToText Int -- Defined in `Text.Shakespeare.Text'

If I comment out this line, the building script works and I can start the server and use degust locally. But I do not get any values using Analyze server side (No error appears in the console).
With the same settings, I get a result using http://vicbioinformatics.com/degust

I am using Ubuntu 14.04 with Haskell 7.6.3. Hopefully, I have correctly installed the dependencies. The Documentation is a bit short.

Complete output

bash build.sh prod-server
Building 'prod-server'
Combining css and minifying...
Compiling CoffeeScript and bundling all js...
Building app/js/common-req.coffee -> build/common.js
Building app/js/compare-req.coffee -> build/compare.js
Building app/js/config-req.coffee -> build/config.js
Building app/js/slickgrid-req.coffee -> build/slickgrid.js
Building backend
[3 of 3] Compiling Main             ( r-json.hs, r-json.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package filepath-1.3.0.1 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package bytestring-0.10.0.2 ... linking ... done.
Loading package unix-2.6.0.1 ... linking ... done.
Loading package directory-1.2.0.1 ... linking ... done.
Loading package process-1.1.0.2 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package containers-0.5.0.0 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.3.1 ... linking ... done.
Loading package text-1.1.0.1 ... linking ... done.
Loading package parsec-3.1.5 ... linking ... done.
Loading package system-filepath-0.4.9 ... linking ... done.
Loading package system-fileio-0.3.12 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package shakespeare-1.2.1.1 ... linking ... done.
Loading package shakespeare-text-1.0.2 ... linking ... done.

r-json.hs:280:10:
    Duplicate instance declarations:
      instance ToText Int -- Defined at r-json.hs:280:10
      instance ToText Int -- Defined in `Text.Shakespeare.Text'

Hi, thanks for the bug reports!

The duplicate instance is due to your version of Text.Shakespeare.Text being newer than I had. I'll fix that, and document the required version.

I think the error with "bad substitution" is due to you have /bin/sh symlinking to /bin/dash. Can you check that is the case on your install? If so, I'll change the scripts to use /bin/bash

My guess why the "analyse server side" is not work is because of an error with R. You can see any R errors in the directory "tmp/*-err" in your install directory. I need to think about how to report these errors better to the user. Can you check if this is indeed the problem?

Hi,

yes, /bin/sh is a symlink to /bin/dash.
Which Text.Shakespeare version are you using?

And your are right. There is an error in tmp. I do not have limma installed.

Thank you

I'm using shakespeare-text-1.0.0.5

Thanks for the report

Is the line 280 (r-json.hs) important? I documented it out and I did not get an issue. I can use the example count file to run server side analysis. And I can upload and visualize a pre-analyzed file.

No, it is not important for your version of shakespeare-text. Essentially that line is now in shakespeare-text.

Rewrite does not have this issue : https://github.com/drpowell/degust