FreeBSD 8.1 amd64

Технические вопросы по UTM 5.0
Ответить
Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

FreeBSD 8.1 amd64

Сообщение MaxDM »

Доброе время суток.

Код: Выделить всё

ldd /netup/utm5/bin/utm5_core
/netup/utm5/bin/utm5_core:
        libssl.so.6 => /usr/lib32/libssl.so.6 (0x28584000)
        libcrypto.so.6 => /usr/lib32/libcrypto.so.6 (0x285cc000)
        libcrypt.so.5 => /usr/lib32/libcrypt.so.5 (0x28727000)
        libthr.so.3 => /usr/lib32/libthr.so.3 (0x28740000)
        libz.so.5 => /usr/lib32/libz.so.5 (0x28755000)
        libintl.so.8 => not found (0x0)
        libiconv.so.3 => not found (0x0)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0x28767000)
        libm.so.5 => /usr/lib32/libm.so.5 (0x2885b000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x28874000)
        libc.so.7 => /usr/lib32/libc.so.7 (0x2887f000)
Подскажите, где взять эти 32-битные библиотеки в 64-битной FreeBSD?

В ядре такие опции есть:

Код: Выделить всё

options         COMPAT_FREEBSD32        # Compatible with i386 binaries
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         COMPAT_FREEBSD7         # Compatible with FreeBSD7
64-битные есть:

Код: Выделить всё

ll /usr/local/lib/libiconv*
-rw-r--r--  1 root  wheel  1106056 Dec 23 18:28 /usr/local/lib/libiconv.a
-r--r--r--  1 root  wheel      921 Dec 23 18:28 /usr/local/lib/libiconv.la
lrwxr-xr-x  1 root  wheel       13 Dec 23 18:28 /usr/local/lib/libiconv.so -> libiconv.so.3
-r--r--r--  1 root  wheel  1074139 Dec 23 18:28 /usr/local/lib/libiconv.so.3

ll /usr/local/lib/libintl*
-rw-r--r--  1 root  wheel  84356 Dec 17 17:01 /usr/local/lib/libintl.a
-r--r--r--  1 root  wheel    975 Dec 17 17:01 /usr/local/lib/libintl.la
lrwxr-xr-x  1 root  wheel     12 Dec 17 17:01 /usr/local/lib/libintl.so -> libintl.so.9
-r--r--r--  1 root  wheel  47454 Dec 17 17:01 /usr/local/lib/libintl.so.9
Если прописать из в libmap32.conf - не помогает.

Версия FreeBSD:

Код: Выделить всё

uname -r
8.1-RELEASE-p2

Makariy
Сообщения: 227
Зарегистрирован: Ср авг 27, 2008 14:08

Сообщение Makariy »

Код: Выделить всё

> 1. cd /usr/src
> 2. make build32
> 3. make install32
> 4. ldconfig -32 /usr/lib32
Ох и несоветую я тебе под ядро 8.1 х64
лучше поставь 7.3 Stable x64

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

Makariy писал(а):

Код: Выделить всё

> 1. cd /usr/src
> 2. make build32
> 3. make install32
> 4. ldconfig -32 /usr/lib32
libiconv.so и libintl.so не являются частью базовой системы и в srс их нет. То, что написано выше и так есть.

Установлены они портами/пакетами:

Код: Выделить всё

% pkg_info -W /usr/local/lib/libiconv.so
/usr/local/lib/libiconv.so was installed by package libiconv-1.13.1_1
% pkg_info -W /usr/local/lib/libintl.so
/usr/local/lib/libintl.so was installed by package gettext-0.18.1.1
Брать где и всегда:

Код: Выделить всё

ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/libiconv.tbz
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/gettext.tbz
Пакеты разархивировать и взять из них нужные либы и положить куда удобно. Если всё же установить - то 64-разрядные либы будут перезаписаны 32-разрядными и линковка нативных приложений поломается.

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

Arti писал(а):Брать где и всегда:

Код: Выделить всё

ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/libiconv.tbz
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/gettext.tbz
Пакеты разархивировать и взять из них нужные либы и положить куда удобно. Если всё же установить - то 64-разрядные либы будут перезаписаны 32-разрядными и линковка нативных приложений поломается.
Не помогло ((
Взял из пакетов эти библиотеки, положил их в /usr/lib32

Код: Выделить всё

ll /usr/lib32/libi*
-rw-r--r--  1 root  wheel  1047596 Jun  7  2010 /usr/lib32/libiconv.a
-r--r--r--  1 root  wheel      921 Jun  7  2010 /usr/lib32/libiconv.la
lrwxr-xr-x  1 root  wheel       13 Dec 28 15:36 /usr/lib32/libiconv.so -> libiconv.so.3
-r--r--r--  1 root  wheel  1050431 Jun  7  2010 /usr/lib32/libiconv.so.3
-rw-r--r--  1 root  wheel    55722 Jun  7  2010 /usr/lib32/libintl.a
-r--r--r--  1 root  wheel      975 Jun  7  2010 /usr/lib32/libintl.la
lrwxr-xr-x  1 root  wheel       12 Dec 28 15:37 /usr/lib32/libintl.so -> libintl.so.9
-r--r--r--  1 root  wheel    40691 Jun  7  2010 /usr/lib32/libintl.so.9
Корка их всё равно не видит:

Код: Выделить всё

ldd /netup/utm5/bin/utm5_core
/netup/utm5/bin/utm5_core:
        libssl.so.6 => /usr/lib32/libssl.so.6 (0x2857b000)
        libcrypto.so.6 => /usr/lib32/libcrypto.so.6 (0x285c3000)
        libcrypt.so.5 => /usr/lib32/libcrypt.so.5 (0x2871e000)
        libthr.so.3 => /usr/lib32/libthr.so.3 (0x28737000)
        libz.so.5 => /usr/lib32/libz.so.5 (0x2874c000)
        libintl.so.8 => not found (0x0)
        libiconv.so.3 => not found (0x0)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0x2875e000)
        libm.so.5 => /usr/lib32/libm.so.5 (0x28852000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x2886b000)
        libc.so.7 => /usr/lib32/libc.so.7 (0x28876000)
Даже так не работает:

Код: Выделить всё

cat /etc/libmap32.conf
[utm5_core]
libintl.so.8 /usr/lib32/libintl.so.9
libiconv.so.3 /usr/lib32/libiconv.so.3

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

А должен работать :) . На стенде у меня именно amd64.

Slad
Сообщения: 210
Зарегистрирован: Сб мар 26, 2005 14:52

Сообщение Slad »

Как вариант собрать мир (без установки) с TARGET_ARCH=i386 и там взять либы.

adun-ss
Сообщения: 8
Зарегистрирован: Пн ноя 30, 2009 07:29

Сообщение adun-ss »

8.0-RELEASE amd64

обрати внимание на путь к либам

Код: Выделить всё

# ldd /netup/utm5/bin/utm5_core
/netup/utm5/bin/utm5_core:
        libssl.so.6 => /usr/lib32/libssl.so.6 (0x2857b000)
        libcrypto.so.6 => /usr/lib32/libcrypto.so.6 (0x285c1000)
        libcrypt.so.5 => /usr/lib32/libcrypt.so.5 (0x2871c000)
        libthr.so.3 => /usr/lib32/libthr.so.3 (0x28735000)
        libz.so.5 => /usr/lib32/libz.so.5 (0x2874a000)
        libintl.so.8 => /usr/local/lib/libintl.so.9 (0x2875c000)
        libiconv.so.3 => /usr/local/lib/libiconv.so.3a (0x28765000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0x28852000)
        libm.so.5 => /usr/lib32/libm.so.5 (0x2894f000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x28968000)
        libc.so.7 => /usr/lib32/libc.so.7 (0x28973000)

Код: Выделить всё

# cat /etc/libmap32.conf
[/netup/utm5/bin/]
libintl.so.8 libintl.so.9
libiconv.so.3 libiconv.so.3a

Ответить