Смена ABI C++

GCC 5.x содержит библиотеку libstdc++ с двумя типами ABI. Арч переключается на новый тип.

Хотя старый C++ ABI останется доступен, рекомендуется пересобрать неофициальные пакеты под новый ABI. В особенности, это важно, если они связаны с библиотеками, собранными под новый ABI. Посмотреть список пакетов для пересборки можно с помощью следующего скрипта:

#!/bin/bash

while read pkg; do
    mapfile -t files < <(pacman -Qlq $pkg | grep -v /$)
    grep -Fq libstdc++.so.6 "${files[@]}" <&- 2>/dev/null && echo $pkg
done < <(pacman -Qmq)
такие дела.
Не работает скрипт с главной En:
#!/bin/bash

while read pkg; do
mapfile -t files < <(pacman -Qlq $pkg | grep -v /$)
grep -Fq libstdc++.so.6 "${files[@]}" 2>/dev/null && echo $pkg
done < <(pacman -Qmq)

пишет line 4: syntax error near unexpected token `<'
line 4: ` mapfile -t files < <(pacman -Qlq $pkg | grep -v /$)'
я глупый не понимаю в скриптах - вроде тупо скопировано, но... пробел лишний? Что еще ему от меня надо?
koshon, а как вы его запускаете?
Ваша ошибка может произойти только в том случае, если пытаться выполнить скрипт НЕ башем, или башем, но в ограниченном режиме(sh).

P.S.
А написано там всё правильно, и пробел на месте:
< означает перенаправление файла на ввод программы,
<( команда ) подставляет вывод команды вместо файла
Разумеется, последнее работает только в баше, а всё вместе даёт трубу "наоборот", то есть направленную от дочернего процесса к родительскому.
Кто в теме - подскажите, как изменение в ABI скажется на использовании сторонних бинарников в арче, например, atom-editor? Т.е. сколько еще будет поддерживаться старый ABI?
И еще вопрос. Я правильно понял, что скрипт все равно будет показывать пакеты, даже после их пересборки с новым ABI?

https://bbs.archlinux.org/viewtopic.php?pid=1584960#p1584960
vdemin
И еще вопрос. Я правильно понял, что скрипт все равно будет показывать пакеты, даже после их пересборки с новым ABI?

https://bbs.archlinux.org/viewtopic.php?pid=1584960#p1584960

Походу да. Я пересобрал пакет, он заработал, но скрипт всё так же показывает его. Это не страшно вроде как.
что за mapfile? откуда взять?
Сборка со шлангом, кстати, после этой обновы сломалась (хотя мб рикошетом зацепило).
PGP 0x31361F01
arcanisrepo
Тут с удивлением узнал, что на новом ABI в C++ поломали перехват эксепшенов std::ios_base::failure! Вальяжно обсуждают и совершенно не торопятся чинить!
Фигасе, должно же много софта поломаться. Или никто не пользуется, кроме меня? ;)
такие дела.
 
Зарегистрироваться или войдите чтобы оставить сообщение.