From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 Date: Wed, 26 Mar 2008 23:35:40 +0300 (MSK) From: panov@dec1.sinp.msu.ru To: ALT Linux Community general discussions In-Reply-To: <679044850803261241p1108fc86i447084cd9f13ca1f@mail.gmail.com> Message-ID: References: <87ej9xe3k3.fsf@frontier.dottedmag.net> <679044850803261241p1108fc86i447084cd9f13ca1f@mail.gmail.com> User-Agent: Alpine 1.00 (DEB 882 2007-12-20) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-2083191807-596031908-1206563740=:785" Subject: Re: [Comm] =?koi8-r?b?4+Xy7s/X08vB0SDH0sHGycvBIFJPT1QsIERlc2t0b3Ag?= =?koi8-r?b?NC4wIMkg3MvTy9XS08nRINcgVWJ1bnR1IDcuMTA=?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Mar 2008 20:35:43 -0000 Archived-At: List-Archive: List-Post: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---2083191807-596031908-1206563740=:785 Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed Content-Transfer-Encoding: 8BIT On Wed, 26 Mar 2008, Damir Shayhutdinov wrote: >>> p> Похоже, что дело в какой-то неправильной настройке по умолчанию >> > p> компилятора >> > >> > Настройка правильная, это вам надо подправить кривую софтину, не умеющую >> > с --as-needed собираться. Как подправить - уже сказали. >> > >> >> Да нет, софтина не кривая - она же компилится без проблем и во всех >> предыдущих Alt начиная с Master 2.2, и в Ubuntu-7.10, где тоже gcc-4.1. >> Чем-то Desktop отличается от всего остального. > Изменились условия компиляции. Раньше для линковки с динамическими > библиотеками использовались другие правила, чем для линковки со > статическими библиотеками. Теперь (в 4.0 и выше), по умолчанию > линковка с динамическими библиотеками делается так же как и со > статическими. > > Софтина кривая в том смысле, что ее невозможно собрать со статическими > библиотеками любым компилятором (линковщиком), и с динамическими > библиотеками линковщиком из ALT Linux. > > Решения два: > 1) Исправить линковку (поставить -ldl после всех .o и .c файлов в > строке линковки). Это заодно вылечит статическую линковку. Вряд ли это получится. Там Makefile на 38KB и еще куча килобайтных Module.mk в каждой поддиректории проекта. > 2) Собрать линковщиком, который использует старые правила линковки. > Для этого надо либо использовать старые binutils, либо передать при > линковке флаг -Wl,--no-as-needed Я сделал так: export LDFLAGS="$LDFLAGS -Wl,--no-as-needed" Потом переконфигурировал дистрибутив (configure ....), но результат все тот-же: g++ -m32 -O2 -o bin/cint cint/main/cppmain.o \ -Llib -lCint -lm -ldl -rdynamic lib/libCint.so: undefined reference to `dlsym' lib/libCint.so: undefined reference to `dlerror' lib/libCint.so: undefined reference to `dlopen' lib/libCint.so: undefined reference to `dlclose' collect2: ld returned 1 exit status Что-то не так? Что значит использовать старые binutils (я чайник) и как это сделать? Александр ---2083191807-596031908-1206563740=:785--