* [sisyphus] Need help: sam2p не собирается с указанной архитектурой
@ 2008-02-18 19:45 Michael Pozhidaev
2008-02-18 20:00 ` Dmitry V. Levin
0 siblings, 1 reply; 7+ messages in thread
From: Michael Pozhidaev @ 2008-02-18 19:45 UTC (permalink / raw)
To: sisyphus
Привет всем!
Не могу побороть проблему, из-за которой не получается собрать sam2p.
Суть в том, что после
./configure
make
всё успешно собирается и замечательно работает.
Но:
при указанной архитектуре CXXFLAGS='-march=i586'
сборка очень быстро завершается с ошибкой.
Выглядит это так:
Compilation started at Tue Feb 19 01:37:44
LANG=C make CXXFLAGS='-march=i586'
g++ -s -O2 -march=i586 -ansi -pedantic -Wall -W -c ps_tiny.c
ps_tiny.c: In function 'void copy(const char*)':
ps_tiny.c:536: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result
ps_tiny.c: In function 'void compress0(const char*)':
ps_tiny.c:605: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result
g++ -s -O2 -march=i586 -ansi -pedantic -Wall -W -c c_lgcc.cpp
gcc -s ps_tiny.o c_lgcc.o -o ps_tiny
ps_tiny.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
c_lgcc.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [ps_tiny] Error 1
Compilation exited abnormally with code 2 at Tue Feb 19 01:37:45
Кто-нибудь видит здесь причину?
--
С уважением и наилучшими пожеланиями, Михаил Пожидаев. E-mail: msp@altlinux.ru.
Томский государственный университет. Факультет информатики. http://www.csd.tsu.ru
AltLinux Team. http://www.altlinux.ru
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Need help: sam2p не собирается с указанной архитектурой
2008-02-18 19:45 [sisyphus] Need help: sam2p не собирается с указанной архитектурой Michael Pozhidaev
@ 2008-02-18 20:00 ` Dmitry V. Levin
2008-02-18 20:18 ` Sergey Vlasov
2008-02-18 21:43 ` Michael Pozhidaev
0 siblings, 2 replies; 7+ messages in thread
From: Dmitry V. Levin @ 2008-02-18 20:00 UTC (permalink / raw)
To: ALT Linux Sisyphus mailing list
[-- Attachment #1: Type: text/plain, Size: 1563 bytes --]
On Tue, Feb 19, 2008 at 01:45:05AM +0600, Michael Pozhidaev wrote:
> Привет всем!
> Не могу побороть проблему, из-за которой не получается собрать sam2p.
> Суть в том, что после
> ./configure
> make
> всё успешно собирается и замечательно работает.
> Но:
> при указанной архитектуре CXXFLAGS='-march=i586'
> сборка очень быстро завершается с ошибкой.
> Выглядит это так:
> Compilation started at Tue Feb 19 01:37:44
>
> LANG=C make CXXFLAGS='-march=i586'
> g++ -s -O2 -march=i586 -ansi -pedantic -Wall -W -c ps_tiny.c
> ps_tiny.c: In function 'void copy(const char*)':
> ps_tiny.c:536: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result
> ps_tiny.c: In function 'void compress0(const char*)':
> ps_tiny.c:605: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result
> g++ -s -O2 -march=i586 -ansi -pedantic -Wall -W -c c_lgcc.cpp
> gcc -s ps_tiny.o c_lgcc.o -o ps_tiny
> ps_tiny.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
> c_lgcc.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
> collect2: ld returned 1 exit status
> make: *** [ps_tiny] Error 1
>
> Compilation exited abnormally with code 2 at Tue Feb 19 01:37:45
> Кто-нибудь видит здесь причину?
Выбран неправильный фронтенд для линковки приложений на c++.
Если хотя бы один объектный файл скомпилирован g++, то и линковать следует
тоже с помощью g++ а не gcc.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Need help: sam2p не собирается с указанной архитектурой
2008-02-18 20:00 ` Dmitry V. Levin
@ 2008-02-18 20:18 ` Sergey Vlasov
2008-02-18 21:54 ` Dmitry V. Levin
2008-02-18 22:01 ` Michael Pozhidaev
2008-02-18 21:43 ` Michael Pozhidaev
1 sibling, 2 replies; 7+ messages in thread
From: Sergey Vlasov @ 2008-02-18 20:18 UTC (permalink / raw)
To: sisyphus
[-- Attachment #1: Type: text/plain, Size: 3446 bytes --]
On Mon, Feb 18, 2008 at 11:00:52PM +0300, Dmitry V. Levin wrote:
> On Tue, Feb 19, 2008 at 01:45:05AM +0600, Michael Pozhidaev wrote:
> > Привет всем!
> > Не могу побороть проблему, из-за которой не получается собрать sam2p.
> > Суть в том, что после
> > ./configure
> > make
> > всё успешно собирается и замечательно работает.
> > Но:
> > при указанной архитектуре CXXFLAGS='-march=i586'
> > сборка очень быстро завершается с ошибкой.
> > Выглядит это так:
> > Compilation started at Tue Feb 19 01:37:44
> >
> > LANG=C make CXXFLAGS='-march=i586'
Обычно так делать нельзя - указание переменной в вызове make полностью
заменяет значение, установленное в Makefile, тем, которое указано в
командной строке; вероятно, в данном случае в результате были потеряны
нужные для сборки опции.
Стандартный способ - использование макроса %configure, который
передаёт CFLAGS и CXXFLAGS скрипту configure; но у этого пакета
configure какой-то странный (CXXFLAGS грубо чистится). Возможный
способ обхода - передача CC="gcc $RPM_OPT_FLAGS" CXX="g++
$RPM_OPT_FLAGS" в вызове configure.
> > g++ -s -O2 -march=i586 -ansi -pedantic -Wall -W -c ps_tiny.c
> > ps_tiny.c: In function 'void copy(const char*)':
> > ps_tiny.c:536: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result
> > ps_tiny.c: In function 'void compress0(const char*)':
> > ps_tiny.c:605: warning: ignoring return value of 'size_t fwrite(const void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result
> > g++ -s -O2 -march=i586 -ansi -pedantic -Wall -W -c c_lgcc.cpp
> > gcc -s ps_tiny.o c_lgcc.o -o ps_tiny
> > ps_tiny.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
> > c_lgcc.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
> > collect2: ld returned 1 exit status
> > make: *** [ps_tiny] Error 1
> >
> > Compilation exited abnormally with code 2 at Tue Feb 19 01:37:45
> > Кто-нибудь видит здесь причину?
>
> Выбран неправильный фронтенд для линковки приложений на c++.
> Если хотя бы один объектный файл скомпилирован g++, то и линковать следует
> тоже с помощью g++ а не gcc.
Там какой-то странный апстрим - похоже, такую линковку сделали
специально; файл 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
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Need help: sam2p не собирается с указанной архитектурой
2008-02-18 20:00 ` Dmitry V. Levin
2008-02-18 20:18 ` Sergey Vlasov
@ 2008-02-18 21:43 ` Michael Pozhidaev
1 sibling, 0 replies; 7+ messages in thread
From: Michael Pozhidaev @ 2008-02-18 21:43 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
"Dmitry V. Levin" <ldv@altlinux.org> writes:
>> Кто-нибудь видит здесь причину?
>
> Выбран неправильный фронтенд для линковки приложений на c++.
> Если хотя бы один объектный файл скомпилирован g++, то и линковать следует
> тоже с помощью g++ а не gcc.
Да, вылечилось, спасибо! Поехало в incoming.
--
С уважением и наилучшими пожеланиями, Михаил Пожидаев. E-mail: msp@altlinux.ru.
Томский государственный университет. Факультет информатики. http://www.csd.tsu.ru
AltLinux Team. http://www.altlinux.ru
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Need help: sam2p не собирается с указанной архитектурой
2008-02-18 20:18 ` Sergey Vlasov
@ 2008-02-18 21:54 ` Dmitry V. Levin
2008-02-19 10:33 ` Sergey Vlasov
2008-02-18 22:01 ` Michael Pozhidaev
1 sibling, 1 reply; 7+ messages in thread
From: Dmitry V. Levin @ 2008-02-18 21:54 UTC (permalink / raw)
To: ALT Linux Sisyphus mailing list
[-- Attachment #1: Type: text/plain, Size: 1744 bytes --]
On Mon, Feb 18, 2008 at 11:18:54PM +0300, Sergey Vlasov wrote:
> On Mon, Feb 18, 2008 at 11:00:52PM +0300, Dmitry V. Levin wrote:
[...]
> > Выбран неправильный фронтенд для линковки приложений на c++.
> > Если хотя бы один объектный файл скомпилирован g++, то и линковать следует
> > тоже с помощью g++ а не gcc.
>
> Там какой-то странный апстрим - похоже, такую линковку сделали
> специально; файл 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
Какие убогие там люди, однако.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Need help: sam2p не собирается с указанной архитектурой
2008-02-18 20:18 ` Sergey Vlasov
2008-02-18 21:54 ` Dmitry V. Levin
@ 2008-02-18 22:01 ` Michael Pozhidaev
1 sibling, 0 replies; 7+ messages in thread
From: Michael Pozhidaev @ 2008-02-18 22:01 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [sisyphus] Need help: sam2p не собирается с указанной архитектурой
2008-02-18 21:54 ` Dmitry V. Levin
@ 2008-02-19 10:33 ` Sergey Vlasov
0 siblings, 0 replies; 7+ messages in thread
From: Sergey Vlasov @ 2008-02-19 10:33 UTC (permalink / raw)
To: sisyphus
[-- Attachment #1: Type: text/plain, Size: 531 bytes --]
On Tue, Feb 19, 2008 at 12:54:27AM +0300, Dmitry V. Levin wrote:
> > 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
>
> Какие убогие там люди, однако.
В результате там в пузе лежит zlib непонятно какой версии, куски libtiff,
собственная читалка jpeg и ещё что-то подобного вида.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-02-19 10:33 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-18 19:45 [sisyphus] Need help: sam2p не собирается с указанной архитектурой Michael Pozhidaev
2008-02-18 20:00 ` Dmitry V. Levin
2008-02-18 20:18 ` Sergey Vlasov
2008-02-18 21:54 ` Dmitry V. Levin
2008-02-19 10:33 ` Sergey Vlasov
2008-02-18 22:01 ` Michael Pozhidaev
2008-02-18 21:43 ` Michael Pozhidaev
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git