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_64.tgz

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-boun...@lists.galaxyproject.org] on behalf of 
Christian Brenninkmeijer [christian.brenninkmei...@manchester.ac.uk]
Sent: Wednesday, September 02, 2015 11:40 AM
To: Björn Grüning; galaxy-dev@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_64.tgz 
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-boun...@lists.galaxyproject.org] on behalf of 
Christian Brenninkmeijer [christian.brenninkmei...@manchester.ac.uk]
Sent: Tuesday, September 01, 2015 12:17 PM
To: Björn Grüning; galaxy-dev@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.gruen...@gmail.com]
Sent: Friday, August 28, 2015 6:05 PM
To: Christian Brenninkmeijer; Bjoern Gruening; 
galaxy-dev@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.gruen...@gmail.com]
> Sent: Friday, August 28, 2015 3:19 PM
> To: Christian Brenninkmeijer; galaxy-dev@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/77f3bd0e4153
>>
>> 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.gruen...@gmail.com]
>> Sent: Wednesday, August 26, 2015 7:19 PM
>> To: Christian Brenninkmeijer; galaxy-dev@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_3_2_1/tool_dependencies.xml
>> 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-boun...@lists.galaxyproject.org] on behalf of 
>>> Christian Brenninkmeijer [christian.brenninkmei...@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/b39299b4b6e1
>>> (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/
___________________________________________________________
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/

Reply via email to