AffylmGUI does not start wit R 4.4.1
1
0
Entering edit mode
@richardallenfriedmanbrooklyn-24118
Last seen 10 weeks ago
United States

Dear List,

AffylmGUI doesn't start in R 4.4.1 although all of the required software is installed. On the same mac, OS 14.6.1 the most recent version of R under which AffylmGUI starts in R4.1.2. Here is a session record:

> library(affylmGUI)

To begin, type affylmGUI()
> affylmGUI()
[1] "Mac OSX:Cannot find Tcl/Tk package \"BWidget\".\taffylmGUI cannot continue.\n\naffylmGUI requires the Tcl/Tk packages, BWidget and Tktable.\nYou must have the toolkit Tcl/Tk installed on your computer.\nTo install the tcl/tk toolkit do the following:\nGo to CRAN (you can use any mirror):\nhttp://cran.r-project.org/bin/macosx/tools/\nDownload tcltk-8.5.5-x11.dmg, install it.\nNote versions shown correct on Jan 18 2013\nIt installs in /usr/local\nRequires Mac OS X 10.4 (Tiger) or higher for 32-bit R\nand Mac OS X 10.5 (Leopard) or higher for 64-bit R.\nYou need the two Tcl/Tk packages called BWidget and Tktable \ninstalled as well.\nDownload BWidget from:\nhttp://sourceforge.net/projects/tcllib/files/BWidget/1.9.5/ or later.\nversion into your Downloads folder.\nUnpack the tar.gz file into /usr/local/lib using \ncd /usr/local/lib\nsudo tar zxvf ~your_username/Downloads/bwidget-1.9.5.tar.gz\nBWidget is written in pure tcl and does not need compiling.\nTktable is written in the C and Tcl languages and the source \nfile needs compiling. The source file is available from:\nhttp://sourceforge.net/projects/tktable/files/tktable/2.10/\nYou need the Apple Dev tools installed. Do:\ntar zxf Tktable2.9.tar.gz\n./configure\nmake\nsudo make install\nNow it will work in R.\n"
Error in affylmGUI() : Error occurred in TclRequire("BWidget")
In addition: Warning message:
In tclRequire(tclPkg) : Tcl package 'BWidget' not found
> sessionInfo()
R version 4.4.1 (2024-06-14)
Platform: x86_64-apple-darwin20
Running under: macOS Sonoma 14.6.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/New_York
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] affylmGUI_1.78.0

loaded via a namespace (and not attached):
 [1] crayon_1.5.3            httr_1.4.7              UCSC.utils_1.0.0        jsonlite_1.8.8          xtable_1.8-4           
 [6] S4Vectors_0.42.1        statmod_1.5.0           Biostrings_2.72.1       stats4_4.4.1            Biobase_2.64.0         
[11] gcrma_2.76.0            IRanges_2.38.1          GenomeInfoDb_1.40.1     BiocManager_1.30.23     compiler_4.4.1         
[16] preprocessCore_1.66.0   codetools_0.2-20        R2HTML_2.3.4            limma_3.60.4            affyPLM_1.80.0         
[21] XVector_0.44.0          tcltk_4.4.1             R6_2.5.1                GenomeInfoDbData_1.2.12 splines_4.4.1          
[26] affy_1.82.0             tkrplot_0.0-27          tools_4.4.1             zlibbioc_1.50.0         BiocGenerics_0.50.0    
[31] affyio_1.74.0          
>

Please advise.

I hope that affylmGUI is still being supported.

Thanks and best wishes,

Rich

Richard Friedman

Herbert Irving Comprehensive Cancer Center

Columbia University Irving Medical Center

affylmGUI • 777 views
ADD COMMENT
1
Entering edit mode
@gordon-smyth
Last seen 37 minutes ago
WEHI, Melbourne, Australia

It looks like a problem with tck/tk on your computer, see Tcl/TK package "Bwidget" when using limmaGUI or affylmGUI

I'm running R 4.4.1 under Windows 11 and affylmGUI() opens the GUI correctly for me.

ADD COMMENT
0
Entering edit mode

Gordon, Thank you as always for your reply. It turns out that I have Tcl/Tk installed elsewhere than in /usr/local/lib

s -l /usr/local/lib                   
total 40
drwxrwxr-x@ 50 richardfriedman  staff   1600 Nov 25  2022 bwidget-1.9.16
-rwxr-xr-x   1 root             admin  18512 Jun 22  2018 libecomlodr.dylib
lrwxr-xr-x   1 root             admin     34 Aug  4 16:22 libomp.dylib -> /usr/local/clang8/lib/libomp.dylib

from R

 library(tcltk) 
> tclvalue("auto_path")
[1] "/opt/R/x86_64/lib/tcl8.6 /opt/R/x86_64/lib ./lib /opt/R/x86_64/lib/tk8.6 /opt/R/x86_64/lib/tk8.6/ttk /Library/Frameworks/R.framework/Resources/library/tcltk/exec"

so that when I try to compile TkTable, I get the following error messages

richardfriedman@ICRC8DSB-N007 /Applications % cd Tktable2.10
richardfriedman@ICRC8DSB-N007 Tktable2.10 % ls
ChangeLog       config.status       license.txt     tkTableCellSort.o
Makefile        configure       pkgIndex.tcl        tkTableCmds.o
Makefile.in     configure.in        release.txt     tkTableEdit.o
README.blt      demos           tclconfig       tkTableTag.o
README.txt      doc         tests           tkTableUtil.o
TODO.txt        generic         tkTable.o       tkTableWin.o
aclocal.m4      libTktable2.10.dylib    tkTable.tcl.h       unix
config.log      library         tkTableCell.o       win
richardfriedman@ICRC8DSB-N007 Tktable2.10 % ./configure
checking for correct TEA configuration... ok (TEA 3.7)
checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions

I guess that I have to reinstall Tcl/Tk in the right place.

Best wishes,

Rich

0
Entering edit mode

Dear List, AffylmGUI works fine with R 4.4.1 on Windows. However most of my students have macs. I have installed BWidget and Tktable in the right places but still get the same error message as above: I think that the problem is that Tktable does not compile properly on Sonoma. I have BWidget and TKtable in the proper directory:

$ pwd
/usr/local/lib
 ls BWidget-1.9.15/
BWman       bitmap.tcl  dragsite.tcl    label.tcl   notebook.tcl    progressdlg.tcl tests
CHANGES.txt button.tcl  dropsite.tcl    labelentry.tcl  pagesmgr.tcl    scrollframe.tcl titleframe.tcl
ChangeLog   buttonbox.tcl   dynhelp.tcl labelframe.tcl  panedw.tcl  scrollview.tcl  tree.tcl
LICENSE.txt color.tcl   entry.tcl   lang        panelframe.tcl  scrollw.tcl utils.tcl
README.txt  combobox.tcl    font.tcl    listbox.tcl passwddlg.tcl   separator.tcl   widget.tcl
_FOSSIL_    demo        images      mainframe.tcl   pkgIndex.tcl    spinbox.tcl wizard.tcl
arrow.tcl   dialog.tcl  init.tcl    messagedlg.tcl  progressbar.tcl statusbar.tcl   xpm2image.tcl
$ ls BWidget-1.9.15/
BWman       buttonbox.tcl   font.tcl    messagedlg.tcl  scrollframe.tcl utils.tcl
CHANGES.txt color.tcl   images      notebook.tcl    scrollview.tcl  widget.tcl
ChangeLog   combobox.tcl    init.tcl    pagesmgr.tcl    scrollw.tcl wizard.tcl
LICENSE.txt demo        label.tcl   panedw.tcl  separator.tcl   xpm2image.tcl
README.txt  dialog.tcl  labelentry.tcl  panelframe.tcl  spinbox.tcl
_FOSSIL_    dragsite.tcl    labelframe.tcl  passwddlg.tcl   statusbar.tcl
arrow.tcl   dropsite.tcl    lang        pkgIndex.tcl    tests
bitmap.tcl  dynhelp.tcl listbox.tcl progressbar.tcl titleframe.tcl

When I try to install tktable I get the following error message

$ sudo make

gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"Tktable\ 2.10\" -DPACKAGE_BUGREPORT=\"\" -DMAC_OSX_TK=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1     -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.10\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk"     -pipe  -Os -Wall -Wno-implicit-int -fno-common   -c `echo ./generic/tkTable.c` -o tkTable.o
./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types]
static Tk_CustomOption drawOpt          = { Cmd_OptionSet, Cmd_OptionGet,
.
.
,
$ sudo make install
Password:

gcc -DPACKAGE_NAME=\"Tktable\" -DPACKAGE_TARNAME=\"tktable\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"Tktable\ 2.10\" -DPACKAGE_BUGREPORT=\"\" -DMAC_OSX_TK=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1     -DTBL_COMMAND=\"table\" -DTBL_RUNTIME=\"tkTable.tcl\" -DTBL_RUNTIME_DIR=\"/usr/local/Cellar/tcl-tk/8.6.14/lib/Tktable2.10\" -I. -I"./generic" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk" -I"/usr/local/Cellar/tcl-tk/8.6.14/include/tcl-tk"     -pipe  -Os -Wall -Wno-implicit-int -fno-common   -c `echo ./generic/tkTable.c` -o tkTable.o
./generic/tkTable.c:164:52: error: incompatible function pointer types initializing 'Tk_OptionPrintProc *' (aka 'const char *(*)(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') with an expression of type 'char *(ClientData, Tk_Window, char *, int, Tcl_FreeProc **)' (aka 'char *(void *, struct Tk_Window_ *, char *, int, void (**)(char *))') [-Wincompatible-function-pointer-types]
static Tk_CustomOption drawOpt          = { Cmd_OptionSet, Cmd_OptionGet,
.
.
.

Strictly, this is a TKtable problem. However the last entry on the bug report list was 2018. I would appreciate any suggestions. Is it possible for affylmGUI to be made to work with the current Mac OS and R?

Thanks and best wishes,

Rich

Richard Friedman

Columbia University Cancer Center

0
Entering edit mode

affylmGUI passes all checks for all platforms, including Mac OS and arm64, for Bioconductor 3.20, so I assume it must work on a Mac:

https://bioconductor.org/checkResults/devel/bioc-LATEST/affylmGUI/

Strangely, the current Bioconductor 3.19 tests don't seem to include Mac, for reasons that I don't understand.

affylmGUI is obviously a tck/tk based package. There is therefore no way that we could make it available for your computer is you're not able to get tcl/tk working.

I no longer have funds to employ affylmGUI programmers, so making substantive changes to the underlying affylmGUI package isn't really possible for me. On the other hand, I can make updates to affylmGUI if you could provide me with a patch that would make it work for the Mac systems.

ADD REPLY
0
Entering edit mode

This is the message that affylmGUI gives if the internal TclRequire check fails on a Mac OS system:

affylmGUI requires the Tcl/Tk packages, BWidget and Tktable.
You must have the toolkit Tcl/Tk installed on your computer.
To install the tcl/tk toolkit do the following:
Go to CRAN (you can use any mirror):
http://cran.r-project.org/bin/macosx/tools/
Download tcltk-8.5.5-x11.dmg, install it.
Note versions shown correct on Jan 18 2013
It installs in /usr/local
Requires Mac OS X 10.4 (Tiger) or higher for 32-bit R
and Mac OS X 10.5 (Leopard) or higher for 64-bit R.
You need the two Tcl/Tk packages called BWidget and Tktable 
installed as well.
Download BWidget from:
http://sourceforge.net/projects/tcllib/files/BWidget/1.9.5/ or later.
version into your Downloads folder.
Unpack the tar.gz file into /usr/local/lib using 
cd /usr/local/lib
sudo tar zxvf ~your_username/Downloads/bwidget-1.9.5.tar.gz
BWidget is written in pure tcl and does not need compiling.
Tktable is written in the C and Tcl languages and the source 
file needs compiling. The source file is available from:
http://sourceforge.net/projects/tktable/files/tktable/2.10/
You need the Apple Dev tools installed. Do:
tar zxf Tktable2.9.tar.gz
./configure
make
sudo make install
Now it will work in R.
ADD REPLY
1
Entering edit mode

Gordon,

I found out what went wrong. The problem was that the xquartz distribution for mac from cran did not include tcltk! I found that by installing tcltk, with homebrew, I was able to get affylmGUI to work. On the command line

brew install tcl-tk

Another issue is that in sonoma the Tktable and BWidget files have to be in /opt/R/x86_64/lib/, rather than in /usr/local/lib/, as previously.

Best wishes,

Rich

0
Entering edit mode

Glad to hear that you have figured it out. Your experience might help other people with limmaGUI or affylmGUI on MacOS as well.

ADD REPLY
0
Entering edit mode

Gordon,

Thank you as always. I have tried the instructions you gave before my most recent post. The patch is almost certainly beyond my capability but I will look into the matter.

Best wishes,

Rich

Login before adding your answer.

Traffic: 660 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6