highlight error, cannot open filetypes.conf: No such file or directory

  • Open
  • quality assurance status badge
Details
One participant
  • chris
Owner
unassigned
Submitted by
chris
Severity
normal
C
(address . bug-guix@gnu.org)(address . chris@bumblehead.com)
ZcIRii9JpxqWrGSk@guix-xps
There is an issue using "highlight"


This unexpected error is reproduced easily with the command below: "cannot open filetypes.conf"
```
$ echo "(highlight (package bug))" | highlight -O xterm256 --syntax lisp
cannot open filetypes.conf: No such file or directory
(highlight (package bug))
```

Creating `~/.highlight/filetypes.conf` did not resolve the error.
Setting "HIGHLIGHT_DATADIR=$HOME/.config/highlight/" did not resolve the error.

Any advice is welcome. Thank you :)

Chris
C
(name . Sergey Trofimov)(address . sarg@sarg.org.ru)
ZcQ2MvkgTyFa-xy3@guix-xps
Sergey,

I believe you intended a related message for the debbugs service, but only sent the message to my mail address. I am unsure and want to avoid showing impoliteness, I rephrased your message a bit below. Thank you,

Chris

-------------------

the highlight error goes away after copying the conf file this way
```
cp $(guix build highlight)/etc/highlight/filetypes.conf ~/.highlight/
```

strace shows that the conf is searched in wrong place:

Toggle snippet (13 lines)
newfstatat(AT_FDCWD, "/home/user/.highlight/filetypes.conf", 0x7ffcd0778130,
0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/gnu/store/9mdd4ba8ri4j07acmbc2vhkiipbz9l63-highlight-4.8/share/highlight/filetypes.conf",
0x7ffcd0778130, 0) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/gnu/store/9mdd4ba8ri4j07acmbc2vhkiipbz9l63-highlight-4.8/share/highlight/config/highlight/filetypes.conf",
0x7ffcd0778130, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "filetypes.conf", O_RDONLY) = -1 ENOENT (No such file or
directory)
futex(0x7f2c4827e1f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, "cannot open filetypes.conf: No s"..., 53cannot open
filetypes.conf: No such file or directory) = 53

but it is installed to
/gnu/store/...-highlight-.../etc/highlight/highlight.conf
the package recipe has to be fixed
C
temp fix
(address . 68948@debbugs.gnu.org)(address . chris@bumblehead.com)
ZgSIW9fJH9ODsKum@guix-xps
The following workaround can be used,
```
HLDIRS=$(guix build highlight); # returns two directories
HLDIR="${HLDIRS##*[[:space:]]}"; # returns the second dir, after whitespace
DATADIR="$HLDIR/etc/highlight/";
echo "(highlight (package bug))" | highlight --data-dir=$DATADIR -O xterm256 --syntax lisp
```

Based on my understanding, the current package definition is correct. Possibly a patch like this could resolve the issue the current package definition seems correct.
```
Toggle diff (14 lines)
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index b95f56729a..2a7cf74009 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -389,7 +389,7 @@ (define-public highlight
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append out
- "/share/highlight/"))
+ "/etc/highlight/"))
(conf (string-append out "/etc/highlight/"))
(doc (string-append out
"/share/doc/highlight/"))
```
C
Re: highlight error, cannot open filetypes.conf: No such file or directory
(address . bug-guix@gnu.org)(address . chris@bumblehead.com)
ZgVZ2jYkprFBQkqQ@guix-xps
Below changes at the highlight package resolve the issue here but may adversely affect "highlight-gui" functionality. Will wait for https://issues.guix.gnu.org/70047before trying to proceed,
```diff
- #:make-flags #~(let ((confdir (string-append %output
- "/share/highlight/config/")))
- (list (string-append "PREFIX=" %output)
- (string-append "HL_CONFIG_DIR=" confdir)
- (string-append "conf_dir=" confdir)))
+ #:make-flags #~(list (string-append "PREFIX=" %output)
+ (string-append "HL_CONFIG_DIR=" %output "/etc/")
+ (string-append "conf_dir=" %output "/etc/"))
```
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 68948@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 68948
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch