From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,RDNS_NONE autolearn=no version=3.2.5 Message-ID: <490C1C26.7010701@altlinux.org> Date: Sat, 01 Nov 2008 14:06:46 +0500 From: Denis Klimov User-Agent: Thunderbird 2.0.0.14 (X11/20080719) MIME-Version: 1.0 To: devel@lists.altlinux.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: [devel] =?utf-8?b?0KHQsdC+0YDQutCwIGNwcCDQsdC40LHQu9C40L7RgtC1?= =?utf-8?b?0LrQuA==?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 Nov 2008 09:06:49 -0000 Archived-At: List-Archive: List-Post: Приветствую! Собираю пакет 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