ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Denis Klimov <zver@altlinux.org>
To: devel@lists.altlinux.org
Subject: [devel] Сборка cpp библиотеки
Date: Sat, 01 Nov 2008 14:06:46 +0500
Message-ID: <490C1C26.7010701@altlinux.org> (raw)

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

Собираю пакет 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


             reply	other threads:[~2008-11-01  9:06 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-01  9:06 Denis Klimov [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=490C1C26.7010701@altlinux.org \
    --to=zver@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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