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
next 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