Hi,
Have you ever actually been able to run an rscript which uses the library cairo using
this build outside of docker?
Especially on a machine that does not have a /galaxy folder?
Not sure about this, I simply don't know how R plots ... but we are able
to produce a lot of different plots in a lot of different formats.
If so did you have to install cairo into R?
Using Rscript -e "install.packages(c('Cairo_1.5-8.tar.gz')
Either directly or indirect vai a tool dependency with <action
type="setup_r_environment">
If you did install cairo into R where did you get the cairo R package from?
Christian
________________________________________
From: Bjoern Gruening [bjoern.gruening(a)gmail.com]
Sent: Thursday, September 03, 2015 1:31 PM
To: Christian Brenninkmeijer; Björn Grüning; galaxy-dev(a)lists.galaxyproject.org; Dave
Bouvier
Subject: Re: [galaxy-dev] Installing Cairo into Gakaxy
Hi Christian,
thanks for debugging. For your information we use this Docker container
to pre-build the binaries.
https://github.com/galaxyproject/docker-build/tree/master/R
So this is the place we need to fix the binaries.
Hope this helps, if I find time I will also have a look,
Bjoern
On 03.09.2015 12:10, Christian Brenninkmeijer wrote:
> In the continued effort to track down the issue of installing cairo into R
>
> I found a bug in
https://testtoolshed.g2.bx.psu.edu/view/iuc/package_r_3_1_2/41f43a2064ba
> which installs
https://depot.galaxyproject.org/package/linux/x86_64/R/R-3.1.2-Linux-x84_...
>
> This has hard code paths in it.
> For example lib//pkgconfig/cairo.pc
> prefix=/galaxy/builds/Linux-x86_64/install_dir
>
> This is then picked up by cairo's configure script resulting in cairo not being
found as it s clearly not where galaxy said it is!
>
> Debugging continue!
>
> Christian
> University of Manchester
>
>
>
> ________________________________________
> From: galaxy-dev [galaxy-dev-bounces(a)lists.galaxyproject.org] on behalf of Christian
Brenninkmeijer [christian.brenninkmeijer(a)manchester.ac.uk]
> Sent: Wednesday, September 02, 2015 11:40 AM
> To: Björn Grüning; galaxy-dev(a)lists.galaxyproject.org; Dave Bouvier
> Subject: Re: [galaxy-dev] Installing Cairo into Gakaxy
>
> I am still having issues installing Cairo into R
>
> I have tracked part of the problem down to:
>
https://depot.galaxyproject.org/package/linux/x86_64/R/R-3.2.1-Linux-x86_... does
have any include files so no headers.
>
>
https://testtoolshed.g2.bx.psu.edu/view/iuc/package_r_3_2_1/3d28600fc82c has:
> <environment_variable action="set_to"
name="PKG_CONFIG_DIR">$INSTALL_DIR/lib/pkgconfig:$INSTALL_DIR/share/pkgconfig</environment_variable>
> <environment_variable action="set_to"
name="PKG_CONFIG_PATH">$INSTALL_DIR/lib/pkgconfig:$INSTALL_DIR/share/pkgconfig</environment_variable>
>
> The set_to overwrites any environment_variable PKG_CONFIG values set by other
packages
>
> I changed the PKG_CONFIG setting to prepend to previous values and got:
>
> checking cairo.h usability... yes
> checking cairo.h presence... yes
> checking for cairo.h... yes
> checking for PNG support in Cairo... yes
> install_environment.STDOUT DEBUG 2015-09-02 11:27:12,315 configure:
CAIRO_LIBS=-L/home/christian/galaxy/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/lib
-L/home/christian/galaxy/dependency_dir/freetype/2.5.2/iuc/package_freetype_2_5_2/8999860ddf69/lib
-L/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/lib
-lfreetype -lpng16 -lz -lcairo
> checking for ATS font support in Cairo... no
> configure:
CAIRO_LIBS=-L/home/christian/galaxy/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/lib
-L/home/christian/galaxy/dependency_dir/freetype/2.5.2/iuc/package_freetype_2_5_2/8999860ddf69/lib
-L/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/lib
-lfreetype -lpng16 -lz -lcairo
> checking for library containing deflate... none required
> install_environment.STDOUT DEBUG 2015-09-02 11:27:12,426 checking whether Cairo
programs can be compiled... yes
> checking whether Cairo programs can be compiled... yes
> checking whether cairo_image_surface_get_format is declared... no
> install_environment.STDOUT DEBUG 2015-09-02 11:27:12,499 checking for FreeType
support in cairo... yes
> install_environment.STDOUT DEBUG 2015-09-02 11:27:12,576 checking whether pkg-config
knows about fontconfig or freetype2... yes
> checking for FreeType support in cairo... yes
> checking whether FreeType needs additional flags... yes
> checking whether pkg-config knows about fontconfig or freetype2... yes
> checking whether additional flags work... no
> configure: error: Cannot use cairo-ft backend, although cairo claims it is working.
Please check your caito installation and/or update cairo if necessary or set
CAIRO_CFLAGS/CAIRO_LIBS accordingly.
> ERROR: configuration failed for package ‘Cairo’
>
> ====
> For the record the full cmd to setup R is:
>
PATH=/home/christian/galaxy/dependency_dir/pixman/0.32.4/iuc/package_pixman_0_32_4/873f53f1abcd/bin:$PATH;
export PATH
>
PIXMAN_LIB_PATH=/home/christian/galaxy/dependency_dir/pixman/0.32.4/iuc/package_pixman_0_32_4/873f53f1abcd/lib;
export PIXMAN_LIB_PATH
>
PKG_CONFIG_PATH=/home/christian/galaxy/dependency_dir/pixman/0.32.4/iuc/package_pixman_0_32_4/873f53f1abcd/lib/pkgconfig:$PKG_CONFIG_PATH;
export PKG_CONFIG_PATH
>
PATH=/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/bin:$PATH;
export PATH
>
LIBPNG_ROOT=/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6;
export LIBPNG_ROOT
>
LIBPNG_LIB_PATH=/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/lib;
export LIBPNG_LIB_PATH
>
LIBPNG_INCLUDE_PATH=/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/include;
export LIBPNG_INCLUDE_PATH
>
LD_LIBRARY_PATH=/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/lib:$LD_LIBRARY_PATH;
export LD_LIBRARY_PATH
>
PKG_CONFIG_PATH=/home/christian/galaxy/dependency_dir/libpng/1.6.7/iuc/package_libpng_1_6_7/ac6ef08bf0e6/lib/pkgconfig:$PKG_CONFIG_PATH;
export PKG_CONFIG_PATH
>
FREETYPE_LIB_PATH=/home/christian/galaxy/dependency_dir/freetype/2.5.2/iuc/package_freetype_2_5_2/8999860ddf69/lib;
export FREETYPE_LIB_PATH
>
PATH=/home/christian/galaxy/dependency_dir/freetype/2.5.2/iuc/package_freetype_2_5_2/8999860ddf69/bin:$PATH;
export PATH
>
PKG_CONFIG_PATH=/home/christian/galaxy/dependency_dir/freetype/2.5.2/iuc/package_freetype_2_5_2/8999860ddf69/lib/pkgconfig:$PKG_CONFIG_PATH;
export PKG_CONFIG_PATH
>
FONTCONFIG_ROOT_PATH=/home/christian/galaxy/dependency_dir/fontconfig/2.11.1/iuc/package_fontconfig_2_11_1/1db671dd3e91/lib;
export FONTCONFIG_ROOT_PATH
>
PATH=/home/christian/galaxy/dependency_dir/fontconfig/2.11.1/iuc/package_fontconfig_2_11_1/1db671dd3e91/bin:$PATH;
export PATH
>
FONTCONFIG_FILE=/home/christian/galaxy/dependency_dir/fontconfig/2.11.1/iuc/package_fontconfig_2_11_1/1db671dd3e91/etc/fonts/fonts.conf;
export FONTCONFIG_FILE
>
PATH=/home/christian/galaxy/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/bin:$PATH;
export PATH
>
CAIRO_LIB_PATH=/home/christian/galaxy/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/lib:$CAIRO_LIB_PATH;
export CAIRO_LIB_PATH
>
CAIRO_INCLUDE_PATH=/home/christian/galaxy/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/include:$CAIRO_INCLUDE_PATH;
export CAIRO_INCLUDE_PATH
>
PKG_CONFIG_PATH=/home/christian/galaxy/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/lib/pkgconfig:$PKG_CONFIG_PATH;
export PKG_CONFIG_PATH
>
TCL_LIBRARY=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/libtcl8.4.so;
export TCL_LIBRARY
>
TK_LIBRARY=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/libtk8.4.so;
export TK_LIBRARY
>
R_DOC_DIR=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R/doc;
export R_DOC_DIR
>
R_HOME_DIR=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R;
export R_HOME_DIR
>
R_INCLUDE_DIR=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R/include;
export R_INCLUDE_DIR
>
R_SHARE_DIR=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R/share;
export R_SHARE_DIR
>
R_ROOT_DIR=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c;
export R_ROOT_DIR
>
R_HOME=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R;
export R_HOME
>
RHOME=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R;
export RHOME
>
R_LIBS=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/R/library;
export R_LIBS
>
PKG_CONFIG_DIR=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/pkgconfig:/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/share/pkgconfig:$PKG_CONFIG_DIR;
export PKG_CONFIG_DIR
>
PKG_CONFIG_PATH=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/lib/pkgconfig:/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/share/pkgconfig:$PKG_CONFIG_PATH;
export PKG_CONFIG_PATH
>
PATH=/home/christian/galaxy/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c/bin:$PATH;
export PATH
> PATH=$PATH:$R_HOME/bin; export PATH;
R_LIBS=/home/christian/galaxy/dependency_dir/R_cairo/0.0.2/brenninc/test_r_cairo_27aug2015/25473b0ac364;
export R_LIBS;
> Rscript -e
"install.packages(c('Cairo_1.5-8.tar.gz'),lib='/home/christian/galaxy/dependency_dir/R_cairo/0.0.2/brenninc/test_r_cairo_27aug2015/25473b0ac364',
repos=NULL, dependencies=FALSE)"
> ________________________________________
> From: galaxy-dev [galaxy-dev-bounces(a)lists.galaxyproject.org] on behalf of Christian
Brenninkmeijer [christian.brenninkmeijer(a)manchester.ac.uk]
> Sent: Tuesday, September 01, 2015 12:17 PM
> To: Björn Grüning; galaxy-dev(a)lists.galaxyproject.org; Dave Bouvier
> Subject: Re: [galaxy-dev] Installing Cairo into Gakaxy
>
> Thanks Björn,
>
> Add a LD_LIBRARY_PATH does not help.
>
> Adding
>
CAIRO_CFLAGS=-I/home/christian/galaxy_test/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/include/cairo;
export CAIRO_CFLAGS
>
> Changes the error but does not fix the problem.
>
> I now get:
> checking cairo.h usability... yes
> checking cairo.h presence... yes
> checking for cairo.h... yes
> checking for PNG support in Cairo... yes
> install_environment.STDOUT DEBUG 2015-09-01 12:01:42,121 configure: CAIRO_LIBS=
> checking for ATS font support in Cairo... no
> configure: CAIRO_LIBS=
> checking for library containing deflate... -lz
> configure: error: Cannot compile a simple Cairo program. See config.log for details.
>
> ====
> A few things I did notice.
>
> 1. package_cairo_1_12_14 uses "package_pixman_0_32_4"
> while package_r_3_2_1 uses package_pixman_0_32_6
>
> 2. R install in dependecy dir for 3.2.1 does not have an include directory
> example:
> /galaxy_test/dependency_dir/R/3.2.1/iuc/package_r_3_2_1/3d28600fc82c
> 3.1.2 R did have a inlcude directory including the cairo headers.
>
> ===
>
> Attached is the full install log.
> Note the CAIRO_CFLAGS line was hard coded into recipe_manager.py for this test.
>
> Thanks
> Christian
> ________________________________________
> From: Björn Grüning [bjoern.gruening(a)gmail.com]
> Sent: Friday, August 28, 2015 6:05 PM
> To: Christian Brenninkmeijer; Bjoern Gruening; galaxy-dev(a)lists.galaxyproject.org;
Dave Bouvier
> Subject: Re: [galaxy-dev] Installing Cairo into Gakaxy
>
> Hi,
>
> can you put
>
/home/christian/galaxy/dependency_dir/R/3.1.2/brenninc/package_r_3_1_2/655087f549e9/include/
> into your LD_LIBRARY_PATH and test if this helps?
>
> Am 28.08.2015 um 17:12 schrieb Christian Brenninkmeijer:
>> I did a
>> find ~ -name cairo.h
>> and it looks like the header files are being made
>>
>>
/home/christian/galaxy_test/dependency_dir/cairo/1.12.14/iuc/package_cairo_1_12_14/5c25a57405a9/include/cairo/cairo.h
>> and
>>
/home/christian/galaxy/dependency_dir/R/3.1.2/brenninc/package_r_3_1_2/655087f549e9/include/cairo/cairo.h
>>
>> So it is more a question of how to get setup_r_enviromnent to find them.
>>
>> Christian
>> ________________________________________
>> From: Bjoern Gruening [bjoern.gruening(a)gmail.com]
>> Sent: Friday, August 28, 2015 3:19 PM
>> To: Christian Brenninkmeijer; galaxy-dev(a)lists.galaxyproject.org; Dave Bouvier
>> Subject: Re: [galaxy-dev] Installing Cairo into Gakaxy
>>
>> Hi,
>>
>> I have CCed Dave here. He took over the maintenance of R many moons ago.
>> Dave can it be that we need to include some cairo headers, shared
>> objects into the tarball from docker-build?
>>
>> Thanks,
>> Bjoern
>>
>> On 28.08.2015 16:16, Christian Brenninkmeijer wrote:
>>> Thank you Björn for the link to the new R package which appears to include
cairo.
>>>
>>> However I am still unable to run an R script which imports cairo
>>> the following line in an R Script fails
>>> library(Cairo)
>>>
>>> When I try to do a setup_r_enviromnent I am still getting:
>>> .....
>>> install_environment.STDOUT DEBUG 2015-08-28 14:47:00,491 checking cairo.h
usability... no
>>> install_environment.STDOUT DEBUG 2015-08-28 14:47:00,506 checking for
cairo.h... no
>>> checking cairo.h usability... no
>>> checking cairo.h presence... no
>>> checking for cairo.h... no
>>> configure: error: Cannot find cairo.h! Please install cairo
(
http://www.cairographics.org/) and/or set CAIRO_CFLAGS/LIBS correspondingly.
>>> ERROR: configuration failed for package ‘Cairo’
>>>
>>> This time tested on the testtoolshed so directly using the iuc dependencies
so using his env vars
>>>
>>>
https://testtoolshed.g2.bx.psu.edu/view/brenninc/test_r_cairo_27aug2015/7...
>>>
>>> tool_dependency.xml attached.
>>>
>>> I tried it with a new git clone (Master branch) from this morning
>>> Only setting change tool_config_file, tool_dependency_dir,
tools_shed_config_file and admin_users
>>>
>>> Installing all the required packages manually in the order that required
packages installed before the using package.
>>> Including Cairo before package_3_2_1
>>>
>>> On an Ubuntu 14.04.LTS (updated today)
>>> Memory 15.6 GiB
>>> Processor Intel Xeon(R) CPU E5-1660 v3 @ 3.00Ghz x 16
>>> OS type 64-bit
>>>
>>> I also tried it on my laptop also with Ubuntu 14.04.LTS
>>>
>>> Neither machine has R or Cairo installed natively.
>>>
>>> Any farther help or suggestions greatly appreciated.
>>>
>>> Christian
>>> University of Manchester
>>> ________________________________________
>>> From: Björn Grüning [bjoern.gruening(a)gmail.com]
>>> Sent: Wednesday, August 26, 2015 7:19 PM
>>> To: Christian Brenninkmeijer; galaxy-dev(a)lists.galaxyproject.org
>>> Subject: Re: [galaxy-dev] Installing Cairo into Gakaxy
>>>
>>> Hi Christian,
>>>
>>> looking at the R package and on the Docker build instructions, R seems
>>> to be installed with cairo support:
>>>
>>>
https://github.com/galaxyproject/tools-iuc/blob/master/packages/package_r...
>>>
https://github.com/natefoo/docker-build/blob/master/R/build.sh
>>>
>>> Are you using the latest IUC packages?
>>> Your script seems to be fine, I can not spot any obvious error.
>>> But I don't know how your dependencies are defined and which env vars
>>> are exported.
>>>
>>> Ciao,
>>> Bjoern
>>>
>>> Am 26.08.2015 um 12:18 schrieb Christian Brenninkmeijer:
>>>> Still looking for an example tool_dependencies.xml to install R Cairo
package
>>>>
>>>> Farther update.
>>>>
>>>> package_cairo_1_12_14 needs to be at the same level as package_r_3_1_2
inside of setup_r_environment without the set_environment_for_install
>>>>
>>>>
>>>> I am no longer getting cairo.h No but am still getting
>>>>
>>>> checking if R was compiled with the RConn patch... no
>>>> ...
>>>> checking for ATS font support in Cairo... no
>>>> ....
>>>> checking whether Cairo programs can be compiled...
>>>> ERROR: configuration failed for package ‘Cairo’
>>>>
>>>> Again updated tool_dependencies.xml attached
>>>>
>>>> Thanks
>>>>
>>>> Christian
>>>> ________________________________
>>>> From: galaxy-dev [galaxy-dev-bounces(a)lists.galaxyproject.org] on behalf
of Christian Brenninkmeijer [christian.brenninkmeijer(a)manchester.ac.uk]
>>>> Sent: Wednesday, August 26, 2015 10:18 AM
>>>> To: galaxy-dev [galaxy-dev@lists.galaxyproject.org]
>>>> Subject: [galaxy-dev] Installing Cairo into Gakaxy
>>>>
>>>> Hi All,
>>>>
>>>> Has anyone got a working example tool_dependencies.xml to install the
Cairo package into R.
>>>> (I actually need a package that depends on R Cairo but the current issue
is Cairo)
>>>>
>>>> I am having the cairo.h not found issue
>>>>
>>>> I have cloned
>>>>
https://toolshed.g2.bx.psu.edu/view/devteam/package_cairo_1_12_14/b39299b...
>>>> (and its dependencies)
>>>>
>>>> As well as
>>>>
https://toolshed.g2.bx.psu.edu/view/iuc/package_r_3_1_2/9f2fddb9d6e2
>>>>
>>>> I am trying to use <action type="setup_r_environment">
>>>> But can not get the package_cairo to be seen by the R
>>>>
>>>> I have tried <action type="set_environment_for_install">
both inside and outside of the setup_r_environment but it does not appear to be working,
>>>>
>>>> Full attempted tool_dependencies.xml attached,
>>>>
>>>> Thanks in advance
>>>>
>>>>
>>>> Christian
>>>> University of Manchester
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ___________________________________________________________
>>>> Please keep all replies on the list by using "reply all"
>>>> in your mail client. To manage your subscriptions to this
>>>> and other Galaxy lists, please use the interface at:
>>>>
https://lists.galaxyproject.org/
>>>>
>>>> To search Galaxy mailing lists use the unified search at:
>>>>
http://galaxyproject.org/search/mailinglists/
>>>>
> ___________________________________________________________
> Please keep all replies on the list by using "reply all"
> in your mail client. To manage your subscriptions to this
> and other Galaxy lists, please use the interface at:
>
https://lists.galaxyproject.org/
>
> To search Galaxy mailing lists use the unified search at:
>
http://galaxyproject.org/search/mailinglists/