@beduin01

Почему два идентичных файла ведут себя по разному?

Windows 11 WSL Ubuntu 20.04.

Пытаюсь скомпилировать примеры на языке Hare. Обнаружил что если файл в WSL создан из Windows, то его невозможно скомпилировать. Если создан из консоли при помощи cat и потом заполнен из редактора Sublime под Windows то все нормально. Не могу найти причину такого странного поведения вроде все идентично:
mike@DESKTOP-JQTVO39:~/code$ ls -l app4.ha
-rw-r--r-- 1 mike mike 83 Dec  4 20:54 app4.ha
mike@DESKTOP-JQTVO39:~/code$ ls -l app5.ha
-rw-r--r-- 1 mike mike 76 Dec  4 20:54 app5.ha
mike@DESKTOP-JQTVO39:~/code$ uchardet app4.ha
ASCII
mike@DESKTOP-JQTVO39:~/code$ uchardet app5.ha
ASCII
mike@DESKTOP-JQTVO39:~/code$ cat app4.ha
use fmt;

export fn main() void = {
        fmt::println("Hello world!44444")!;
};

mike@DESKTOP-JQTVO39:~/code$ cat app5.ha
use fmt;

export fn main() void = {
        fmt::println("Hello world!5555")!;
};

mike@DESKTOP-JQTVO39:~/code$
mike@DESKTOP-JQTVO39:~/code$ hare run app4.ha
' at /home/mike/code/app4.ha:1:9
Error: harec: exited with status 1
hare run: build failed
mike@DESKTOP-JQTVO39:~/code$ hare run app5.ha
Hello world!5555


app5.ha создан при помощи cat и заполнен в Sublime
app4.ha создан путем клика в проводнике создать файл.

ради интереса пробовал сделать файлы с идентичным содержимым 1к1 без цифр в строке. Тоже самое:

mike@DESKTOP-JQTVO39:~/code$ uchardet app4.ha
ASCII
mike@DESKTOP-JQTVO39:~/code$ uchardet app5.ha
ASCII
mike@DESKTOP-JQTVO39:~/code$ diff app4.ha app5.ha
1,6c1,6
< use fmt;
<
< export fn main() void = {
<       fmt::println("Hello world!")!;
< };
<
---
> use fmt;
>
> export fn main() void = {
>       fmt::println("Hello world!")!;
> };
>
mike@DESKTOP-JQTVO39:~/code$
mike@DESKTOP-JQTVO39:~/code$ ls -l app4.ha
-rw-r--r-- 1 mike mike 78 Dec  4 21:20 app4.ha
mike@DESKTOP-JQTVO39:~/code$ ls -l app5.ha
-rw-r--r-- 1 mike mike 72 Dec  4 21:20 app5.ha
mike@DESKTOP-JQTVO39:~/code$ hare run app5.ha
Hello world!
mike@DESKTOP-JQTVO39:~/code$ hare run app4.ha
' at /home/dima/code/app4.ha:1:9
Error: harec: exited with status 1
hare run: build failed
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
Похоже на то, что hare run не нравятся виндовые концы строк (CR/LF). Можно использовать утилиту dos2unix для приведения концов строк в понятный hare вид (LF).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы