[sisyphus] Need help: sam2p не собирается с указанной архитектурой

Michael Pozhidaev =?iso-8859-1?q?msp_=CE=C1_altlinux=2Eru?=
Вт Фев 19 01:01:21 MSK 2008


Sergey Vlasov <vsu на altlinux.ru> writes:

>> > LANG=C make CXXFLAGS='-march=i586'
>
> Обычно так делать нельзя - указание переменной в вызове make полностью
> заменяет значение, установленное в Makefile, тем, которое указано в
> командной строке; вероятно, в данном случае в результате были потеряны
> нужные для сборки опции.
Про неправильное использование -- усёк и буду помнить. Казалось, что CXXFLAGS используется именно 
для определения уровня оптимизации/отладки, а специфические параметры передадут отдельно, например, через AM_CXXFLAGS, если automake используют.
Причина, действительно, в использовании gcc, как написал Дмитрий. Переправил это в Makehelp.in.
>
> Стандартный способ - использование макроса %configure, который
> передаёт CFLAGS и CXXFLAGS скрипту configure; 
Ага, ясно!
>но у этого пакета
> configure какой-то странный (CXXFLAGS грубо чистится).  Возможный
> способ обхода - передача CC="gcc $RPM_OPT_FLAGS" CXX="g++
> $RPM_OPT_FLAGS" в вызове configure.
Здесь, это, видимо, не понадобиться. Пакет вообще не слишком правильный, но рабочее состояние достигнуто.
>
>
> Там какой-то странный апстрим - похоже, такую линковку сделали
> специально; файл c_lgcc.cpp содержит ужас следующего вида:
>
> /* Tue Sep  3 18:24:26 CEST 2002
>  * empirical g++-3.2 helper routines for gcc version 3.2.1 20020830 (Debian prerelease)
>  */
> void* operator new      XMALLOC_CODE()
> void* operator new[]    XMALLOC_CODE()
> void  operator delete   XFREE_CODE()
> void  operator delete[] XFREE_CODE()
> void* __cxa_pure_virtual=0;
>
> Впрочем, c_lgcc3.cpp ещё лучше:
>
> /* at Wed Dec 11 16:31:42 CET 2002
>  * This helper is here for gcc-2.95: c_lgcc3.cpp should be compiled by
>  * gcc-2.95, remaining files are compiled by g++-3.2
>  */
> void* __cxa_pure_virtual=0;
> extern "C" void  _ZdlPv (void*);
> extern "C" void* _Znwj (unsigned);
> extern "C" void  _ZdaPv (void*);
> extern "C" void* _Znaj (unsigned);
> void  _ZdlPv XFREE_CODE()
> void* _Znwj  XMALLOC_CODE()
> void  _ZdaPv XFREE_CODE()
> void* _Znaj  XMALLOC_CODE()
>
> И вот такие перлы в README:
>
> Q31. Why not use libjpeg/libtiff/libpng/zlib or any other library with
>      sam2p?
>
> A31. -- library and .h incompatibilities (the binary would be less portable
>         across Linux systems)
>      -- to avoid forced dependencies
>      -- checkergcc wouldn't work
>
>
> _______________________________________________
> Sisyphus mailing list
> Sisyphus на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sisyphus

-- 
С уважением и наилучшими пожеланиями, Михаил Пожидаев. E-mail: msp на altlinux.ru.
Томский государственный университет. Факультет информатики. http://www.csd.tsu.ru
AltLinux Team. http://www.altlinux.ru



Подробная информация о списке рассылки Sisyphus