X11 missing? ... was Re: [R] rgl persp3d bounding box color problem.
I appreciate all the help. For me:
> Sys.getenv("PATH")
PATH
"/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
I suspect that I have in the past read that the system $PATH is not
the correct place to let R know where libraries are located but I
certainly had forgotten that important fact. I will re-read the
Installation Manual and modify my .Rprofile accordingly.
I have loaded the devpack4 from Urbanek's website in the past and I do
have what appears to be a similar version of libfreetype.a
/usr/local/lib/libfreetype.a: Mach-O universal binary with 4
architectures
/usr/local/lib/libfreetype.a (for architecture i386): current ar
archive random library
/usr/local/lib/libfreetype.a (for architecture ppc): current ar
archive random library
/usr/local/lib/libfreetype.a (for architecture x86_64): current ar
archive random library
/usr/local/lib/libfreetype.a (for architecture ppc64): current ar
archive random library
Thank you all once more;
David Winsemius
On Mar 4, 2009, at 2:53 AM, Prof Brian Ripley wrote:
On Tue, 3 Mar 2009, Rob Goedman wrote:
David, I did notice in your log.txt file the following message: ld warning: in /usr/local/lib/libfreetype.dylib, missing required architecture x86_64 in file
And that is the problem. Simon supplies a libfreetype.a that has tystie% file /usr/local/lib/libfreetype.a /usr/local/lib/libfreetype.a: Mach-O universal binary with 4 architectures /usr/local/lib/libfreetype.a (for architecture i386): current ar archive random library /usr/local/lib/libfreetype.a (for architecture ppc): current ar archive random library /usr/local/lib/libfreetype.a (for architecture x86_64): current ar archive random library /usr/local/lib/libfreetype.a (for architecture ppc64): current ar archive random library as part of devpack4-darwin8-bin4.tar.gz (on http://cran.r-project.org/bin/macosx/tools/) . I don't have a libfreetype.dylib, and for anyone who wants to distribute packages you do want to link statically. So if you move libfreetype.dylib out of the way (and have devpack4 installed), you should get a statically linked build and a loadable package. I'm not going to try to track down the path issues further: if I add /usr/X11/bin to the path in R.app, rgl works for me. So it must some aspect of the R.app environment for others. For the record
Sys.getenv("PATH")
PATH "/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
install.packages("rgl", type="source")
Warning in install.packages("rgl", type = "source") :
argument 'lib' is missing: using '/Users/ripley/R/Library'
trying URL 'http://cran.r-project.org/src/contrib/rgl_0.83-3.tar.gz'
Content type 'application/x-gzip' length 1653379 bytes (1.6 Mb)
opened URL
==================================================
downloaded 1.6 Mb
* Installing *source* package 'rgl' ...
checking for gcc... gcc -arch i386 -std=gnu99
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -arch i386 -std=gnu99 accepts -g... yes
checking for gcc -arch i386 -std=gnu99 option to accept ISO C89...
none needed
checking how to run the C preprocessor... gcc -arch i386 -std=gnu99 -E
checking for gcc... (cached) gcc -arch i386 -std=gnu99
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -arch i386 -std=gnu99 accepts -g... (cached) yes
checking for gcc -arch i386 -std=gnu99 option to accept ISO C89...
(cached) none needed
checking for libpng-config... yes
configure: using libpng-config
configure: using libpng dynamic linkage
checking for X... libraries /usr/X11/lib, headers /usr/X11/include
...
The R-forge version also works.
It seems a bit far fetched for the missing symbol to come from that library though (but this is a JavaScripter/pythoneer talking :-). As I normally work on R-2.9, I just went back to R-2.8.1 and tried the terminal procedure. Got the rgl examples running without problems. So that is not the cause of the error message either. I also noticed you are using the latest rgl from R-Forge (83-751), while I was using 83-3. Both versions work on my system. If someone could help out where _FT_Attach_File comes from ... Rob On Mar 3, 2009, at 2:48 PM, David Winsemius wrote:
Tried that method: The compilation proceeded without error and was reported: <snip quite a bit of material attached as rgl-compile.log> ** building package indices ... * DONE (rgl) However, in R refreshing the Package Manager and attempting to load rgl fails to load with this error report: Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared library '/Users/davidwinsemius/Library/R/2.8/ library/rgl/libs/x86_64/rgl.so': dlopen(/Users/davidwinsemius/Library/R/2.8/library/rgl/libs/x86_64/ rgl.so, 6): Symbol not found: _FT_Attach_File Referenced from: /Users/davidwinsemius/Library/R/2.8/library/rgl/ libs/x86_64/rgl.so Expected in: dynamic lookup Error : .onLoad failed in 'loadNamespace' for 'rgl' Error: package/namespace load failed for 'rgl' <rgl-compile-log.txt> -- thanks for all the eyeballs and ideas David Winsemius On Mar 3, 2009, at 5:16 PM, Rob Goedman wrote:
David, On my system libpng-config and xmkmf are in /usr/X11/bin, as on your system. Adding /usr/X11/bin to my path did not help. I think /usr/X11R6 is just a link back to /usr/X11. Did you try the terminal suggestion? Download rgl_0.83-3.tar.gz from CRAN, then in a terminal Robs-Intel:~ rob$ pwd /Users/rob Robs-Intel:~ rob$ cd Downloads/ # To wherever the rgl.....tar.gz got stored Robs-Intel:Downloads rob$ ls Cappuccino_Developer_Tools.pkg Changes.app Fluid_0.9.6.zip iphone_sdk_for_iphone_os_2.2.19m2621afinal.dmg rgl_0.83-3.tar.gz ... Robs-Intel:Downloads rob$ R_ARCH=/x86_64 R CMD INSTALL -- configure-args='--disable-carbon' rgl_0.83-3.tar.gz * Installing to library ?/Library/Frameworks/R.framework/ Resources/library? * Installing *source* package ?rgl? ... checking for gcc... gcc-4.2 -arch x86_64 -std=gnu99 checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no ... I know, it is not the ultimate solution, but it might help to know this works on your system. Rob
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-mac
-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595