# @less broken?

**URL:** https://discourse.julialang.org/t/less-broken/55799
**Category:** General Usage
**Created:** [February 22, 2021, 8:06pm UTC](https://discourse.julialang.org/t/less-broken/55799 "2021-02-22T20:06:25Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [February 22, 2021, 8:06pm UTC](https://discourse.julialang.org/t/less-broken/55799/1 "2021-02-22T20:06:25Z")

</div>

`@less write(stdout,'a')` is resulting in the following error

> ERROR: could not find source file for function  
> Stacktrace:  
> [1] less(::Nothing, ::Int32) at /build/julia/src/julia-1.5.3/usr/share/julia/stdlib/v1.5/InteractiveUtils/src/editless.jl:265  
> [2] less(::Function, ::Any) at /build/julia/src/julia-1.5.3/usr/share/julia/stdlib/v1.5/InteractiveUtils/src/editless.jl:264  
> [3] top-level scope at REPL[17]:1  
> [4] run\_repl(::REPL.AbstractREPL, ::Any) at /build/julia/src/julia-1.5.3/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:288

That was taken from my history, so I know it’s worked in the past. I’ve also tried several others, they all fail with the same error.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [February 22, 2021, 8:22pm UTC](https://discourse.julialang.org/t/less-broken/55799/2 "2021-02-22T20:22:30Z")

</div>

If you typed literally

```julia
@less write(stdout,‘a’)

```

those are the wrong quotation marks: you should use the single straight quotation mark `'` for characters:

```julia
@less write(stdout, 'a')

```

(but I get a different error message with `’` instead of `'`)

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [February 22, 2021, 8:35pm UTC](https://discourse.julialang.org/t/less-broken/55799/3 "2021-02-22T20:35:13Z")

</div>

No, that’s just the formatting the forums are apply.

I edited my opening post for clarity.

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [February 22, 2021, 8:37pm UTC](https://discourse.julialang.org/t/less-broken/55799/4 "2021-02-22T20:37:05Z")

</div>

What does `@which write(stdout, 'a')` show? Or `methods(write)`? Or probably more clearly, just displaying `write` itself? I’m guessing you are shadowing it.

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [February 23, 2021, 2:22am UTC](https://discourse.julialang.org/t/less-broken/55799/5 "2021-02-23T02:22:53Z")

</div>

The problem isn’t with `write`, if that’s what you’re getting at. `@less` isn’t working for any function. As for the output, it’s as expected.

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [February 23, 2021, 2:02pm UTC](https://discourse.julialang.org/t/less-broken/55799/6 "2021-02-23T14:02:19Z")

</div>

Ah, true, it looks like you may have moved/deleted some files within your Julia install? That error message would pop up if you don’t have the source files.

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [February 23, 2021, 2:30pm UTC](https://discourse.julialang.org/t/less-broken/55799/7 "2021-02-23T14:30:36Z")

</div>

> [@nstgc](#):
>
> @less write(stdout,‘a’)

If they’ve been moved or deleted, then it was without my knowledge.

Looking at `$ ls /usr/share/julia/stdlib/v1.5/**|grep jl|uniq`, it certainly seems like the source code is there.

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [February 23, 2021, 4:45pm UTC](https://discourse.julialang.org/t/less-broken/55799/8 "2021-02-23T16:45:09Z")

</div>

Is that where `joinpath(Sys.BINDIR, Base.DATAROOTDIR)` points? Is there a file at `joinpath(Sys.BINDIR, Base.DATAROOTDIR,"julia","base","io.jl")`?

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [February 23, 2021, 5:45pm UTC](https://discourse.julialang.org/t/less-broken/55799/9 "2021-02-23T17:45:36Z")

</div>

```julia
julia> joinpath(Sys.BINDIR, Base.DATAROOTDIR)
"/usr/bin/../../build/julia/src/julia-1.5.3/julia-1.5.3/share"

isfile(joinpath(Sys.BINDIR, Base.DATAROOTDIR,"julia","base","io.jl"))
false

isdir(joinpath(Sys.BINDIR, Base.DATAROOTDIR))
false

```

That would be a “no”.

I’m no expert (or even competent), but I think there is something wrong with `Base.DATAROOTDIR`.

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [February 23, 2021, 6:33pm UTC](https://discourse.julialang.org/t/less-broken/55799/10 "2021-02-23T18:33:03Z")

</div>

How did you install Julia? Did you use a distro installation?

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [March 3, 2021, 1:55pm UTC](https://discourse.julialang.org/t/less-broken/55799/11 "2021-03-03T13:55:36Z")

</div>

Thanks for the reply. Sorry I didn’t catch the email notification.

Yes, I installed it from the Arch main repo.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [March 3, 2021, 2:01pm UTC](https://discourse.julialang.org/t/less-broken/55799/12 "2021-03-03T14:01:05Z")

</div>

Which package? I wholeheartedly recommend [`aur:julia-bin`](https://aur.archlinux.org/packages/julia-bin/) over [`julia`](https://www.archlinux.org/packages/community/x86_64/julia/)

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [March 3, 2021, 2:15pm UTC](https://discourse.julialang.org/t/less-broken/55799/13 "2021-03-03T14:15:54Z")

</div>

The main repo, so `julia`.

Why do you suggest the AUR repo over the main one? In general, I try to avoid the AUR where I can.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [March 3, 2021, 2:18pm UTC](https://discourse.julialang.org/t/less-broken/55799/14 "2021-03-03T14:18:26Z")

</div>

Because `aur:julia-bin` simply uses the [official binaries](https://julialang.org/downloads/), the package from the main repo bitrots every now and then, as you’ve just experienced

---

<div class="post-metadata">

### Author: ![nstgc](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nstgc](https://discourse.julialang.org/u/nstgc)
#### Post date: [March 3, 2021, 2:56pm UTC](https://discourse.julialang.org/t/less-broken/55799/15 "2021-03-03T14:56:11Z")

</div>

I see.

Well, I’ve downgraded from `2:1.5.3-3` to `2:1.5.3-2` and that fixed it for me. That confirms it’s a package issue.

Thanks.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [March 3, 2021, 3:07pm UTC](https://discourse.julialang.org/t/less-broken/55799/16 "2021-03-03T15:07:10Z")

</div>

This is the change between the two versions:  
[https://github.com/archlinux/svntogit-community/commit/1344d963d4b9249ba830f102b30f0aa651351c8d](https://github.com/archlinux/svntogit-community/commit/1344d963d4b9249ba830f102b30f0aa651351c8d)  
I wonder if it reflects a bug in Julia build system? 🤔

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [March 3, 2021, 3:11pm UTC](https://discourse.julialang.org/t/less-broken/55799/17 "2021-03-03T15:11:57Z")

</div>

And/or missing test coverage? I’d hope they’d ensure no test failures — or at least no new regressions with a new packaging setup.

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [March 3, 2021, 3:16pm UTC](https://discourse.julialang.org/t/less-broken/55799/18 "2021-03-03T15:16:54Z")

</div>

I can reproduce the issue with this `Dockerfile`:

```nohighlight
FROM archlinux:latest
RUN pacman -Sy --noconfirm julia

CMD julia -E 'isdir(joinpath(Sys.BINDIR, Base.DATAROOTDIR))'

```

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [March 3, 2021, 3:50pm UTC](https://discourse.julialang.org/t/less-broken/55799/19 "2021-03-03T15:50:50Z")

</div>

I believe they should set `prefix` at build time: [FS#69870 : [julia] `prefix` should be set at build time as well](https://bugs.archlinux.org/task/69870)

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [March 3, 2021, 5:17pm UTC](https://discourse.julialang.org/t/less-broken/55799/20 "2021-03-03T17:17:13Z")

</div>

Well, that was fast: [archrelease: copy trunk to community-x86\_64 · archlinux/svntogit-community@0ca84f8 · GitHub](https://github.com/archlinux/svntogit-community/commit/0ca84f83ab55703305449df5a8829f4e18e50167). I confirm `2:1.5.3-4` fixes the issue for me and `@less` works properly

[Next page](https://discourse.julialang.org/t/less-broken/55799.md?page=2)
