Closed gizmaa closed 9 years ago
Thanks for the report. I'm building Julia at that commit, 79599ad
, since with current release-0.3
and master
I've not been able to reproduce this.
The trouble is coming from Docile trying to check if a docstring is actually a file and automatically reading the file's content if it is.
I've push a fix for this to Docile master
, could you do a Pkg.update(); Pkg.checkout("Docile")
to test whether this fixes the problem?
For the reason behind not seeing any output in Sublime, that's probably https://github.com/MichaelHatherly/Lexicon.jl/issues/29. I usually only use a terminal and vim, so it's been a lower priority. Hopefully I'll have a chance to resolve that issue in a future release of Lexicon, probably 0.2.x
timeframe.
No change on 79599ad
for me. Was your Julia install done with the ubuntu binaries https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases? I'll get a 14.04
vm setup this evening to check whether that has any effect.
Wow, you're really on the ball here.
julia> Pkg.update()
INFO: Updating METADATA...
INFO: Updating cache of Docile...
INFO: Computing changes...
INFO: Upgrading Docile: v0.5.6 => v0.5.7
julia> Pkg.checkout("Docile")
INFO: Checking out Docile master...
INFO: Pulling Docile latest master...
INFO: No packages to install, update or remove
julia> using Lexicon
julia> using Docile
julia> using DocThis
help?> AThing
DataType : AThing (constructor with 1 method)
supertype: Any
fields : (:bee,)
Docile: updating package list...
Docile: caching 62 modules from 'Base'.
Docile: caching 1 module from 'DataFrames'.
ERROR: stat: name too long (ENAMETOOLONG)
in stat at ./stat.jl:43
in findexternal at /home/user/.julia/v0.3/Docile/src/Collector/utilities.jl:220
in get_docs! at /home/user/.julia/v0.3/Docile/src/Collector/docstrings.jl:100
in process! at /home/user/.julia/v0.3/Docile/src/Collector/docstrings.jl:52
in anonymous at /home/user/.julia/v0.3/Docile/src/Collector/docstrings.jl:41
in cd at ./file.jl:20
in process! at /home/user/.julia/v0.3/Docile/src/Collector/docstrings.jl:40
in docstrings at /home/user/.julia/v0.3/Docile/src/Collector/docstrings.jl:27
in initdocs! at /home/user/.julia/v0.3/Docile/src/Cache/storage.jl:46
in getdocs at /home/user/.julia/v0.3/Docile/src/Cache/storage.jl:54
in Metadata at /home/user/.julia/v0.3/Docile/src/Legacy/types.jl:66
in metadata at /home/user/.julia/v0.3/Docile/src/Interface/legacy.jl:40
in run at /home/user/.julia/v0.3/Lexicon/src/query.jl:165
I think it comes from http://ppa.launchpad.net/staticfloat/juliareleases/ubuntu. I don't have many sources listed in Muon but that looks like one specifically dedicated to Julia.
Here is information from apt.
:~$ apt-cache show julia
Package: julia
Priority: extra
Section: science
Installed-Size: 65378
Maintainer: Debian Julia Team <pkg-julia-devel@lists.alioth.debian.org>
Architecture: amd64
Version: 0.3.8-docfix-trusty4
Suggests: ess (>= 12.09-1~), julia-doc
Depends: libc6 (>= 2.17), libdouble-conversion1, libgcc1 (>= 1:4.1.1), libgfortran3 (>= 4.6), liblapack3 | liblapack.so.3, libopenblas-base, libstdc++6 (>= 4.6), zlib1g (>= 1:1.2.0), liblapack3 | libatlas3-base, libpcre3 (>= 8.31), libfftw3-3, libcholmod1.7.1 | libcholmod2.1.2, libumfpack5.4.0 | libumfpack5.6.2, libgmp10 (>= 5.1.3), libarpack2, librmath-julia-dev, libmpfr4, git
Pre-Depends: multiarch-support
Filename: pool/main/j/julia/julia_0.3.8-docfix-trusty4_amd64.deb
Size: 14024306
MD5sum: c2cb266f8823ca57451c4ebc3e05d8e3
SHA1: 40a9a5689d8fc911b0d2fd02ed4654e90a3406ef
SHA256: b1ffcfcd5f3464158732852295aba8474eb9afcfc58926cd24da66a3167647e5
Description-en: high-performance programming language for technical computing
Julia is a high-level, high-performance dynamic programming language for
technical computing, with syntax that is familiar to users of other technical
computing environments. It provides a sophisticated compiler, distributed
parallel execution, numerical accuracy, and an extensive mathematical function
library. The library, mostly written in Julia itself, also integrates mature,
best-of-breed C and Fortran libraries for linear algebra, random number
generation, FFTs, and string processing. Julia programs are organized around
defining functions, and overloading them for different combinations of
argument types (which can also be user-defined).
.
This package provides a complete Julia installation (JIT compiler, standard
library, text-based user interface).
Description-md5: 7dde6bdfecf283488c90d2886fb982c1
Could you run the following function:
julia> function largestfilelength(n)
for i = 1:n
try
isfile(randstring(i))
catch err
return err, i
end
end
end
largestfilelength (generic function with 1 method)
julia> largestfilelength(1024)
(stat: name too long (ENAMETOOLONG),256)
julia> function largestfilelength(n)
for i = 1:n
try
isfile(randstring(i))
catch err
return err, i
end
end
end
largestfilelength (generic function with 1 method)
julia> largestfilelength(1024)
(stat: name too long (ENAMETOOLONG),144)
Thanks, 144
is what I needed. Hopefully that's the real lower bound.
The backtrace in this, https://github.com/MichaelHatherly/Docile.jl/issues/140#issuecomment-114066965, seems to have the wrong line numbers for master
. From https://github.com/MichaelHatherly/Docile.jl/blob/becdef7d4bbf1f9c8482590bdae329de9fff8cab/src/Collector/utilities.jl#L220-L237 line 220
is not aligned with findexternal
, I guess Pkg.checkout
didn't work, best to just use git pull origin master
directly in the Docile folder to get the latest changes.
:~/.julia/v0.3/Docile$ git pull origin master
From https://github.com/MichaelHatherly/Docile.jl
* branch master -> FETCH_HEAD
Already up-to-date.
Had you already called using Docile
prior to Pkg.checkout("Docile")
in the same REPL session? If so then the second using Docile
wouldn't have any effect.
What's the hash for the current commit?
$ git rev-parse HEAD
becdef7d4bbf1f9c8482590bdae329de9fff8cab
$ git rev-parse HEAD
becdef7d4bbf1f9c8482590bdae329de9fff8cab
The comment above where I did the checkout is the entire Julia session.
Success!
I just restarted Julia and typed the following commands.
julia> using Lexicon
julia> using DocThis
help?> AThing
DataType : AThing (constructor with 1 method)
supertype: Any
fields : (:bee,)
Docile: updating package list...
Docile: caching 62 modules from 'Base'.
Docile: caching 1 module from 'Lexicon'.
Docile: caching 1 module from 'ArrayViews'.
Docile: caching 9 modules from 'Docile'.
Docile: caching 1 module from 'PyPlot'.
Docile: caching 1 module from 'FixedPointNumbers'.
Docile: caching 1 module from 'Dates'.
Docile: caching 1 module from 'DocThis'.
Docile: caching 1 module from 'Reexport'.
Docile: caching 1 module from 'LaTeXStrings'.
Docile: caching 1 module from 'Aerodyne'.
Docile: caching 1 module from 'SortingAlgorithms'.
Docile: caching 3 modules from 'Compat'.
Docile: caching 1 module from 'DataArrays'.
Docile: caching 1 module from 'GZip'.
Docile: caching 1 module from 'StatsBase'.
Docile: caching 1 module from 'Color'.
Docile: caching 1 module from 'PyCall'.
Docile: caching 1 module from 'DataFrames'.
[type]
DocThis.AThing
This type defines a thing, which is a thing. Here's some code, declared by
indenting:
ay = AThing(5)
bee = AThing(3.14)
So that's that.
Details:
source: (15,"/home/user/Code/DocThis.jl")
Great! That's definitely the right output now. I'll tag Docile 0.5.8
shortly so you don't have to sit on master
for this to work.
Should be fixed with this tag https://github.com/JuliaLang/METADATA.jl/pull/2755.
Usage
System Information