kmezhoud / canceR

:chart: The package is user friendly interface based on the cgdsr and other modeling packages to explore, compare, and analyse all available Cancer Data (Clinical data, Gene Mutation, Gene Methylation, Gene Expression, Protein Phosphorylation, Copy Number Alteration) hosted by the Computational Biology Center at Memorial-Sloan-Kettering Cancer Center (MSKCC).
7 stars 1 forks source link

The install is frozen during: byte-compile and prepare package for lazy loading #2

Open kmezhoud opened 2 years ago

kmezhoud commented 2 years ago

the suspected causes of this issue come from two factors:

  1. During canceR install tcltk2 induces and the insyall is frozen at step byte-compile and prepare package for lazy loading
error reading package index file /usr/local/lib/R/site-library/tcltk2/tklibs/ttktheme_radiance/pkgIndex.tcl: too many nested evaluations (infinite loop?)
error reading package index file /usr/local/lib/R/site-library/tcltk2/tklibs/ttktheme_clearlooks/pkgIndex.tcl: too many nested evaluations (infinite loop?)

If the tcltk2 package is omitted, the installation continues and ends with warning messages

Warning message:
In fun(libname, pkgname) : couldn't connect to display ":0"
Warning: loading Rplot failed
  1. In this case, canceR could not be start with warning message at the starting. After tracking back the warning message, it turns out that tktoplevel is the cause.
 tt <-tcltk::tktoplevel()
Error in structure(.External(.C_dotTclObjv, objv), class = "tclObj") : 
  [tcl] invalid command name "toplevel".
kmezhoud commented 2 years ago

To reproduce the issue you can:

docker pull kmezhoud/rstudio_cancer:1.28.04
docker run -d  -p 8787:8787 -e ROOT=TRUE -e PASSWORD=password rstudio_cancer:1.28.04
firefox localhost:8787
kmezhoud commented 2 years ago

an other warning message

> tclRequire("Tktable")
[1] FALSE
Warning message:
In tclRequire("Tktable") : Tcl package 'Tktable' not found

I installed necessary package:

sudo apt-get install tcl-dev tk-dev mesa-common-dev libjpeg-dev libtogl-dev tk-table

in normal case we have

> tclRequire("Tktable")
<Tcl> 2.10 

I installed tk-tbale but I can not locate in the image

rstudio@3df91fafad98:~$ sudo apt-get install tk-table
Reading package lists... Done
Building dependency tree       
Reading state information... Done
tk-table is already the newest version (2.10-4).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
rstudio@3df91fafad98:~$ locate tk-table
rstudio@3df91fafad98:~$ 

In normal case (local machine tk-table 2.10-3)

kirus@izis:/usr/local/lib$ locate tk-table
/usr/share/doc/tk-table
/usr/share/doc/tk-table/README.blt
/usr/share/doc/tk-table/README.txt.gz
/usr/share/doc/tk-table/TODO.txt
/usr/share/doc/tk-table/changelog.Debian.gz
/usr/share/doc/tk-table/copyright
/usr/share/doc/tk-table/examples
/usr/share/doc/tk-table/examples/basic.tcl
/usr/share/doc/tk-table/examples/buttons.tcl
/usr/share/doc/tk-table/examples/command.tcl
/usr/share/doc/tk-table/examples/debug.tcl
/usr/share/doc/tk-table/examples/dynarows.tcl
/usr/share/doc/tk-table/examples/loadtable.tcl
/usr/share/doc/tk-table/examples/maxsize.tcl
/usr/share/doc/tk-table/examples/spreadsheet.tcl
/usr/share/doc/tk-table/examples/tcllogo.gif
/usr/share/doc/tk-table/examples/tktable.py
/usr/share/doc/tk-table/examples/valid.tcl
/var/lib/dpkg/info/tk-table:amd64.list
/var/lib/dpkg/info/tk-table:amd64.md5sums
kmezhoud commented 2 years ago

The Tktable is found is /usr/lib/tcltk/x86_64-linux-gnu/Tktable2.10/ path I tried to add the path

> tcltk::addTclPath('/usr/lib/tcltk/x86_64-linux-gnu/Tktable2.10/')
Warning message:
In fun(libname, pkgname) : couldn't connect to display ":0"

This warning message is the same when the build package is finished.

kmezhoud commented 2 years ago

The Tktable is found is /usr/lib/tcltk/x86_64-linux-gnu/Tktable2.10/ path I tried to add the path

> tcltk::addTclPath('/usr/lib/tcltk/x86_64-linux-gnu/Tktable2.10/')
Warning message:
In fun(libname, pkgname) : couldn't connect to display ":0"

This warning message is the same when the build package is finished.