Всем приветик... Кто-нибудь ставил Postfix под Solaris 10 ???Если указываю make makefiles CC=/usr/ucb/cc, то выдается ошибка:
make -f Makefile.in MAKELEVEL= Makefiles
set -e; for i in src/util src/global src/dns src/master src/postfix src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap; do \
(set -e; echo "[$i]"; cd $i; rm -f Makefile; \
make -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
done;
[src/util]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
Don't use /usr/ucb/cc or ucblib
*** Error code 1
make: Fatal error: Command failed for target `Makefile'
Current working directory /export/home/art/pkg/postfix-2.1.5/src/util
*** Error code 1
make: Fatal error: Command failed for target `Makefiles'
Current working directory /export/home/art/pkg/postfix-2.1.5
*** Error code 1
make: Fatal error: Command failed for target `makefiles'А если через GCC 3.3.2, то выдает
In file included from /usr/include/sys/signal.h:34,
from /usr/include/signal.h:26,
from file_limit.c:45:
/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:392: error: conflicting types for `__proc'
/usr/include/sys/siginfo.h:261: error: previous declaration of `__proc'
/usr/include/sys/siginfo.h:398: error: conflicting types for `__fault'
/usr/include/sys/siginfo.h:267: error: previous declaration of `__fault'
/usr/include/sys/siginfo.h:404: error: conflicting types for `__file'
/usr/include/sys/siginfo.h:273: error: previous declaration of `__file'
/usr/include/sys/siginfo.h:420: error: conflicting types for `__prof'
/usr/include/sys/siginfo.h:287: error: previous declaration of `__prof'
/usr/include/sys/siginfo.h:424: error: conflicting types for `__rctl'
/usr/include/sys/siginfo.h:291: error: previous declaration of `__rctl'
/usr/include/sys/siginfo.h:426: error: parse error before '}' token
/usr/include/sys/siginfo.h:428: error: parse error before '}' token
/usr/include/sys/siginfo.h:432: error: parse error before "k_siginfo_t"
/usr/include/sys/siginfo.h:437: error: parse error before '}' token
In file included from /usr/include/signal.h:26,
from file_limit.c:45:
/usr/include/sys/signal.h:85: error: parse error before "siginfo_t"
In file included from file_limit.c:45:
/usr/include/signal.h:111: error: parse error before "siginfo_t"
/usr/include/signal.h:113: error: parse error before "siginfo_t"
*** Error code 1
make: Fatal error: Command failed for target `file_limit.o'
Current working directory /export/home/art/pkg/postfix-2.1.5/src/util
*** Error code 1
make: Fatal error: Command failed for target `update'
Current working directory /export/home/art/pkg/postfix-2.1.5
*** Error code 1
make: Fatal error: Command failed for target `update'Как быть ?
>Как быть ?
Скорее всего ваш gcc был собран под другую версию солярки. И postfix тут абсолютно не причем...Попробуйте это:
# cd /opt/sfw/gcc-3/lib/gcc-lib/i386-pc-solaris2.9/3.3.2/install-tools/
(у меня нет 10ки под рукой - у вас будет другой путь)
# cat > mkheaders.conf
SHELL=/bin/sh
SYSTEM_HEADER_DIR="/usr/include"
OTHER_FIXINCLUDES_DIRS=""
FIXPROTO_DEFINES="-D_XOPEN_SOURCE"
STMP_FIXPROTO="stmp-fixproto"
STMP_FIXINC="stmp-fixinc"
<Ctrl>+<D>
# ./mkheaders
Вот что выдал mkheadersfixproto: populating `/usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/include'
(No *.h files in /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/include/evolution-1.4)А ставил я следующие пакеты:
gcc-3.3.2-sol10-intel-local
libgcc-3.3-sol10-intel-local
>Вот что выдал mkheaders
>
>fixproto: populating `/usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/include'
>(No *.h files in /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/include/evolution-1.4)
>
>А ставил я следующие пакеты:
>gcc-3.3.2-sol10-intel-local
>libgcc-3.3-sol10-intel-local
>
>Взял с http://www.sunfreeware.com/programlistintel10.htmlОдна ко postfix после этого поставился... Спасибо Вам Огромное
>>Вот что выдал mkheaders
>>
>>fixproto: populating `/usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/include'
>>(No *.h files in /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.2/include/evolution-1.4)
Это не страшно. Можно не обращать внимания.>>А ставил я следующие пакеты:
>>gcc-3.3.2-sol10-intel-local
>>libgcc-3.3-sol10-intel-local
А вот это странно. Но как я уже говорил у меня нет 10-ки и соответсвенно разобраться с этим я не могу...>Одна ко postfix после этого поставился... Спасибо Вам Огромное
Ну и славно.
Может быть Вы поможите мне с еще одной проблемкой.. я никак не могу понять как под Solaris 10 поставить Gnu make, вернее и с package-а ставил и сам компили, у меня посто появляется в /usr/local/bin/make и он не позволяет мне поставить courier-imap... А вот например в 9-ом Solaris-е когда я ставил с package-а, у меня был не make, а именно gmake.... а тут gmake-а вообще нет...Помогите ПЛЗ
Заранее Благодарен
попробуйте сделать cd /usr/local/bin;ln -s make gmake или при сборке писать /usr/local/make
>попробуйте сделать cd /usr/local/bin;ln -s make gmake или при сборке писать /usr/local/make
>
ln -s пробовал делать, но получается, что при проверке courier-ом на make он не видит его как gmake... Вот например под Solaris 9 у меня именно gmake был...
>ln -s пробовал делать, но получается, что при проверке courier-ом на make
>он не видит его как gmake... Вот например под Solaris 9
>у меня именно gmake был...
Повторю в третий раз - нет у меня Solaris 10.попробуйте в PATH поставить /usr/local/bin первым каталогом, не поможет
поставьте gnu make из сырцов, вместо makeinstall напишите "make binprefix=g install"
>>ln -s пробовал делать, но получается, что при проверке courier-ом на make
>>он не видит его как gmake... Вот например под Solaris 9
>>у меня именно gmake был...
>Повторю в третий раз - нет у меня Solaris 10.
>
>попробуйте в PATH поставить /usr/local/bin первым каталогом, не поможет
>поставьте gnu make из сырцов, вместо makeinstall напишите "make binprefix=g install"
У меня собсно даже не дополнение, а вопрос к arTik. Скажите пожалуйста, а сам-то gcc 3.3.2 у Вас на 10 Соларисе работает нормально? А то я тоже установил, так сишные проги вроде нормально компилятся, а вот попытка откомпилить c++ версию Hello, world натыкается на то, что g++ не может найти exception_defines.h и new, поскольку при установке Солариса 10 эти фаилы ставятся в usr/sfw/c++/3.4.2/include, а не туда куда сыплются все хедеры от самого gcc 3.3.2. Вы случайно с этим не сталкивались? Если да, то как разрулили?
>>>ln -s пробовал делать, но получается, что при проверке courier-ом на make
>>>он не видит его как gmake... Вот например под Solaris 9
>>>у меня именно gmake был...
>>Повторю в третий раз - нет у меня Solaris 10.
>>
>>попробуйте в PATH поставить /usr/local/bin первым каталогом, не поможет
>>поставьте gnu make из сырцов, вместо makeinstall напишите "make binprefix=g install"
>
>
>У меня собсно даже не дополнение, а вопрос к arTik. Скажите пожалуйста,
>а сам-то gcc 3.3.2 у Вас на 10 Соларисе работает нормально?
>А то я тоже установил, так сишные проги вроде нормально компилятся,
>а вот попытка откомпилить c++ версию Hello, world натыкается на то,
>что g++ не может найти exception_defines.h и new, поскольку при установке
>Солариса 10 эти фаилы ставятся в usr/sfw/c++/3.4.2/include, а не туда куда
>сыплются все хедеры от самого gcc 3.3.2. Вы случайно с этим
>не сталкивались? Если да, то как разрулили?
Нет... я вручную поставил gcc 3.4.3 и он у меня отлично работает и все функционирует.Я вот для себя написал инструкцию как все поставить правильно, чтобы Solaris 10 работал отлично:
1. Настройка LD_LIBRARY_PATH
crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/ccs/lib:/usr/sfw/lib2. Установка Gnu m4
./configure
make
make install3. Установка Gnu libtool
./configure
make
make installУстановить в LD_LIBRARY_PATH - /usr/local/lib
crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/ccs/lib:/usr/sfw/lib:/usr/local/lib
4. Установка Gnu autoconf
./configure
make
make install5. Установка Gnu automake
./configure
make
make install6. Установка Gnu make
./configure
make
make install
7. Установка GCC
./configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
make CFLAGS='-O' LIBCFLAGS='-g -O2' LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
Поправить Makefile, вместо ./install-sh указать полный путь к install-sh и запустить make install
Кстати с такой инструкцией поставил еще пару серваков под Solaris 10 и все отлично работает как часы.Все-таки Solaris 10 очень клевая вещь :)
>Кстати с такой инструкцией поставил еще пару серваков под Solaris 10 и
>все отлично работает как часы.
>
>Все-таки Solaris 10 очень клевая вещь :)Спасибо большое за Ваш ответ. Хотя моя узкая проблема странным образом решилась сама сабой: копаясь в регистре установленных програм нашёл gcc 3.4.2! Как это объяснить не знаю, видимо Sun изменил политику и наконец то включил gcc в дистрибутив! Надеюсь, Вам будет интересно это узнать. Кстати, а где Вы добыли 3.4.3 версию gcc? На sumfreeware.com под Solaris 10/х86 доступна только 3.3.2 версия.
>>Кстати с такой инструкцией поставил еще пару серваков под Solaris 10 и
>>все отлично работает как часы.
>>
>>Все-таки Solaris 10 очень клевая вещь :)
>
>Спасибо большое за Ваш ответ. Хотя моя узкая проблема странным образом решилась
>сама сабой: копаясь в регистре установленных програм нашёл gcc 3.4.2! Как
>это объяснить не знаю, видимо Sun изменил политику и наконец то
>включил gcc в дистрибутив! Надеюсь, Вам будет интересно это узнать. Кстати,
>а где Вы добыли 3.4.3 версию gcc? На sumfreeware.com под Solaris
>10/х86 доступна только 3.3.2 версия.
Как видите выше, я собрал GCC, как и все остальное из source-ов. Но прежде чем его собрать желательно надо все остальное поставить, что было у меня там написано... И получается очень даже отлично и последующие проги из source-ов ставятся уже почти все, без напильника, так же как и под фрюху и линукс. А ставить из sunfreeware.com я перестал, т.к. из source-ов намного лучше и стабильней работает..