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=0.3 required=5.0 tests=BAYES_00,DNS_FROM_OPENWHOIS, FUZZY_XPILL autolearn=no version=3.2.5 Message-ID: <4CAAF02A.70307@mmedia2.kemsu.ru> Date: Tue, 05 Oct 2010 17:30:18 +0800 From: REAL User-Agent: Thunderbird 2.0.0.21 (X11/20090302) MIME-Version: 1.0 To: ALT Linux Team development discussions References: <20101004193504.GA13540@altlinux.org> <20101004204144.GB13540@altlinux.org> <20101004214037.GD13540@altlinux.org> <4CAA8785.7060609@mmedia2.kemsu.ru> <20101005093544.GB9992@altlinux.org> <4CAAE5EF.3040408@mmedia2.kemsu.ru> <20101005100103.GA28486@altlinux.org> <20101005101717.GF9992@altlinux.org> In-Reply-To: <20101005101717.GF9992@altlinux.org> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel] I: rpm 4.0.4-alt98.49, latter rain X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 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: Tue, 05 Oct 2010 10:24:27 -0000 Archived-At: List-Archive: List-Post: Alexey Tourbin пишет: >> overlinked libraries означает, что ELF cлинкован с тем, с чем не должен. >> underlinked libraries означает, что ELF не cлинкован с тем, с чем должен. >> >> С первым мы уже давно боремся с помощью -Wl,--as-needed, поэтому наличие >> overlinked libraries, скорее всего, является следствием использования >> -Wl,--no-as-needed. >> >> Cо вторым мы тоже давно боремся с помощью "%set_verify_elf_method strict". > > C недолинковкой вопрос несколько сложнее: verify-elf/ldd не ругается > на непрямые транзитивные зависимости (по символам), если они разрешаются > при загрузке. В этом вся соль. И в этом одна из претензий к тулчейну! Спасибо, Алексай, вопрос исчерпан. Кстати, вот пример "неявного no-as-needed", и до сих пор неизвестно, лечится ли такое вообще. Простой пример, z.c: #include void main() { printf("Hello\n"); } > gcc z.c > ldd a.out libc.so.6 => /lib64/libc.so.6 (0x00002ad282672000) /lib64/ld-linux-x86-64.so.2 (0x00002ad282454000) > rm -f a.out > mpicc z.c > ldd a.out libmpi.so.0 => /usr/lib/openmpi/lib/libmpi.so.0 (0x00002b4ad0dc4000) libopen-rte.so.0 => /usr/lib/openmpi/lib/libopen-rte.so.0 (0x00002b4ad1077000) libopen-pal.so.0 => /usr/lib/openmpi/lib/libopen-pal.so.0 (0x00002b4ad12c6000) libdl.so.2 => /lib64/libdl.so.2 (0x00002b4ad1542000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b4ad1746000) libutil.so.1 => /lib64/libutil.so.1 (0x00002b4ad195e000) libm.so.6 => /lib64/libm.so.6 (0x00002b4ad1b62000) libc.so.6 => /lib64/libc.so.6 (0x00002b4ad1de4000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b4ad2138000) /lib64/ld-linux-x86-64.so.2 (0x00002b4ad0ba6000) -- REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ