[R-SIG-Mac] compile R on Mac OS 10.9.4 with cairo support

Simon Urbanek simon.urbanek at r-project.org
Mon Aug 25 16:41:42 CEST 2014


On Aug 25, 2014, at 3:03 AM, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:

> On 23/08/2014 16:43, Tobias Verbeke wrote:
>> Dear list,
>> 
>> I'm trying to compile R from source on Mac OS 10.9.4 using the flags from
>> 
>> https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R-build/conf.mavericks-x86_64
>> 
>> I untarred the following libraries from http://r.research.att.com/libs/
>> 
>> gfortran-4.8.2-darwin13.tar.bz2
>> tcl8.6.0-darwin10-x86_64.tar.gz
>> tk8.6.0-darwin10-x86_64.tar.gz
>> freetype-2.5.3-darwin10-bin2.tar.gz
>> pkg-config-0.25-darwin9-bin3.tar.gz
>> fontconfig-2.11.1-darwin10-bin2.tar.gz
>> fontconfig-2.11.1-add.tar.gz
>> cairo-1.12.16-darwin10-bin2.tar.gz
>> jpeg-v8d-darwin9-bin4.tar.gz
>> libpng-1.5.18-darwin10-bin2.tar.gz
>> tiff-4.0.3-darwin10-bin2.tar.gz
>> pixman-0.32.4-darwin10-bin2.tar.gz
>> xz-5.0.5-darwin10-bin2.tar.gz
>> 
>> Then I applied the patch from http://r.research.att.com/libs/cairo-1.12.16-darwin13-static-pkgconfig.patch using
>> 
>> cd /usr/local/lib/pkgconfig
>> sudo curl -O http://r.research.att.com/libs/cairo-1.12.16-darwin13-static-pkgconfig.patch
>> sudo patch < cairo-1.12.16-darwin13-static-pkgconfig.patch
>> 
>> Some patches are rejected and the resulting 'fontconfig.pc.rej' looks as follows:
>> 
>> ***************
>> *** 13,18 ****
>>   Version: 2.11.0
>>   Requires:  freetype2
>>   Requires.private:  libxml-2.0
>> - Libs: -L${libdir} -lfontconfig
>> - Libs.private:  -L/usr/local/lib -lfreetype    -lxml2
>>   Cflags: -I${includedir}  -I/usr/local/include/freetype2 -I/usr/local/include/libpng15    -I/usr/include/libxml2
>> --- 13,18 ----
>>   Version: 2.11.0
>>   Requires:  freetype2
>>   Requires.private:  libxml-2.0
>> + Libs: /usr/local/lib/libfontconfig.a
>> + Libs.private:  /usr/local/lib/libfreetype.a -lxml2
>>   Cflags: -I${includedir}  -I/usr/local/include/freetype2 -I/usr/local/include/libpng15    -I/usr/include/libxml2
>> 
>> Compilation itself goes fine, but I do not succeed in getting proper cairo support.
>> 
>> The config.log has the following:
>> 
>> checking whether pkg-config knows about cairo... yes
>> Package libxml-2.0 was not found in the pkg-config search path.
>> Perhaps you should add the directory containing `libxml-2.0.pc'
>> to the PKG_CONFIG_PATH environment variable
>> Package 'libxml-2.0', required by 'Fontconfig', not found
>> Package libxml-2.0 was not found in the pkg-config search path.
>> Perhaps you should add the directory containing `libxml-2.0.pc'
>> to the PKG_CONFIG_PATH environment variable
>> Package 'libxml-2.0', required by 'Fontconfig', not found
>> Package libxml-2.0 was not found in the pkg-config search path.
>> Perhaps you should add the directory containing `libxml-2.0.pc'
>> to the PKG_CONFIG_PATH environment variable
>> Package 'libxml-2.0', required by 'Fontconfig', not found
>> Package libxml-2.0 was not found in the pkg-config search path.
>> Perhaps you should add the directory containing `libxml-2.0.pc'
>> to the PKG_CONFIG_PATH environment variable
>> Package 'libxml-2.0', required by 'Fontconfig', not found
>> checking whether cairo is >= 1.2 and works... no
>> 
>> Executing
>> 
>> sudo find / -name libxml-2.0.pc
>> 
>> does not give any results.
>> 
>> I must have overlooked something. Is there other information I can provide?
> 
> Apple overlooked something.  The pkg-config you are using is not provided by Apple, and Apple does not provide pkg-config files for the software it provides[*] where installing from sources would do so.
> 
> I do have a /usr/local/lib/pkgconfig/libxml-2.0.pc, containing
> 
> prefix=/usr
> exec_prefix=${prefix}
> libdir=${exec_prefix}/lib
> includedir=${prefix}/include
> modules=1
> 
> Name: libXML
> Version: 2.9.1
> Description: libXML library version2.
> Requires:
> Libs: -L${libdir} -lxml2
> Libs.private:  -lpthread -lz  -liconv -lm
> Cflags: -I${includedir}/libxml2
> 
> from a source installation of libxml2.
> 
> [*] Strangely, /usr/lib/pkgconfig is not quite empty on my box.
> 

Indeed, I have

$ ls -l /usr/lib/pkgconfig/
total 32
-rw-r--r--  1 root  wheel   329 Dec  6  2013 apr-1.pc
-rw-r--r--  1 root  wheel   446 Dec  6  2013 apr-util-1.pc
-rw-r--r--  1 root  wheel   239 Dec  6  2013 libcrypto.pc
-rw-r--r--  1 root  wheel  1803 Mar 26 16:16 libcurl.pc
-rw-r--r--  1 root  wheel   327 Dec  6  2013 libedit.pc
-rw-r--r--  1 root  wheel   275 Mar 26 16:17 libexslt.pc
-rw-r--r--  1 root  wheel  3591 Dec  6  2013 libiodbc.pc
-rw-r--r--  1 root  wheel   268 Dec  6  2013 libpcre.pc
-rw-r--r--  1 root  wheel   301 Dec  6  2013 libpcreposix.pc
-rw-r--r--  1 root  wheel   254 Dec  6  2013 libssl.pc
-rw-r--r--  1 root  wheel   268 Mar 26 16:17 libxml-2.0.pc
-rw-r--r--  1 root  wheel   265 Mar 26 16:17 libxslt.pc
-rw-r--r--  1 root  wheel   264 Dec  6  2013 openssl.pc

Those are all for system libraries. But I can't really tell where they come from - some of them are from the base system:

$ pkgutil --file-info /usr/lib/pkgconfig/libpcre.pc
volume: /
path: /usr/lib/pkgconfig/libpcre.pc

pkgid: com.apple.pkg.Essentials
pkg-version: 10.9.0.1.1.1306847324
install-time: 1386365859

but the one in question doesn't have a record:

$ pkgutil --file-info /usr/lib/pkgconfig/libxml-2.0.pc
volume: /
path: /usr/lib/pkgconfig/libxml-2.0.pc

I have put the ones without provenance into

http://r.research.att.com/libs/pkgconfig-system-stubs-darwin13.tar.gz

in case they are useful

Cheers,
Simon



>> 
>> Many thanks in advance for any pointers.
>> 
>> Best,
>> Tobias
>> 
>> _______________________________________________
>> R-SIG-Mac mailing list
>> R-SIG-Mac at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>> 
> 
> 
> -- 
> Brian D. Ripley,                  ripley at stats.ox.ac.uk
> Emeritus Professor of Applied Statistics, University of Oxford
> 1 South Parks Road, Oxford OX1 3TG, UK
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 



More information about the R-SIG-Mac mailing list