Добрый вечер. Помогите пожалуйста вот с каким делом:
Нужно поставить bash на freeBSD 8.1.
Выполняю следующие действия:cd /usr/ports/shells/bash
make -DNOPORTDOCS -DWITH_STATIC_BASH -DNO_DYNAMICROOT -DNO_SHARED -DWITHOUT_HELP CONFIGURE_ARGS+="--bindir=/bin" deinstall install cleanв ответ
===> Deinstalling for shells/bash
===> bash-static not installed, skipping
===> Installing for bash-static-4.1.9
===> Generating temporary packing list
===> Checking if shells/bash already installed
( cd ./po/ ; make -D NOPORTDOCS -D WITH_STATIC_BASH -D NO_DYNAMICROOT -D NO_SHARED -D WITHOUT_HELP DESTDIR= installdirs )
/bin/sh /usr/ports/shells/bash/work/bash-4.1/./support/mkinstalldirs /usr/local/share
if test "bash" = "gettext-tools"; then /bin/sh /usr/ports/shells/bash/work/bash-4.1/./support/mkinstalldirs /usr/local/share/gettext/po; else : ; fi
install -s -o root -g wheel -m 555 -m 0755 bash /bin/bash
install -o root -g wheel -m 555 -m 0555 bashbug /bin/bashbug
( cd ./doc ; make -D NOPORTDOCS -D WITH_STATIC_BASH -D NO_DYNAMICROOT -D NO_SHARED -D WITHOUT_HELP man1dir=/usr/local/share/man/man1 man1ext=.1 man3dir=/usr/local/share/man/man3 man3ext=.3 infodir=/usr/local/share/info htmldir= DESTDIR= install )
/bin/sh ../support/mkinstalldirs /usr/local/share/man/man1
/bin/sh ../support/mkinstalldirs /usr/local/share/info
if test -n "" ; then /bin/sh ../support/mkinstalldirs ; fi
install -o root -g wheel -m 444 ./bash.1 /usr/local/share/man/man1/bash.1
install -o root -g wheel -m 444 ./bashbug.1 /usr/local/share/man/man1/bashbug.1
if test -f bash.info; then d=.; else d=.; fi; install -o root -g wheel -m 444 $d/bash.info /usr/local/share/info/bash.info
if /bin/sh -c 'install-info --version' >/dev/null 2>&1; then install-info --dir-file=/usr/local/share/info/dir /usr/local/share/info/bash.info; else true; fi
if test -n "" ; then install -o root -g wheel -m 444 ./bash.html ; install -o root -g wheel -m 444 ./bashref.html ; fi
( cd ./builtins ; make -D NOPORTDOCS -D WITH_STATIC_BASH -D NO_DYNAMICROOT -D NO_SHARED -D WITHOUT_HELP DESTDIR= install )
( cd ./po/ ; make -D NOPORTDOCS -D WITH_STATIC_BASH -D NO_DYNAMICROOT -D NO_SHARED -D WITHOUT_HELP DESTDIR= install )
/bin/sh /usr/ports/shells/bash/work/bash-4.1/./support/mkinstalldirs /usr/local/share
installing [email]en@quot.gmo[/email] as /usr/local/share/locale/en@quot/LC_MESSAGES/bash.mo
installing [email]en@boldquot.gmo[/email] as /usr/local/share/locale/en@boldquot/LC_MESSAGES/bash.mo
installing af.gmo as /usr/local/share/locale/af/LC_MESSAGES/bash.mo
installing bg.gmo as /usr/local/share/locale/bg/LC_MESSAGES/bash.mo
installing ca.gmo as /usr/local/share/locale/ca/LC_MESSAGES/bash.mo
installing cs.gmo as /usr/local/share/locale/cs/LC_MESSAGES/bash.mo
installing de.gmo as /usr/local/share/locale/de/LC_MESSAGES/bash.mo
installing eo.gmo as /usr/local/share/locale/eo/LC_MESSAGES/bash.mo
installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/bash.mo
installing et.gmo as /usr/local/share/locale/et/LC_MESSAGES/bash.mo
installing fi.gmo as /usr/local/share/locale/fi/LC_MESSAGES/bash.mo
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/bash.mo
installing ga.gmo as /usr/local/share/locale/ga/LC_MESSAGES/bash.mo
installing hu.gmo as /usr/local/share/locale/hu/LC_MESSAGES/bash.mo
installing id.gmo as /usr/local/share/locale/id/LC_MESSAGES/bash.mo
installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/bash.mo
installing lt.gmo as /usr/local/share/locale/lt/LC_MESSAGES/bash.mo
installing nl.gmo as /usr/local/share/locale/nl/LC_MESSAGES/bash.mo
installing pl.gmo as /usr/local/share/locale/pl/LC_MESSAGES/bash.mo
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/bash.mo
installing ro.gmo as /usr/local/share/locale/ro/LC_MESSAGES/bash.mo
installing ru.gmo as /usr/local/share/locale/ru/LC_MESSAGES/bash.mo
installing sk.gmo as /usr/local/share/locale/sk/LC_MESSAGES/bash.mo
installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/bash.mo
installing tr.gmo as /usr/local/share/locale/tr/LC_MESSAGES/bash.mo
installing vi.gmo as /usr/local/share/locale/vi/LC_MESSAGES/bash.mo
installing zh_TW.gmo as /usr/local/share/locale/zh_TW/LC_MESSAGES/bash.mo
if test "bash" = "gettext-tools"; then /bin/sh /usr/ports/shells/bash/work/bash-4.1/./support/mkinstalldirs /usr/local/share/gettext/po; for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed [email]en@quot.header[/email] [email]en@boldquot.header[/email] insert-header.sin Rules-quot Makevars.template; do install -o root -g wheel -m 444 ./$file /usr/local/share/gettext/po/$file; done; for file in Makevars; do rm -f /usr/local/share/gettext/po/$file; done; else : ; fi
install-info --quiet /usr/local/info/bash.info /usr/local/info/dir
*** Error code 1
Stop in /usr/ports/shells/bash.Куда копать, чтоб всё получилось?
> Куда копать, чтоб всё получилось?Судя по логам, порт обламывается на инсталляции инфо.
> install-info --quiet /usr/local/info/bash.info /usr/local/info/dir
> *** Error code 1Похоже, что мейк клинит от -DNOPORTDOCS и/или -DWITHOUT_HELP
А какая нужда в такой изощренной установке? В портах есть отдельно баш, отдельно баш-статик. Зачем просто баш собирать с ключами, если рядом готовый неслучайный порт?
> Похоже, что мейк клинит от -DNOPORTDOCS и/или -DWITHOUT_HELPПопробовал просто
cd /usr/ports/shells/bash
make deinstall install clean
- точно такая же картина. Кроме нескольких строк лога. Но в конце всё тоже самое.> А какая нужда в такой изощренной установке? В портах есть отдельно баш,
> отдельно баш-статик. Зачем просто баш собирать с ключами, если рядом готовый
> неслучайный порт?Наверное от недостатка опыта - я во freeBSD 1й день.
Просто инструкцию по установке нашёл тут: http://www.lissyara.su/articles/freebsd/trivia/bash/
Ну и собственно пробовал сделать.Попробовал через bash-static. Вроде что-то поставилось. что именно - сейчас буду смотреть.
> Наверное от недостатка опыта - я во freeBSD 1й день.Ну, тогда не занимайтесь извратами, и ставьте порты штатным образом. Потому что начинать знакомство с фрей с плясок вокруг баша - это, извините...
Опять же, категорически не рекомендуется менять руту шелл на что-либо, отличное от штатного шелла, ибо потом вы нас всех тут замучаете вопросами. Хотите баш - делайте, как учит хендбук:# cd /usr/ports/shells/bash
# make deinstall clean install clean> Просто инструкцию по установке нашёл тут:
А почему бы не задавать вопросы там же, автору инструкции?
>> Куда копать, чтоб всё получилось?Если сильно прижало
pkg_add -r bash
>> Куда копать, чтоб всё получилось?Если сильно прижало
pkg_add -r bash
> Добрый вечер. Помогите пожалуйста вот с каким делом:
> Нужно поставить bash на freeBSD 8.1.
> Выполняю следующие действия:
> cd /usr/ports/shells/bash
> make -DNOPORTDOCS -DWITH_STATIC_BASH -DNO_DYNAMICROOT -DNO_SHARED -DWITHOUT_HELP CONFIGURE_ARGS+="--bindir=/bin"
> deinstall install clean
> в ответ<skipped>
> install-info --quiet /usr/local/info/bash.info /usr/local/info/dir
> *** Error code 1
> Stop in /usr/ports/shells/bash.
> Куда копать, чтоб всё получилось?уберите CONFIGURE_ARGS+="--bindir=/bin"
после чего, статически собранный bash у вас будет в /usrlocal/binдалее:
проверяем действительно ли собрался статически:
# ldd /usr/local/bin/bash
ldd: /bin/bash: not a dynamic ELF executableда, копируем в /bin
# cp /usr/local/bin/bash /bin/bash
(просто скопируйте bash в /bin, остальное удалите, make deinstall или pkg_delete -f bash\* )
# cd /usr/ports/shells/bash
# make deinstall (удаляем то что ранее установили - зачем оно вам?)
- если другим пользователям нужен bash, так пусть будет динамически собран
# make clean
# make installдалее в /etc/shells добавляем /bin/bash, далее у пользователя toor задаем в качестве
shell'а /bin/bash -> через pw или vipw# grep toor /etc/passwd
toor:*:0:0:Bourne-again Superuser:/root:/bin/bash
#задаем пароль для пользователя toor (замена root со всеми привилегиями) и
пользуемся вместо root -> toor, настраиваем среду под себя:# ls -la /root/.bash*
# ls -la /root/.profile
# ls -la /root/.inputrcroot оставляем девственно чистым на всякий пожарный случай, так будет более верно
lavr, спасибо огромное за совет. Именно так и сделал.
>> cd /usr/ports/shells/bash
>> make -DNOPORTDOCS -DWITH_STATIC_BASH -DNO_DYNAMICROOT -DNO_SHARED -DWITHOUT_HELP CONFIGURE_ARGS+="--bindir=/bin"
> уберите CONFIGURE_ARGS+="--bindir=/bin"
> после чего, статически собранный bash у вас будет в /usrlocal/bin
> проверяем действительно ли собрался статически:
> # ldd /usr/local/bin/bash
> ldd: /bin/bash: not a dynamic ELF executableНу да конечно. Это видать старый остался. А сейчас - поломано:
# file /usr/local/bin/bash
/usr/local/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 8.2, stripped
# ldd /usr/local/bin/bash
/usr/local/bin/bash:
libintl.so.9 => /usr/local/lib/libintl.so.9 (0x281d7000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x281e0000)
libc.so.7 => /lib/libc.so.7 (0x282d8000)При этом даже толстый набор опций вида -DSTATIC -DWITH_STATIC_BASH -DNO_DYNAMICROOT -DNO_SHARED -DNOSHARED WITH_STATIC_BASH=1 не помогает.
Трам-парарам...