ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Сборка cpp библиотеки
@ 2008-11-01  9:06 Denis Klimov
  2008-11-01 10:11 ` Ivan A. Melnikov
  2008-11-01 10:19 ` Dmitry V. Levin
  0 siblings, 2 replies; 18+ messages in thread
From: Denis Klimov @ 2008-11-01  9:06 UTC (permalink / raw)
  To: devel

Приветствую!

Собираю пакет thrift, сырцы на cpp.

В процессе сборки пакета ругается так:
Adjusting library links in /usr/src/tmp/thrift-buildroot
./usr/lib64:
        libthrift.so.0 -> libthrift.so.0.0.0
        libthriftz.so.0 -> libthriftz.so.0.0.0
Verifying ELF objects in /usr/src/tmp/thrift-buildroot 
(arch=normal,fhs=normal,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
verify-elf: ERROR: ./usr/lib64/libthriftz.so.0.0.0: undefined symbol: 
_ZN8facebook6thrift12GlobalOutputE
error: Bad exit status from /usr/src/tmp/rpm-tmp.26611 (%install)

В c++ не силен.
но вот что успел нарыть.
[builder@berloga thrift-0.0.0]$ c++filt -t 
_ZN8facebook6thrift12GlobalOutputE
facebook::thrift::GlobalOutput
Этот GlobalOutput есть в файле lib/cpp/src/Thrift.cpp
http://pastebin.ca/1242225
Он иклудит lib/cpp/src/Thrift.h
http://pastebin.ca/1242227

[builder@berloga cpp]$ nm 
/usr/src/RPM/BUILD/thrift-0.0.0/lib/cpp/Thrift.o|grep 
_ZN8facebook6thrift12GlobalOutputE
0000000000000110 t _GLOBAL__I__ZN8facebook6thrift12GlobalOutputE
0000000000000000 B _ZN8facebook6thrift12GlobalOutputE

Сборка ./usr/lib64/libthriftz.so.0.0.0 идет таким образом:

x86_64-alt-linux-g++ -shared -nostdlib 
/usr/lib64/gcc/x86_64-alt-linux/4.3.2/../../../../lib64/crti.o 
/usr/lib64/gcc/x86_64-alt-linux/4.3.2/crtbeginS.o  .libs/Thrift.o 
.libs/reflecti
on_limited_types.o .libs/Mutex.o .libs/Monitor.o 
.libs/PosixThreadFactory.o .libs/ThreadManager.o .libs/TimerManager.o 
.libs/Util.o .libs/TBinaryProtocol.o .libs/TDebugProtocol.o .li
bs/TDenseProtocol.o .libs/TJSONProtocol.o .libs/TBase64Utils.o 
.libs/TTransportException.o .libs/TFDTransport.o .libs/TFileTransport.o 
.libs/THttpClient.o .libs/TSocket.o .libs/TSock
etPool.o .libs/TServerSocket.o .libs/TTransportUtils.o 
.libs/TBufferTransports.o .libs/TServer.o .libs/TSimpleServer.o 
.libs/TThreadPoolServer.o .libs/TThreadedServer.o .libs/PeekPro
cessor.o  -lz -lrt -lpthread -L/usr/lib64/gcc/x86_64-alt-linux/4.3.2 
-L/usr/lib64/gcc/x86_64-alt-linux/4.3.2/../../../../lib64 
-L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x8
6_64-alt-linux/4.3.2/../../.. -lstdc++ -lm -lc -lgcc_s 
/usr/lib64/gcc/x86_64-alt-linux/4.3.2/crtendS.o 
/usr/lib64/gcc/x86_64-alt-linux/4.3.2/../../../../lib64/crtn.o  
-Wl,-soname -Wl
,libthrift.so.0 -o .libs/libthrift.so.0.0.0


Thrift.o получается таким образом:

 x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include -I./src 
-Wall -pipe -Wall -O2 -c src/Thrift.cpp  -fPIC -DPIC -o .libs/Thrift.o
 x86_64-alt-linux-g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include -I./src 
-Wall -pipe -Wall -O2 -c src/Thrift.cpp -o Thrift.o >/dev/null 2>&1

Есть какие нибудь мысли, чего не хватает? почему для libthtift не 
находится символ, ведь она компилируется сразу с .libs/Thrift.o в 
которой есть этот симол.

--
Климов Денис
zver


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2008-11-06 21:00 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-01  9:06 [devel] Сборка cpp библиотеки Denis Klimov
2008-11-01 10:11 ` Ivan A. Melnikov
2008-11-01 10:17   ` Dmitry V. Levin
2008-11-01 10:32     ` Ivan A. Melnikov
2008-11-01 14:10   ` Ivan Fedorov
2008-11-02  7:43     ` Ivan A. Melnikov
2008-11-02  9:41       ` [devel] [JT] " Ivan Fedorov
2008-11-06  6:26       ` [devel] thrift и ZeroC Ice Denis Klimov
2008-11-06  7:25         ` Ivan Fedorov
2008-11-06  7:31           ` Max Ivanov
2008-11-06 20:52             ` Ivan Fedorov
2008-11-06  7:33           ` Denis Klimov
2008-11-06  8:01             ` Evgeny Sinelnikov
2008-11-06 21:00               ` Ivan Fedorov
2008-11-06 20:57             ` Ivan Fedorov
2008-11-01 14:24   ` [devel] Сборка cpp библиотеки Denis Klimov
2008-11-01 10:19 ` Dmitry V. Levin
2008-11-01 10:54   ` Denis Klimov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git