Closed cwneville closed 11 years ago
In fact, NO Packages seem to be installable with this version of OS X Julia (0.1.2). Examples:
Pkg.add("ArgParse") ERROR: ArgParse has no versions compatible with your fixed requirements (e.g. julia version). in ReqsStruct at pkg/resolve.jl:100 in resolve at pkg/resolve.jl:1204 in _resolve at pkg.jl:265 in anonymous at no file:155 in cd at file.jl:26 in cd_pkgdir at pkg.jl:34 in add at pkg.jl:135 in add at pkg.jl:167
Pkg.add("Gaston") ERROR: key not found: ArgParse in ref at dict.jl:420 in gen_pvers at pkg/resolve.jl:188 in PkgStruct at pkg/resolve.jl:167 in resolve at pkg/resolve.jl:1207 in _resolve at pkg.jl:265 in anonymous at no file:155 in cd at file.jl:26 in cd_pkgdir at pkg.jl:34 in add at pkg.jl:135 in add at pkg.jl:167
Installation of Pkg.add("Gadfly") and Pkg.add("Winston") fail the same way.
cc @StefanKarpinski
Does anyone know how to make platform independent builds of Cairo and other libraries? I am just using what is built through BinDeps when installing Cairo.jl, and copying the files into the mac folder. Perhaps there are environment variables that can be set.
What's the contents of your ~/.julia/REQUIRE
file and what version of Julia are you using?
Julia version is latest OS X .dmg release, version 0.1.2
The ~/.julia/REQUIRE file is empty.
Viral -- I don't know how without going through the code built through BinDeps with a text editor and replacing instances of /User/viral with a PATH variable, maybe something like ${PREFIX_PATH}, then setting PREFIX_PATH in the sh script julia.app/Contents/Resources/script you wrote. You would also have to copy at least part of the BinDeps directory into the Mac folder so the font repository was accessible, and be sure the fonts were actually included.
Right now, many fonts are linked to files that don't exist, except on your system. A good way to start might be to actually include the fonts in the julia.app/Contents/Resources/julia/etc/fonts/conf.d directory, or maybe you could symlink link to fonts in existing directories such as /usr/X11R6/lib/X11/fonts. You might also include the lines:
<dir>/Library/Fonts</dir>
<dir>~/Library/Fonts
in the julia.app/Contents/Resources/julia/etc/fonts/fonts.conf file. But there must be a more elegant solution.
This raises another question: If we have Cairo already installed, why did Pkg.add("Gadfly") try to install Cairo when I tried to install Gadfly on the Julia OS X release immediately previous to the present one (present one is version 0.1.2)?
Thanks for all the work you have already done on this. -- Chip Neville (cwneville)
I will see if the fonts stuff can be fixed somehow.
There is an issue open for both Cairo.jl and Tk.jl, where they should not prompt the user to install, if the libraries are found. There is no way for someone who downloads Julia.app to know that they should choose "skip" here.
It seems that the issue about the paths in cairo.pc
can be resolved by setting PKG_CONFIG_PATH
.
Viral - What do I set it to? And where do I set it?
Viral - Perhaps ArgParse is working properly: Is it already installed? See:
julia> Pkg.add("ArgParse")
ERROR: ArgParse has no versions compatible with your fixed requirements (e.g. julia version).
in ReqsStruct at pkg/resolve.jl:100
in resolve at pkg/resolve.jl:1204
in _resolve at pkg.jl:265
in anonymous at no file:155
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in add at pkg.jl:135
in add at pkg.jl:167
julia>
Maybe the error message simply needs to be improved to "ArgParse is already installed and should not be reinstalled."
[pao: formatting]
Maybe fixing PKG_CONFIG_PATH will also fix this problem:
julia> Pkg.add("Calculus")
ERROR: key not found: ArgParse
in ref at dict.jl:420
in gen_pvers at pkg/resolve.jl:188
in PkgStruct at pkg/resolve.jl:167
in resolve at pkg/resolve.jl:1207
in _resolve at pkg.jl:265
in anonymous at no file:155
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in add at pkg.jl:135
in add at pkg.jl:167
julia>
[pao: formatting; use triple backtics to set off code sections]
Last comment of the day: In the file julia.app/Contents/Resources/script , should
GIT_TEMPLATE_DIR={ROOT}/julia/share/git-core exec '${ROOT}/julia/bin/julia' be changed to GIT_TEMPLATE_DIR=${ROOT}/julia/share/git-core exec '${ROOT}/julia/bin/julia'
The PKG_CONFIG_PATH
needs to be set the same way as GIT_TEMPLATE_DIR
and others.
Could you update script
with PKG_CONFIG_PATH
and see if it helps? If so, I will add it and build new packages.
As for ArgParse
, could you do Pkg.update()
and try again? Does your ~/.julia
have an ArgParse
already? This is something that @pao or @StefanKarpinski can help debug.
BTW, PKG_CONFIG_PATH
has nothing do with Julia's pkg. It is a config path for the system pkg-config, that should resolve the issue of cairo.pc and such.
Could you also nuke your entire ~/.julia
, do Pkg.update()
, try installing Gadfly
and Calculus
, and post the entire output?
I set PKG_CONFIG_PATH in both places in Julia.app/Contents/Resources/script as follows: PKG_CONFIG_PATH=${ROOT}/julia/share/git-core
Should it instead be PKG_CONFIG_PATH=${ROOT}/julia/share/git-core:$PKG_CONFIG_PATH to preserve any system prior PKG_CONFIG_PATH values? $PKG_CONFIG_PATH is not configured on my system. Here is an experiment:
$ PKG_CONFIG_PATH=/usr/share:$PKG_CONFIG_PATH
$ echo $PKG_CONFIG_PATH
/usr/share:
Will the colon at the end cause a problem?
As you asked, I nuked my .julia directory and double clicked on Julia.app. Here is the output:
PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin
PKG_CONFIG_PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/share/git-core
GIT_EXEC_PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/libexec/git-core GIT_TEMPLATE_DIR=/Applications/LocalApps/Julia.app/Contents/Resources/julia/share/git-core exec '/Applications/LocalApps/Julia.app/Contents/Resources/julia/bin/julia'
Athena:~ chip$ PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin
Athena:~ chip$ PKG_CONFIG_PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/share/git-core
Athena:~ chip$ GIT_EXEC_PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/libexec/git-core GIT_TEMPLATE_DIR=/Applications/LocalApps/Julia.app/Contents/Resources/julia/share/git-core exec '/Applications/LocalApps/Julia.app/Contents/Resources/julia/bin/julia'
julia> Pkg.add("Calculus")
MESSAGE: Auto-initializing default package repository /Users/chip/.julia.
Initialized empty Git repository in /Users/chip/.julia/.git/
[master (root-commit) 3a4a4a7] Initial empty commit
Cloning into 'METADATA'...
remote: Counting objects: 3850, done.
remote: Compressing objects: 100% (1791/1791), done.
remote: Total 3850 (delta 587), reused 3819 (delta 560)
Receiving objects: 100% (3850/3850), 314.03 KiB | 190 KiB/s, done.
Resolving deltas: 100% (587/587), done.
[master f74a68a] Empty package repo
3 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 METADATA
create mode 100644 REQUIRE
ERROR: key not found: ArgParse
in ref at dict.jl:420
in gen_pvers at pkg/resolve.jl:188
in PkgStruct at pkg/resolve.jl:167
in resolve at pkg/resolve.jl:1207
in _resolve at pkg.jl:265
in anonymous at no file:155
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in add at pkg.jl:135
in add at pkg.jl:167
julia> quit()
[Process completed]
So it doesn't work. Next, I nuked my .julia directory again, started up Julia, and ran Pkg.update()
julia> Pkg.update()
MESSAGE: Auto-initializing default package repository /Users/chip/.julia.
Initialized empty Git repository in /Users/chip/.julia/.git/
[master (root-commit) 04a06aa] Initial empty commit
Cloning into 'METADATA'...
remote: Counting objects: 3850, done.
remote: Compressing objects: 100% (1791/1791), done.
remote: Total 3850 (delta 587), reused 3819 (delta 560)
Receiving objects: 100% (3850/3850), 314.03 KiB | 225 KiB/s, done.
Resolving deltas: 100% (587/587), done.
[master 40d6016] Empty package repo
3 files changed, 4 insertions(+)
create mode 100644 .gitmodules
create mode 160000 METADATA
create mode 100644 REQUIRE
Already up-to-date.
ERROR: key not found: ArgParse
in ref at dict.jl:420
in gen_pvers at pkg/resolve.jl:188
in PkgStruct at pkg/resolve.jl:167
in resolve at pkg/resolve.jl:1207
in _resolve at pkg.jl:265
in anonymous at no file:524
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in update at pkg.jl:499
julia> Pkg.add("ArgParse")
ERROR: ArgParse has no versions compatible with your fixed requirements (e.g. julia version).
in ReqsStruct at pkg/resolve.jl:100
in resolve at pkg/resolve.jl:1204
in _resolve at pkg.jl:265
in anonymous at no file:155
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in add at pkg.jl:135
in add at pkg.jl:167
julia> Pkg.add("Calculus")
ERROR: key not found: ArgParse
in ref at dict.jl:420
in gen_pvers at pkg/resolve.jl:188
in PkgStruct at pkg/resolve.jl:167
in resolve at pkg/resolve.jl:1207
in _resolve at pkg.jl:265
in anonymous at no file:155
in cd at file.jl:26
in cd_pkgdir at pkg.jl:34
in add at pkg.jl:135
in add at pkg.jl:167
julia> quit()
[Process completed]
So it still doesn't work.
By the way, there is a simple way to get a clean system to test your installation on your development machine, without going to the expense of buying another Mac. Download VirtualBox, do a clean install of the Mac OS X operating system on it, copy your Julia.dmg file to your new virtual machine's /Applications folder, double click, and see what happens. VirtualBox is available for free from Oracle at https://www.virtualbox.org. You can also find information on the BOINC website at http://boinc.berkeley.edu/trac/wiki/VmServer
[pao: formatting]
Viral - I can now load packages. The problem was that I keep all applications I download and install in a subdirectory of /Applications named LocalApps. When I nuked my .julia file, reinstalled Julia.app in /Applications (from the .dmg file) and modified the script file as directed, I was able to install applications using Pkg.add. But installing Gadfly causes all its dependencies, including Cairo and ArgParse, to be reinstalled. I could use Calculus, but still cannot use Compose or Gadfly. So there are three problems:
Here is the terminal output from my first Julia.app terminal session with my new installation of Julia.app and a nuked .julia directory:
$ PATH=/Applications/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin $ PKG_CONFIG_PATH=/Applications/Julia.app/Contents/Resources/julia/share/git-core $ GIT_EXEC_PATH=/Applications/Julia.app/Contents/Resources/julia/libexec/git-core GIT_TEMPLATEDIR=/Applications/Julia.app/Contents/Resources/julia/share/git-core exec '/Applications/Julia.app/Contents/Resources/julia/bin/julia' () | A fresh approach to technical computing () | () () | Documentation: http://docs.julialang.org | | | Type "help()" to list help topics | | | | | | |/ ` | | | | || | | | (| | | Version 0.1.2+111718311.r1187 / |_'||_|'_| | Commit 1187040d02 (2013-03-08 10:00:57) |__/ |
julia> Pkg.add("Calculus") MESSAGE: Installing Calculus v0.0.0 Cloning into 'Calculus'... remote: Counting objects: 143, done. remote: Compressing objects: 100% (116/116), done. remote: Total 143 (delta 78), reused 88 (delta 23) Receiving objects: 100% (143/143), 29.73 KiB, done. Resolving deltas: 100% (78/78), done.
julia> Pkg.add("Gadfly") MESSAGE: Installing ArgParse v0.1.0 Cloning into 'ArgParse'... remote: Counting objects: 109, done. remote: Compressing objects: 100% (61/61), done. remote: Total 109 (delta 48), reused 85 (delta 24) Receiving objects: 100% (109/109), 29.65 KiB, done. Resolving deltas: 100% (48/48), done. MESSAGE: Installing BinDeps v0.0.0 Cloning into 'BinDeps'... remote: Counting objects: 26, done. remote: Compressing objects: 100% (13/13), done. remote: Total 26 (delta 7), reused 24 (delta 5) Receiving objects: 100% (26/26), 7.01 KiB, done. Resolving deltas: 100% (7/7), done. MESSAGE: Installing Cairo v0.0.0 Cloning into 'Cairo'... remote: Counting objects: 180, done. remote: Compressing objects: 100% (130/130), done. remote: Total 180 (delta 72), reused 134 (delta 26) Receiving objects: 100% (180/180), 39.66 KiB, done. Resolving deltas: 100% (72/72), done. MESSAGE: Running build script for package Cairo /Users/chip/.julia/Cairo/deps MESSAGE: There are multiple options available for installing this dependency:
julia> using Compose Fontconfig error: Cannot load default config file
julia> using Gadfly Warning: New definition ref(DataArray{T,N},Union(BitArray{1},Array{Bool,1})) is ambiguous with ref(DataArray{T<:Number,N},Union(Ranges{T},BitArray{1},Array{T,1})) at /Users/chip/.julia/DataFrames/src/dataarray.jl:339. Make sure ref(DataArray{T<:Number,N},Union(BitArray{1},Array{Bool,1})) is defined first. ERROR: could not open file /Users/chip/gzip.jl in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 in include_from_node1 at loading.jl:76 in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 at /Users/chip/.julia/DataFrames/src/RDA.jl:4
julia> quit()
[Process completed]
Here is a directory listing for my .julia directory:
$ cd .julia $ ls -al total 16 drwxr-xr-x 22 chip staff 748 Mar 11 21:22 . drwxr-xr-x+ 26 chip staff 884 Mar 11 21:18 .. drwxr-xr-x 11 chip staff 374 Mar 11 21:22 .git -rw-r--r-- 1 chip staff 1495 Mar 11 21:22 .gitmodules drwxr-xr-x 9 chip staff 306 Mar 11 21:21 ArgParse drwxr-xr-x 7 chip staff 238 Mar 11 21:21 BinDeps drwxr-xr-x 8 chip staff 272 Mar 11 21:21 Cairo drwxr-xr-x 10 chip staff 340 Mar 11 21:21 Calculus drwxr-xr-x 7 chip staff 238 Mar 11 21:21 Codecs drwxr-xr-x 5 chip staff 170 Mar 11 21:21 Color drwxr-xr-x 11 chip staff 374 Mar 11 21:21 Compose drwxr-xr-x 17 chip staff 578 Mar 11 21:21 DataFrames drwxr-xr-x 7 chip staff 238 Mar 11 21:21 Distributions drwxr-xr-x 12 chip staff 408 Mar 11 21:21 Gadfly drwxr-xr-x 5 chip staff 170 Mar 11 21:21 Iterators drwxr-xr-x 7 chip staff 238 Mar 11 21:21 JSON drwxr-xr-x 119 chip staff 4046 Mar 11 21:18 METADATA drwxr-xr-x 10 chip staff 340 Mar 11 21:21 Mustache drwxr-xr-x 9 chip staff 306 Mar 11 21:21 Options -rw-r--r-- 1 chip staff 16 Mar 11 21:21 REQUIRE drwxr-xr-x 8 chip staff 272 Mar 11 21:21 Stats drwxr-xr-x 7 chip staff 238 Mar 11 21:22 TextWrap
Here is a directory listing for ArgParse:
$ cd ArgParse $ ls -al total 40 drwxr-xr-x 9 chip staff 306 Mar 11 21:21 . drwxr-xr-x 22 chip staff 748 Mar 11 21:22 .. -rw-r--r-- 1 chip staff 33 Mar 11 21:21 .git -rw-r--r-- 1 chip staff 1158 Mar 11 21:21 LICENSE.md -rw-r--r-- 1 chip staff 76 Mar 11 21:21 README.md -rw-r--r-- 1 chip staff 33 Mar 11 21:21 REQUIRE -rw-r--r-- 1 chip staff 6 Mar 11 21:21 VERSION drwxr-xr-x 9 chip staff 306 Mar 11 21:21 examples drwxr-xr-x 3 chip staff 102 Mar 11 21:21 src
Here is a directory listing for src:
$ cd src $ ls -al drwxr-xr-x 3 chip staff 102 Mar 11 21:21 . drwxr-xr-x 9 chip staff 306 Mar 11 21:21 .. -rw-r--r-- 1 chip staff 63730 Mar 11 21:21 ArgParse.jl
Here is a directory listing for Cairo (I'll leave out the cd's):
drwxr-xr-x 8 chip staff 272 Mar 11 21:21 . drwxr-xr-x 22 chip staff 748 Mar 11 21:22 .. -rw-r--r-- 1 chip staff 30 Mar 11 21:21 .git -rw-r--r-- 1 chip staff 58 Mar 11 21:21 .gitignore -rw-r--r-- 1 chip staff 40 Mar 11 21:21 README.md -rw-r--r-- 1 chip staff 13 Mar 11 21:21 REQUIRE drwxr-xr-x 4 chip staff 136 Mar 11 21:21 deps drwxr-xr-x 4 chip staff 136 Mar 11 21:21 src
For deps:
drwxr-xr-x 8 chip staff 272 Mar 11 21:21 .. -rw-r--r-- 1 chip staff 5192 Mar 11 21:21 build.jl -rw-r--r-- 1 chip staff 973 Mar 11 21:21 ext.jl
For src:
drwxr-xr-x 4 chip staff 136 Mar 11 21:21 . drwxr-xr-x 8 chip staff 272 Mar 11 21:21 .. -rw-r--r-- 1 chip staff 30981 Mar 11 21:21 Cairo.jl -rw-r--r-- 1 chip staff 12675 Mar 11 21:21 constants.jl
I am going to set up a VirtualBox with a clean install. I am upgrading my computer to 10.8 anyways, and will create a cleanroom in VirtualBox too. This may take a few days though.
Some of these problems are package related problems, which I don't think have to do with the mac application. The fontconfig thing is definitely something I need to address in the app bundle.
I need to see why Julia.app can only work from Applications. In fact, I have Julia.app on my desktop, and I never put anything in Applications. There is nothing in there that depends on /Applications as far as I can tell.
Thanks for staying with this.
Viral - Should GIT_TEMPLATE_DIR=${ROOT}/julia/share/git-core in the file julia.app/Contents/Resources/script be changed to GIT_TEMPLATE_DIR=${ROOT}/julia/share/git-core/templates
I don't know for sure - I had done a bit of experimentation but still have to get a clean OS X image. Does it still give the error about templates, and changing to the new path fix it?
Viral - made change, nuked .julia directory, ran julia, and didn't get error about templates. Also fixed stuff in fonts.h, etc and didn't get the fontconfig error. But still got errors:
$ PATH=/Applications/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin $ FONTCONFIG_PATH=/Applications/Julia.app/Contents/Resources/julia/etc/fonts $ PKG_CONFIG_PATH=/Applications/Julia.app/Contents/Resources/julia/share/git-core $ GIT_EXEC_PATH=/Applications/Julia.app/Contents/Resources/julia/libexec/git-core GIT_TEMPLATE_DIR=/Applications/Julia.app/Contents/Resources/julia/share/git-core/templates exec '/Applications/Julia.app/Contents/Resources/julia/bin/julia'
julia> Pkg.update() MESSAGE: Auto-initializing default package repository /Users/chip/.julia. Initialized empty Git repository in /Users/chip/.julia/.git/ [master (root-commit) 2e94664] Initial empty commit Cloning into 'METADATA'... remote: Counting objects: 4073, done. remote: Compressing objects: 100% (1900/1900), done. remote: Total 4073 (delta 625), reused 4047 (delta 603) Receiving objects: 100% (4073/4073), 333.66 KiB | 299 KiB/s, done. Resolving deltas: 100% (625/625), done. [master bdd330c] Empty package repo 3 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 METADATA create mode 100644 REQUIRE Already up-to-date.
julia> Pkg.add("Compose") MESSAGE: Installing BinDeps v0.0.0 Cloning into 'BinDeps'... remote: Counting objects: 26, done. remote: Compressing objects: 100% (15/15), done. remote: Total 26 (delta 7), reused 22 (delta 3) Receiving objects: 100% (26/26), 7.02 KiB, done. Resolving deltas: 100% (7/7), done. MESSAGE: Installing Cairo v0.0.0 Cloning into 'Cairo'... remote: Counting objects: 180, done. remote: Compressing objects: 100% (130/130), done. remote: Total 180 (delta 72), reused 134 (delta 26) Receiving objects: 100% (180/180), 39.66 KiB, done. Resolving deltas: 100% (72/72), done. MESSAGE: Running build script for package Cairo /Users/chip/.julia/Cairo/deps MESSAGE: There are multiple options available for installing this dependency:
julia> using(Compose) ERROR: could not open file /Users/chip/Iterators.jl in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 at /Users/chip/.julia/Compose/src/Compose.jl:3
julia> ENV GIT_TEMPLATE_DIR=/Applications/Julia.app/Contents/Resources/julia/share/git-core/templates GIT_EXEC_PATH=/Applications/Julia.app/Contents/Resources/julia/libexec/git-core TERM_PROGRAM=Apple_Terminal TERM=xterm-256color SHELL=/bin/bash TMPDIR=/var/folders/1f/cttwr45x5vjg1c19wmg8n2sm0000gn/T/ Apple_PubSub_Socket_Render=/tmp/launch-aEKhIQ/Render TERM_PROGRAM_VERSION=303.2 TERM_SESSION_ID=10D38F47-ADF8-4030-9A57-C8731DC428AF USER=chip COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-lSFvGR/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0:0 Apple_Ubiquity_Message=/tmp/launch-3Hiskd/Apple_Ubiquity_Message PATH=/Users/chip/.julia/Cairo/deps/usr/bin:/Applications/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin PWD=/Users/chip LANG=en_US.UTF-8 SHLVL=0 HOME=/Users/chip LOGNAME=chip DISPLAY=/tmp/launch-T4bwqj/org.x:0 LINES=24 COLUMNS=80 PKG_CONFIG_PATH=/Users/chip/.julia/Cairo/deps/usr/lib/pkgconfig PKG_CONFIG_LIBDIR=/Users/chip/.julia/Cairo/deps/usr/lib/pkgconfig
Note that FONTCONFIG_PATH environment variable is not available to julia. Could explain lots of fontconfig errors.
Used the skip option when Pkg.add("Compose) came to Cairo
And here's what I did to try to make the fontconfig configuration files visible and let julia access Mac system fonts:
to
in the file julia.app/Contents/Resources/julia/etc/fonts/fonts.conf fixed the broken links in /Applications/julia.app/Contents/Resources/julia/etc/fonts/conf.d by removing the file julia.app/Contents/Resources/julia/etc/fonts/conf.d and then (in the julia.app/Contents/Resources/julia/etc/fonts directory) using relative symbolic links by doing ln -s ../../share/fontconfig/conf.avail conf.d
to
in the file julia.app/Contents/Resources/julia/etc/fonts/fonts.conf and use relative symbolic links by doing ln -s ../../var/cache/fontconfig fontconfigcache in the directory julia.app/Contents/Resources/julia/etc/fonts
Note: From the file /Applications/julia.app/Contents/Resources/julia/share/doc/fontconfig/fontconfig-user.pdf:
Environment variables
FONTCONFIG_FILE is used to override the default configuration file. FONTCONFIG_PATH is used to override the default configuration directory.
Thanks - this is useful. I need a way to use environment variables rather than editing stuff in config files, to the extent possible. Also, X11 is usually only installed when you get Xcode - and hence I am trying to avoid using any of X11 stuff.
Viral -
There are a large number of broken links in julia.app/Contents/Resources/julia/share/julia
Does git use the .pc files in julia.app/Contents/Resources/julia/lib/pkgconfig to tell added packages where to find their libraries? Probably not, but in case we need to compile packages from source, maybe the .pc files need to have their prefixes changed from, eg, /Users/viral/.julia/Cairo/deps/usr to a relative paths in the julia.app directory?
Removed both FONTCONFIG_PATH=${ROOT}/julia/etc/fonts and both PKG_CONFIG_PATH=${ROOT}/julia/share/git-core lines from Julia.app/Contents/Resources/script to see what would happen because ENV indicates that julia does not recognize these variables. Maybe I need to export them? But ENV shows that GIT_EXEC_PATH and GIT_TEMPLATE_DIR are recognized without being exported, so maybe not.
With these changes, julia> using(Compose) gives me the same could not open file /Users/chip/Iterators.jl error.
Nuked my .julia_history and .julia directories and started over: Reran Julia.app and eventually got the same error. I think my short term solution is to not add any packages with dependencies on Cairo. If I want to graph something, I'll save the data to a file and use an external graphing program.
Here is the result of rerunning Julia.app:
$ PATH=/Applications/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin $ GIT_EXEC_PATH=/Applications/Julia.app/Contents/Resources/julia/libexec/git-core GIT_TEMPLATE_DIR=/Applications/Julia.app/Contents/Resources/julia/share/git-core/templates exec '/Applications/Julia.app/Contents/Resources/julia/bin/julia'
julia> ENV GIT_TEMPLATE_DIR=/Applications/Julia.app/Contents/Resources/julia/share/git-core/templates GIT_EXEC_PATH=/Applications/Julia.app/Contents/Resources/julia/libexec/git-core TERM_PROGRAM=Apple_Terminal TERM=xterm-256color SHELL=/bin/bash TMPDIR=/var/folders/1f/cttwr45x5vjg1c19wmg8n2sm0000gn/T/ Apple_PubSub_Socket_Render=/tmp/launch-OZ3b4T/Render TERM_PROGRAM_VERSION=303.2 TERM_SESSION_ID=69644F65-A5FA-43DF-B2FC-BA5BCA8CB5A9 USER=chip COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-ZXYE7D/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0:0 Apple_Ubiquity_Message=/tmp/launch-qILQWA/Apple_Ubiquity_Message PATH=/Applications/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin PWD=/Users/chip LANG=en_US.UTF-8 SHLVL=1 HOME=/Users/chip LOGNAME=chip DISPLAY=/tmp/launch-eDjdsT/org.x:0 LINES=24 COLUMNS=80
julia> Pkg.update() MESSAGE: Auto-initializing default package repository /Users/chip/.julia. Initialized empty Git repository in /Users/chip/.julia/.git/ [master (root-commit) 6d0cf42] Initial empty commit Cloning into 'METADATA'... remote: Counting objects: 4079, done. remote: Compressing objects: 100% (1904/1904), done. remote: Total 4079 (delta 626), reused 4052 (delta 603) Receiving objects: 100% (4079/4079), 334.13 KiB | 260 KiB/s, done. Resolving deltas: 100% (626/626), done. [master faceff6] Empty package repo 3 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 METADATA create mode 100644 REQUIRE Already up-to-date.
julia> Pkg.add("Compose") MESSAGE: Installing BinDeps v0.0.0 Cloning into 'BinDeps'... remote: Counting objects: 35, done. remote: Compressing objects: 100% (20/20), done. remote: Total 35 (delta 11), reused 29 (delta 5) Receiving objects: 100% (35/35), 8.00 KiB, done. Resolving deltas: 100% (11/11), done. MESSAGE: Installing Cairo v0.0.0 Cloning into 'Cairo'... remote: Counting objects: 180, done. remote: Compressing objects: 100% (130/130), done. remote: Total 180 (delta 72), reused 134 (delta 26) Receiving objects: 100% (180/180), 39.66 KiB, done. Resolving deltas: 100% (72/72), done. MESSAGE: Running build script for package Cairo /Users/chip/.julia/Cairo/deps MESSAGE: There are multiple options available for installing this dependency:
and I got the same error:
julia> using(Compose) ERROR: could not open file /Users/chip/Iterators.jl
Viral -
Good News! Amazingly enough, when I nuked my .julia_history and .julia directories and moved Julia.app to my LocalApps subdirectory, I could ADD PACKAGES!! Unfortunately, I got an error when I attempted to use the very useful DataFrames package:
julia> ENV GIT_TEMPLATE_DIR=/Applications/LocalApps/Julia.app/Contents/Resources/julia/share/git-core/templates GIT_EXEC_PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/libexec/git-core TERM_PROGRAM=Apple_Terminal TERM=xterm-256color SHELL=/bin/bash TMPDIR=/var/folders/1f/cttwr45x5vjg1c19wmg8n2sm0000gn/T/ Apple_PubSub_Socket_Render=/tmp/launch-OZ3b4T/Render TERM_PROGRAM_VERSION=303.2 TERM_SESSION_ID=E404FE75-4F92-4823-96EC-221EE384499C USER=chip COMMAND_MODE=unix2003 SSH_AUTH_SOCK=/tmp/launch-ZXYE7D/Listeners __CF_USER_TEXT_ENCODING=0x1F5:0:0 Apple_Ubiquity_Message=/tmp/launch-qILQWA/Apple_Ubiquity_Message PATH=/Applications/LocalApps/Julia.app/Contents/Resources/julia/bin:/usr/bin:/bin:/usr/sbin:/sbin PWD=/Users/chip LANG=en_US.UTF-8 SHLVL=1 HOME=/Users/chip LOGNAME=chip DISPLAY=/tmp/launch-eDjdsT/org.x:0 LINES=24 COLUMNS=80
julia> using(DataFrames) Warning: New definition ref(DataArray{T,N},Union(Array{Bool,1},BitArray{1})) is ambiguous with ref(DataArray{T<:Number,N},Union(Ranges{T},BitArray{1},Array{T,1})) at /Users/chip/.julia/DataFrames/src/dataarray.jl:339. Make sure ref(DataArray{T<:Number,N},Union(Array{Bool,1},BitArray{1})) is defined first. ERROR: could not open file /Users/chip/gzip.jl in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 in include_from_node1 at loading.jl:76 in include_from_node1 at loading.jl:76 in reload_path at loading.jl:96 in require at loading.jl:48 at /Users/chip/.julia/DataFrames/src/RDA.jl:4
julia> Pkg.add("Calculus") MESSAGE: Installing Calculus v0.0.0 Cloning into 'Calculus'... remote: Counting objects: 143, done. remote: Compressing objects: 100% (116/116), done. remote: Total 143 (delta 78), reused 88 (delta 23) Receiving objects: 100% (143/143), 29.73 KiB, done. Resolving deltas: 100% (78/78), done.
julia> using(Calculus)
julia> derivative(x -> sin(x), 0.0) 0.9999999999938886
julia> cos(0.00) 1.0
Viral - On my wife's system (10.6 still) where NO DEVELOPER TOOLS have been installed, she still has the X11 directories. Anyway, I didn't use any X11 stuff, but simply copied an XML font configuration file and installed it in conf.avail or whatever, which allows fontconfig to access Library and System/Library fonts.
I'm very happy you found this way overly verbose stuff useful.
On Sat, Mar 16, 2013 at 4:59 AM, Viral B. Shah notifications@github.comwrote:
Thanks - this is useful. I need a way to use environment variables rather than editing stuff in config files, to the extent possible. Also, X11 is usually only installed when you get Xcode - and hence I am trying to avoid using any of X11 stuff.
— Reply to this email directly or view it on GitHubhttps://github.com/JuliaLang/julia/issues/2518#issuecomment-15001751 .
I think that the DataFrames error is due to recent changes in julia master. @johnmyleswhite ? It should really have tried to pull a version compatible with 0.1.
I get a similar error from Cairo via Compose, that it can't find something in my HOME directory, not in the .julia repository. See my previous comments with julia output.
Viral - Here are copies of the changed files:
Julia.app/Contents/Resources/script:
#!/bin/sh
# Copyright (C) 2007, Thomas Treichl and Paul Kienzle
# Copyright (C) 2008-2009, Thomas Treichl
# Copyright (C) 2013, Viral B. Shah (Adapted for Julia from Octave)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; If not, see <http://www.gnu.org/licenses/>.
ROOT="${0%/script}"
# This is the startup procedure written as AppleScript to open a
# Terminal.app (if the Terminal.app is not already running) and start
# the Julia program.
# 20071007 removed: open -a /Applications/Utilities/Terminal.app
osascript 2>&1>/dev/null <<EOF
tell application "System Events" to set ProcessList to get name of every process
tell application "Terminal"
activate
if ProcessList contains "Terminal" then
do script ("PATH=${ROOT}/julia/bin:${PATH}
GIT_EXEC_PATH=${ROOT}/julia/libexec/git-core GIT_TEMPLATE_DIR=${ROOT}/julia/share/git-core/templates exec '${ROOT}/julia/bin/julia'")
else
do script ("PATH=${ROOT}/julia/bin:${PATH}
GIT_EXEC_PATH=${ROOT}/julia/libexec/git-core GIT_TEMPLATE_DIR=${ROOT}/julia/share/git-core/templates exec '${ROOT}/julia/bin/julia'") in front window
end if
end tell
EOF
# Quit the Julia.application immediately after startup (ie. quitting
# it in the taskbar) because once it is started it cannot be restarted
# a second time. If Julia.app stays (eg. because of a crash) opened
# then restarting is not possible.
osascript 2>&1>/dev/null <<EOF
tell application "julia"
quit
end tell
EOF
--------
Julia.app/Contents/Resources/julia/etc/fonts/fonts.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<!--
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
LOCAL CHANGES BELONG IN 'local.conf'.
The intent of this standard configuration file is to be adequate for
most environments. If you have a reasonably normal environment and
have found problems with this configuration, they are probably
things that others will also want fixed. Please submit any
problems to the fontconfig bugzilla system located at fontconfig.org
Note that the normal 'make install' procedure for fontconfig is to
replace any existing fonts.conf file with the new version. Place
any local customizations in local.conf which this file references.
Keith Packard
-->
<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
<!--
Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>monospace</string>
</edit>
</match>
<!--
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<!--
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<!--
Load local system customization file
-->
<include ignore_missing="yes">conf.d</include>
<!-- Font cache directory list -->
<cachedir>fontconfigcache</cachedir>
<cachedir prefix="xdg">fontconfig</cachedir>
<!-- the following element will be removed in the future -->
<cachedir>~/.fontconfig</cachedir>
<config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
<blank>
<int>0x0020</int> <!-- SPACE -->
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
<int>0x00AD</int> <!-- SOFT HYPHEN -->
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
<int>0x2000</int> <!-- EN QUAD -->
<int>0x2001</int> <!-- EM QUAD -->
<int>0x2002</int> <!-- EN SPACE -->
<int>0x2003</int> <!-- EM SPACE -->
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
<int>0x2007</int> <!-- FIGURE SPACE -->
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
<int>0x2009</int> <!-- THIN SPACE -->
<int>0x200A</int> <!-- HAIR SPACE -->
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
<int>0x2028</int> <!-- LINE SEPARATOR -->
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
<int>0x2060</int> <!-- WORD JOINER -->
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
<int>0x2062</int> <!-- INVISIBLE TIMES -->
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
<int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
<int>0x3164</int> <!-- HANGUL FILLER -->
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig>
-----
Here is a selection from ls -al showing the links conf.d and fontconfigcache in the directory Julia.app/Contents/Resources/julia/etc/fonts:
lrwxr-xr-x 1 chip admin 33 Mar 15 23:46 conf.d -> ../../share/fontconfig/conf.avail
lrwxr-xr-x 1 chip admin 26 Mar 15 23:40 fontconfigcache -> ../../var/cache/fontconfig
-----
Julia.app/Contents/Resources/julia/share/fontconfig/conf.avail/05-osx-fonts.conf (the one file added to conf.avail, copied from the OS X user X11 distribution):
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/System/Library/Fonts</dir>
<dir>/Library/Fonts</dir>
<dir>~/Library/Fonts</dir>
</fontconfig>
The dashes indicate the end of one file and the beginning of another.
Comments:
I think the julia.app/Contents/Resources/julia/lib/pkgconfig directory is simply left over from compilation and can be deleted.
I wonder how julia knows to find its font configuration files in Julia.app/Contents/Resources/julia/etc/fonts, since this is a non-standard place and julia appears not to read the FONTCONFIG_PATH variable I tried to set. Note that I have now deleted it from the script file, and everything works (or doesn't work) as before. What seems to have fixed the fontconfig errors was making the Julia.app/Contents/Resources/julia/etc/fonts/conf.d directory a relative link to Julia.app/Contents/Resources/julia/share/fontconfig/conf.avail, and introducint relative links into the Julia.app/Contents/Resources/julia/etc/fonts/fonts.conf file.
I have no idea why I can move Julia.app around now and still add packages. Maybe it was that the GIT_TEMPLATE_DIR is now set properly, but I don't see why that would help. Less likely, it was because the fonts directories and config files were set up with relative links.
The packages go in ~/.julia and hence moving around of the Julia.app should not matter.
I believe most of these issues are now fixed in 0.2. Could you try the latest 0.2-pre binaries, and see if it works well? We can reopen this issue if necessary.
Will try to do so this weekend. -- Best, Chip
On Mon, May 27, 2013 at 7:07 AM, Viral B. Shah notifications@github.comwrote:
I believe most of these issues are now fixed in 0.2. Could you try the latest 0.2-pre binaries, and see if it works well? We can reopen this issue if necessary.
— Reply to this email directly or view it on GitHubhttps://github.com/JuliaLang/julia/issues/2518#issuecomment-18493488 .
I just downloaded OS X prebinaries and looked at julia.app. The basic stuff runs well.
As for fonts needed by Cairo, the fonts.conf file in the /LocalApps/Julia.app/Contents/Resources/julia/etc/fonts/ directory looks good, but the links in the fonts.conf subdirectory still point to the wrong place, as in /Users/viral/.julia/Cairo/deps/usr/share/fontconfig/conf.avail/45-latin.conf
A simple solution would be to change fonts.conf from a directory to a link pointing to the conf.avail subdirectory of /LocalApps/Julia.app/Contents/Resources/julia/share/fontconfig
Looking down the road, there are going to be other X-windows binary dependencies in stuff ported to julia. Maybe the long term solution is to include Homebrew in the the OS X package and require package developers to include provide working homebrew scripts and an automatic way at install time to invoke the script. That way, the responsibility devolves onto package developers rather than the OS X packager.
Or, you could break the OS X self-contained package paradigm, as well as the GitHub put-everything in the .julia directory, and put X-windows dependencies in /usr/local as Homebrew does by default. This would simplify Homebrew script development.
Best, Chip
On Wed, May 29, 2013 at 10:01 PM, Chip Neville chip.neville@gmail.comwrote:
Will try to do so this weekend. -- Best, Chip
On Mon, May 27, 2013 at 7:07 AM, Viral B. Shah notifications@github.comwrote:
I believe most of these issues are now fixed in 0.2. Could you try the latest 0.2-pre binaries, and see if it works well? We can reopen this issue if necessary.
— Reply to this email directly or view it on GitHubhttps://github.com/JuliaLang/julia/issues/2518#issuecomment-18493488 .
So long as you get a plot with some fonts that are readable, I will declare victory for now. :-)
[pao: see below copy of the comment; it's unreadable and won't format because it came over email]
[pao: this was @cwneville's comment immediately above]
I installed DataFrames successfully. But the installation of Winston failed. I chose the skip option when asked to compile dependencies because they (Cairo, Pango, Tk) are supposed to be pre-installed. Here's what happened:
julia> Pkg.add("Winston")
MESSAGE: Installing BinDeps v0.0.1
in anonymous at no file:163
Cloning into 'BinDeps'...
remote: Counting objects: 57, done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 57 (delta 21), reused 53 (delta 19)
Receiving objects: 100% (57/57), 12.00 KiB, done.
Resolving deltas: 100% (21/21), done.
MESSAGE: Installing Cairo v0.2.2
in anonymous at no file:163
Cloning into 'Cairo'...
remote: Counting objects: 273, done.
remote: Compressing objects: 100% (139/139), done.
remote: Total 273 (delta 118), reused 265 (delta 110)
Receiving objects: 100% (273/273), 56.71 KiB, done.
Resolving deltas: 100% (118/118), done.
MESSAGE: Running build script for package Cairo
in cd at file.jl:25
/Users/chip/.julia/Cairo/deps
MESSAGE: There are multiple options available for installing this
dependency:
in run at /Users/chip/.julia/BinDeps/src/BinDeps.jl:394
- skip: Skip Installation - Binaries must be installed manually
- brew: Install depdendency using brew
- source: Install depdendency from source
- skip: Skip Installation - Binaries must be installed manually
- brew: Install depdendency using brew
- source: Install depdendency from source
Plese select desired method: skip
MESSAGE: Installing Color v0.2.2
in anonymous at no file:163
Cloning into 'Color'...
remote: Counting objects: 93, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 93 (delta 23), reused 90 (delta 21)
Receiving objects: 100% (93/93), 36.94 KiB, done.
Resolving deltas: 100% (23/23), done.
MESSAGE: Installing IniFile v0.2.0
in anonymous at no file:163
Cloning into 'IniFile'...
remote: Counting objects: 23, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 23 (delta 3), reused 21 (delta 1)
Receiving objects: 100% (23/23), done.
Resolving deltas: 100% (3/3), done.
MESSAGE: Installing Tk v0.2.2
in anonymous at no file:163
Cloning into 'Tk'...
remote: Counting objects: 462, done.
remote: Compressing objects: 100% (201/201), done.
remote: Total 462 (delta 240), reused 444 (delta 223)
Receiving objects: 100% (462/462), 393.23 KiB | 307 KiB/s, done.
Resolving deltas: 100% (240/240), done.
MESSAGE: Running build script for package Tk
in cd at file.jl:25
MESSAGE: There are multiple options available for installing this
dependency:
in run at /Users/chip/.julia/BinDeps/src/BinDeps.jl:394
- skip: Skip Installation - Binaries must be installed manually
- brew: Install depdendency using brew
- source: Install depdendency from source
- skip: Skip Installation - Binaries must be installed manually
- brew: Install depdendency using brew
- source: Install depdendency from source
Plese select desired method: skip
MESSAGE: Attempting to Create directory /Users/chip/.julia/Tk/deps/usr/lib
in run at /Users/chip/.julia/BinDeps/src/BinDeps.jl:394
/Users/chip/.julia/Tk/deps/usr/lib
src/tk_wrapper.c:58:25: error: tkMacOSXInt.h: No such file or directory
src/tk_wrapper.c:64: error: expected ‘)’ before ‘*’ token
src/tk_wrapper.c:85: error: expected ‘)’ before ‘*’ token
ERROR: failed process: Process(`gcc -xobjective-c -shared -g -fPIC
-I/Users/chip/.julia/Tk/deps/usr/include -I/usr/local/include
-L/Users/chip/.julia/Tk/deps/usr/lib src/tk_wrapper.c -ltcl8.6 -ltk8.6
-framework AppKit -framework Foundation -framework ApplicationServices -o
/Users/chip/.julia/Tk/deps/usr/lib/libtk_wrapper.dylib`, ProcessExited(1))
[1]
in error at error.jl:22
in pipeline_error at process.jl:399
in run at process.jl:389
in run at /Users/chip/.julia/BinDeps/src/BinDeps.jl:394
in run at /Users/chip/.julia/BinDeps/src/BinDeps.jl:368
in run at /Users/chip/.julia/BinDeps/src/BinDeps.jl:394
in build_wrapper at none:27
in evalfile at loading.jl:145
in anonymous at no file:249
in cd at file.jl:25
in runbuildscript at pkg.jl:246
in _resolve at pkg.jl:394
in anonymous at no file:163
in cd at file.jl:25
in cd_pkgdir at pkg.jl:42
in add at pkg.jl:143
in add at pkg.jl:175
Note: I installed julia BEFORE deleting my old .julia file, so if there was some magic there to tell git that Cairo, etc., were pre-installed, I would have accidentally deleted it. (My surmise is that there was no such magic.)
I think the only option is to follow Homer Reid's advice to use Homebrew to install the dependencies, and to modify Cairo, etc., to check for the needed binaries in /usr/local. Or maybe modify the Cairo install script to check /Applications and subdirectories (I like to keep my downloaded apps in a subdirectory called LocalApps) for a julia.app directory and for a Cairo, etc. installation there.
Note: I tried again with julia.app moved from my LocalApps subdirectory to /Applications. Still no luck.
Best, Chip
It is unable to find the tk_wrapper library. I will have to look into it.
Perhaps it is best not to use Winston with 0.1.2. This would require a lot of backporting of newly fixed stuff, but it is likely to be using the 0.2 APIs. I think Gaston may be the only real alternative for graphics on 0.1, but it requires the user to have gnuplot installed.
We should just hope to quickly get to 0.2.
@pao You cannot skip the Tk installation, because we need Tk 8.6.
I am going to close this, in favour of moving to 0.2 for graphics. 0.2-pre mac binaries are available, and they are being improved to make graphics seamless.
@ViralBShah you mean @cwneville, I was just reposting his comment so it was readable due to the no-markdown-in-email-posts bug.
Thanks - I just realized that after posting myself.
Issue: Packages such as Gadfly won't install due to repeated statements such as prefix=/Users/viral/.julia/Cairo/deps/usr (in cairo-script.pc) and