Usr lib i386 linux gnu

/usr/lib/i386-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line #292

Comments

bupy7 commented Aug 25, 2014

Hi! I can’t compile php-5.3.28. I have Ubuntu 14.04 LTS x86. Before this I successfully compiled php-5.4.31.

What’s the problem?

The text was updated successfully, but these errors were encountered:

marcioAlmada commented Aug 25, 2014

This problem had a patch long time ago: 18ef766. If you were able to compile it before and can’t now, them there might be something different in the toolchain.

Also a PR that might possibly relate to this issue has been merged recently #287. Could you give phpbrew from develop branch a try?

If everything runs fine, it means this patch was correctly applied to your makefile.

marcioAlmada commented Aug 25, 2014

oh, and just because you built php 5.4 it does not mean 5.3 will work the same way. Each php version has some build eccentricity on each platform and phpbrew usually takes care of that in the backstage 🙂

bupy7 commented Aug 26, 2014

I installed phpbrew two days ago. Patch has been made ten days ago. What’s the point reinstalling Phpbrew?

marcioAlmada commented Aug 26, 2014

You probably installed from master. I asked you to install phpbrew from develop, which is the version that has the patch applied and will be released next week.

bupy7 commented Aug 27, 2014

Oh, ok! Now I will do.

marcioAlmada commented Aug 27, 2014

You won’t loose anything, phpbrew init will keep all your settings.

bupy7 commented Aug 27, 2014

marcioAlmada commented Aug 27, 2014

Ok. I can’t tell you exactly what caused this, maybe a change in the ubuntu 14 toolchain or whatever. This error just means that there is a missing library. So let’s try to troubleshoot in this order:

  1. It seems you are missing libstdc++ libstdc++-dev packages, install with apt-get . Also check if you really have all other requirements https://github.com/phpbrew/phpbrew/wiki/Requirement#ubuntu-1304-requirement
  2. After checking your requirements (we are assuming that something is missing) purge the affected php version with phpbrew purge 5.3.28 and try to install again.
  3. Last one is to try with —with-libdir=lib64 build option:
Читайте также:  Twonky server для linux

bupy7 commented Aug 28, 2014

marcioAlmada commented Aug 28, 2014

Ok, let’s keep this open and see if anyone else reports the same problem with Ubuntu 14.04 + PHP 5.3.28 build. This seems to be related to the OS toolchain used to build PHP, not phpbrew itself.

c9s commented Aug 30, 2014

Can you paste the ./configure command made by phpbrew?

c9s commented Aug 30, 2014

Also, please paste the output of /usr/bin/php-config , it will show you the configure options specified by Ubuntu package.

bupy7 commented Aug 31, 2014

Output after run phpbrew install .

igerlster commented Sep 2, 2014

i have the exact same probleme here. -> it worked some weeks ago .

lookes like the patch u mentioned was applied to the. makefile

  1. did a clean ubuntu 14.04 install -> & apt-get update && apt-get uprade
  2. apt-get install php5 php5-dev php-pear autoconf automake curl build-essential libxslt1-dev re2c libxml2 libxml2-dev php5-cli bison libbz2-dev libreadline-dev libfreetype6 libfreetype6-dev libpng12-0 libpng12-dev libjpeg-dev libjpeg8-dev libjpeg8 libgd-dev libgd3 libxpm4 libssl-dev openssl gettext libgettextpo-dev libgettextpo0 libicu-dev libmhash-dev libmhash2 libmcrypt-dev libmcrypt4 mysql-server mysql-client libmysqlclient-dev libmysqld-dev libicu52

3.curl -L -O curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew && chmod +x phpbrew && cp phpbrew /usr/bin/phpbrew

export PHPBREW_ROOT=/usr/local/ownphp && export PHPBREW_HOME=/usr/local/ownphp_conf && phpbrew init && source /usr/local/ownphp_conf/bashrc && phpbrew lookup-prefix homebrew && phpbrew clean
#hack/fix for freetype bug
ln -s /usr/include/freetype2 /usr/include/freetype2/freetype
phpbrew install php-5.3 +default +mysql +intl +gettext +sqlite +imap +cgi +fpm +curl +ftp +hash +iconv +soap +xmlrpc +openssl +zlib +apxs2=/usr/bin/apxs2 — —with-libdir=lib/x86_64-linux-gnu —with-gd=shared —enable-gd-natf —with-jpeg-dir=/usr —with-png-dir=/usr —with-freetype-dir=/usr

/usr/local/ltapache/build/php-5.3.28/sapi/apache2handler/sapi_apache2.c: In function ‘php_handler’:
/usr/local/ltapache/build/php-5.3.28/sapi/apache2handler/sapi_apache2.c:675:4: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 3 has type ‘size_t’ [-Wformat=]
apr_psprintf(ctx->r->pool, «%u», zend_memory_peak_usage(1 TSRMLS_CC)));
^
/usr/bin/ld: ext/intl/msgformat/.libs/msgformat_helpers.o: undefined reference to symbol ‘__gxx_personality_v0@@CXXABI_1.3’
//usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

igerlster commented Sep 2, 2014

ok, i reverted my old buildserver from a month old backup and tried again and it worked. so some phpbrew or ubuntu update broke thinks.. even on a complete new install like i did before.

i’m using now
phpbrew —version
phpbrew — 1.13.1
cliframework core: 1.5.12

and i didn’t make following updates:

apt-get upgrade
Reading package lists. Done
Building dependency tree
Reading state information. Done
Calculating upgrade. Done
The following packages have been kept back:
linux-headers-generic linux-headers-virtual linux-image-virtual
linux-virtual
The following packages will be upgraded:
accountsservice apache2 apache2-bin apache2-data apache2-dev base-files dbus
file ghostscript gir1.2-freedesktop gir1.2-glib-2.0 grub-common grub-pc
grub-pc-bin grub2-common krb5-locales krb5-multidev language-pack-de
language-pack-de-base language-pack-en language-pack-en-base
language-pack-gnome-en language-pack-gnome-en-base language-selector-common
libaccountsservice0 libapache2-mod-php5 libc-bin libc-dev-bin libc6
libc6-dev libcups2 libcupsimage2 libdbus-1-3 libgirepository-1.0-1 libgs9
libgs9-common libgssapi-krb5-2 libgssrpc4 libgtk-3-0 libgtk-3-bin
libgtk-3-common libgudev-1.0-0 libk5crypto3 libkadm5clnt-mit9
libkadm5srv-mit9 libkdb5-7 libkrb5-3 libkrb5-dev libkrb5support0 liblzo2-2
libmagic-dev libmagic1 libmysqlclient-dev libmysqlclient18 libpam-systemd
libpq-dev libpq5 libserf-1-1 libssl-dev libssl1.0.0 libsvn1
libsystemd-daemon-dev libsystemd-daemon0 libsystemd-login0 libtasn1-6
libtasn1-6-dev libudev1 libxenstore3.0 linux-firmware linux-libc-dev
multiarch-support mysql-client-5.5 mysql-client-core-5.5 mysql-common
mysql-server mysql-server-5.5 mysql-server-core-5.5 net-tools openssl
php-pear php5 php5-cli php5-common php5-dev php5-readline
python3-distupgrade python3-gi subversion systemd-services
ubuntu-release-upgrader-core udev upstart xenstore-utils

Читайте также:  Удаление виртуальной машины windows

Источник

Неудовлетворённые зависимости

Устанавливал пакет nvidia-390 на Ubuntu (которая нормально, без лагов установилась при использовании телевизора, как монитора), установка прошла нормально. После перезагрузки решил установить другое приложение через терминал. Но тут получил такое:

$ sudo apt-get install guvcview Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install». Пакеты, имеющие неудовлетворённые зависимости: guvcview : Зависит: libguvcview-2.0-2 но он не будет установлен Рекомендует: uvcdynctrl но он не будет установлен libnvidia-ifr1-390 : Зависит: libnvidia-gl-390 но он не будет установлен libnvidia-ifr1-390:i386 : Зависит: libnvidia-gl-390:i386 но он не будет установлен nvidia-driver-390 : Зависит: libnvidia-gl-390 (= 390.87-0ubuntu0

gpu18.04.1) но он не будет установлен Рекомендует: libnvidia-gl-390:i386 (= 390.87-0ubuntu0

gpu18.04.1) E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt —fix-broken install», не указывая имени пакета, (или найдите другое решение).

Ну пробовал прописывать «apt —fix-broken install» и «apt-get -f install» (через sudo конечно же), получал такое:

$ sudo apt-get -f install Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Исправление зависимостей… Готово Следующие пакеты устанавливались автоматически и больше не требуются: lib32gcc1 libc6-i386 Для их удаления используйте «sudo apt autoremove». Будут установлены следующие дополнительные пакеты: libnvidia-gl-390 libnvidia-gl-390:i386 НОВЫЕ пакеты, которые будут установлены: libnvidia-gl-390 libnvidia-gl-390:i386 Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 102 пакетов не обновлено. Установлено или удалено не до конца 3 пакетов. Необходимо скачать 0 B/29,1 MB архивов. После данной операции, объём занятого дискового пространства возрастёт на 147 MB. Хотите продолжить? [Д/н] y (Чтение базы данных … на данный момент установлено 134069 файлов и каталогов.) Подготовка к распаковке …/libnvidia-gl-390_390.87-0ubuntu0

gpu18.04.1_i386.deb … отклонение /usr/lib/i386-linux-gnu/libGL.so.1 в /usr/lib/i386-linux-gnu/libGL.so.1.distrib из-за nvidia-340 dpkg-divert: ошибка: несовпадение с пакетом при удалении «отклонение /usr/lib/i386-linux-gnu/libGL.so.1 из-за libnvidia-gl-390» найдено «отклонение /usr/lib/i386-linux-gnu/libGL.so.1 в /usr/lib/i386-linux-gnu/libGL.so.1.distrib из-за nvidia-340» dpkg: ошибка при обработке архива /var/cache/apt/archives/libnvidia-gl-390_390.87-0ubuntu0

gpu18.04.1_i386.deb (—unpack): new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2 Подготовка к распаковке …/libnvidia-gl-390_390.87-0ubuntu0

gpu18.04.1_amd64.deb … отклонение /usr/lib/x86_64-linux-gnu/libGL.so.1 в /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib из-за nvidia-340 dpkg-divert: ошибка: несовпадение с пакетом при удалении «отклонение /usr/lib/x86_64-linux-gnu/libGL.so.1 из-за libnvidia-gl-390» найдено «отклонение /usr/lib/x86_64-linux-gnu/libGL.so.1 в /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib из-за nvidia-340» dpkg: ошибка при обработке архива /var/cache/apt/archives/libnvidia-gl-390_390.87-0ubuntu0

gpu18.04.1_amd64.deb (—unpack): new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2 При обработке следующих пакетов произошли ошибки: /var/cache/apt/archives/libnvidia-gl-390_390.87-0ubuntu0

gpu18.04.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)

Читайте также:  Find oracle version windows

Ну и как удовлетворить зависимости? (как убрать большой текст в спойлер? cut не помогает)

Источник

При сборке месы не видится /usr/lib/i386-linux-gnu/libdrm_radeon.so.1

Пытаюсь собрать 32-битную месу в 64-битной системе с параметрами:

Однако она не видит /usr/lib/i386-linux-gnu/libdrm_radeon.so.1

Задолбывают уже эти приколы с мультилибом, как оно лечится?

я собрал так
PKG_CONFIG_LIBDIR=»-L/usr/lib/» LIBUDEV_LIBS=»-L/usr/lib/» XCB_DRI2_LIBS=»-L/usr/lib/» CFLAGS=»-m32″ CXXFLAGS=»-m32″ ./autogen.sh —prefix=/usr —with-gallium-drivers=r600 —enable-nine —with-gallium-driver-dir=«`pwd`/src/gallium/targets/pipe-loader/.libs» —enable-debug —enable-texture-float —with-dri-drivers= —disable-dri —disable-opengl —disable-egl —disable-vdpau —disable-xvmc —disable-gbm —disable-gallium-llvm —enable-32bit —disable-64bit

И как, сабж вообще работает? А то все обсуждают и никто так и не потестил.

Не могу понять, что в 64-битном /usr/lib забыл i386-linux-gnu?

Притом все библиотеки стоят.

Оно конфликтует с libdrm-dev и заменяет её, я попробовал заменить, тоже самое, но при этом начинает выскакивать эта же ошибка при сборке с опциями в шапке темы.

эти приколы с мультилибом, как оно лечится?

debootstrap —arch=i386 и chroot linux32 bash

Да наверное, в чруте собрать и вытащить библиотеку.

Зачем? Просто поставишь получившийся пакет. Вроде должно сработать. Я wine так собрал и поставил, но в нестандартный prefix.

Да, это надёжный вариант. А то multilib ни для одного -dev пакета не работает, хотя по-хорошему там пересекаются одни заголовочные файлы. И только в некоторых тяжёлых (кривых) пакетах там есть кроме самих библиотек ещё и бинарники.

У меня в чруте конфигурация сборки вываливается с:

mesa собрал, с вайном мучаюсь, но теперь только в вск смогу продолжить.

Вайн у меня как раз быстро собрался.

32-битный вайн не хочет собираться.

Как у тебя так получается?
Я просто сделал chroot с помощью debootstrap:

Добавил репы (скопировал конфиги apt из основной системы)
зашел туда:

Поставил что надо для сборки:

Далее просто configure и make -j 8, все замечательно собралось.

Однако она не видит /usr/lib/i386-linux-gnu/libdrm_radeon.so.1

дык и не должна. Система-то 64х битная.

Задолбывают уже эти приколы с мультилибом, как оно лечится?

тебе уже подсказали: chroot. И там собирай 32х битную версию. Мультилиб обеспечивает только _работу_ 32х битных версий, т.е. _добавляет_ 32х битные библиотеки. А при линковке берёться то что есть, т.е. 64 бита дефолтные. Ман пишет про опцию —library-path=, но ИМХО chroot будет проще.

А то multilib ни для одного -dev пакета не работает, хотя по-хорошему там пересекаются одни заголовочные файлы.

всё там работает. С линковкой проблема. А если слинкуешь в chroot’е, то и можно ставить.

sources.list оказался незаполненным.

git checkout gallium-nine не выполнил.

Хорошо, один сейчас сходу нашёл: libxcb1-dev. i386 устанавливается параллельно с x86_64. А какие с линковкой проблемы? На x86_64 gcc -m32 будет искать сначала 32-битные либы.

git checkout gallium-nine не выполнил.

Спасибо, вот же я тупанул. 🙂

Что значит работает? Блоб, включая виндузячий, отстаёт до десяти раз, игр и приложений свободный тоже запускает больше, можно сказать, все.

Источник

Оцените статью