On Thu, Mar 26, 2009 at 06:49:18PM +0300, Boris Savelev wrote: > Товарищи, а может кто-нить пояснить, чем чревато линковатся с libc статически? > мне пишется вот такое: > make LDFLAGS="-static -static-libgcc" daemon > > warning: Using 'initgroups' in statically linked applications requires > at runtime the shared libraries from the glibc version used for > linking > warning: Using 'getpwnam' in statically linked applications requires > at runtime the shared libraries from the glibc version used for > linking > warning: Using 'gethostbyname' in statically linked applications > requires at runtime the shared libraries from the glibc version used > for linking > > этому верить?-) оно без требуемой libc просто упадет? Скорее всего, именно упадёт. По крайней мере, в древние времена, когда /bin/rpm собирался статически, именно это с ним и происходило при попытке обновления glibc. Так что, как это ни парадоксально, переносимость бинарника, слинкованного с glibc динамически, существенно выше, чем у слинкованного статически (при динамической линковке в glibc задействуется механизм symbol versioning, позволяющий предоставить старым бинарникам совместимые с ними реализации функций даже в случае, когда в новой версии glibc бинарный интерфейс этих функций уже изменился). Правда, при этом будет требоваться версия glibc не старее той, которая использовалась при сборке.