1

make в скрипте не может правильно воспринять аргумент -jN. Эпизод:

                ...
        echo  -n $(color ltyellow)"Building kernel..."$(color off)
        if nice -n 19 make -j"$threads_num" &>"$log_dir"/build-kernel.log
        then
                ...

С переменной $threads_num всё в порядке - там 8. Но make вылетает с ошибкой:

make: the '-j' option requires a positive integer argument
Usage: make [options] [target] ...
Options:
...

Если изменить строку if таким образом:

if nice -n 19 make "-j"$threads_num"" &>"$log_dir"/build-kernel.log

то make вылетает с этим:

make: *** empty string invalid as file name.  Stop.

Если убрать опцию -jN вообще, то make нормально запускается, но сборка в один поток меня не устраивает. Что ему нужно? У меня такое ощущение, что он путается в типах данных в опции. Как это исправить?

2

Убрать кавычки у "$threads_num" вообще? Я не знаю, в чем косяк  ab

Leap 42.3 Calculate Linux, Xfce, Emacs, ..

3

fragment пишет:

С переменной $threads_num всё в порядке - там 8. Но make вылетает с ошибкой:

проверяй ещё... вероятно, там есть пробел, скорее всего, перед восьмёркой...

95% процентов проблем находятся между клавиатурой и стулом.

4

Fat-Zer, да, такой вариант заработал:

make "-j${threads_num// /}"

Мелочь, а неприятно

5

Как здесь помечать тему решённой?

6

fragment пишет:

make "-j${threads_num// /}"

в качестве занудства:
1. это расширение bash'а...
2. по-хорошему было бы исправить это там, где значение присваивается...

fragment пишет:

Как здесь помечать тему решённой?

здесь это делается только избранными... сделал...

95% процентов проблем находятся между клавиатурой и стулом.