Рейтинг:1

Проблемы с рабочей установкой gsl 2.6

флаг za

Мне нужно запустить какое-то физическое программное обеспечение на моем ноутбуке, которое очень привередливо, поэтому мне особенно нужно использовать gsl 2.6 (где я обычно работаю, я нашел это методом проб и ошибок).

У меня убунту-18.04. У меня был установлен gsl 2.4, но я не мог его обновить дальше. Поэтому я зашел на сайт gnu и скачал 2.7 в надежде, что она подойдет. Я следовал инструкциям здесь: https://coral.ise.lehigh.edu/jild13/2016/07/11/hello/ установить его. Включая создание небольшого тестового файла example.c, который, казалось, работал нормально. Но когда я попытался проверить версию с помощью gsl-config --версия он вернул 2,4 еще.

Поэтому я удалил gsl и очистил его от системы на тот случай, если проблема была только в том, что я сначала не избавился от другой версии (я привык выгружать и загружать gsl как модуль, поэтому я не подумал удалить это первое). Я попробовал еще раз с точно такими же результатами, за исключением того, что мой ноутбук теперь жалуется, что в /usr/bin нет gsl. Я не знаю, почему он специально ищет там, старая версия там не устанавливалась, и новая там тоже не ставится.

Могу ли я не просто сделать что-то вроде apt-get установить libgsl-dev-2.6 ? Не то чтобы специально - я знаю, что это не работает! Я также могу снова установить вручную, если кто-нибудь знает, что я пропустил.

Спасибо!


Отредактировано для добавления ошибок после попытки решения N0rbert *

libtool: установить: ranlib /home/cb27g11/Downloads/gsl-2.6+dfsg/debian/tmp/usr/lib/x86_64-linux-gnu/libgsl.a
libtool: предупреждение: не забудьте запустить «libtool --finish /usr/lib/x86_64-linux-gnu»
 /bin/mkdir -p '/home/cb27g11/Загрузки/gsl-2.6+dfsg/debian/tmp/usr/bin'
  /bin/bash ./libtool --mode=install /usr/bin/install -c gsl-randist gsl-histogram '/home/cb27g11/Downloads/gsl-2.6+dfsg/debian/tmp/usr/bin'
libtool: предупреждение: «libgsl.la» не был установлен в «/usr/lib/x86_64-linux-gnu»
libtool: предупреждение: '/home/cb27g11/Downloads/gsl-2.6+dfsg/cblas/libgslcblas.la' не был установлен в '/usr/lib/x86_64-linux-gnu'
libtool: предупреждение: «cblas/libgslcblas.la» не был установлен в «/usr/lib/x86_64-linux-gnu»
libtool: установить: /usr/bin/install -c .libs/gsl-randist /home/cb27g11/Downloads/gsl-2.6+dfsg/debian/tmp/usr/bin/gsl-randist
libtool: предупреждение: «libgsl.la» не был установлен в «/usr/lib/x86_64-linux-gnu»
libtool: предупреждение: '/home/cb27g11/Downloads/gsl-2.6+dfsg/cblas/libgslcblas.la' не был установлен в '/usr/lib/x86_64-linux-gnu'
libtool: предупреждение: «cblas/libgslcblas.la» не был установлен в «/usr/lib/x86_64-linux-gnu»

Это что-нибудь значит для вас?

N0rbert avatar
флаг zw
GSL 2.4 доступен в Ubuntu 18.04 LTS из [официальных репозиториев] (https://packages.ubuntu.com/search?keywords=gsl&searchon=sourcenames). Существует PPA с [версией 2.5] (https://launchpad.net/~savoury1/+archive/ubuntu/inkscape/+packages?field.name_filter=gsl&field.status_filter=published&field.series_filter=bionic). Пожалуйста, добавьте некоторые детали к вашему вопросу. В настоящее время это головоломка, поэтому ее нельзя воспроизвести.
Knud Larsen avatar
флаг by
Если вы хотите `/usr/bin/gsl-config`, источник "gsl-2.7/" должен быть настроен с помощью `./configure --prefix=/usr`
N0rbert avatar
флаг zw
... для того, чтобы разрушить систему. Используйте --prefix=/usr/local, чтобы сохранить управляемость.
user535733 avatar
флаг cn
Для запуска более нового программного обеспечения у вас будут лучшие результаты, если вы запустите более новую версию Ubuntu. Для GSL 2.6, в частности, Ubuntu 21.04 или предварительная версия 21.10 имеют 2.6 в своих репозиториях. Если вы не хотите переходить с 18.10, можно запустить 21.04 в WM или контейнере.
Knud Larsen avatar
флаг by
@N0rbert. »»… для очистки системы «» : `libgsl23` / `libgsl[любая-версия]` не является системным пакетом. GSL/libgsl не устанавливается по умолчанию.
N0rbert avatar
флаг zw
Итак, установка файлов в /usr/bin делает систему управляемой. Очень умно. Спасибо.
Рейтинг:1
флаг zw

Вы можете собрать GSL 2.6 на 18.04 LTS из источники с помощью команд ниже:

sudo apt-получить обновление
sudo apt-get install build-essential dpkg-dev debhelper

компакт-диск ~/Загрузки
wget -c http://archive.ubuntu.com/ubuntu/pool/universe/g/gsl/gsl_2.6+dfsg.orig.tar.gz
tar -xf gsl_2.6+dfsg.orig.tar.gz
cd gsl-2.6+dfsg/
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gsl/gsl_2.6+dfsg-2.debian.tar.xz
tar -xf gsl_2.6+dfsg-2.debian.tar.xz
rm gsl_2.6+dfsg-2.debian.tar.xz

dpkg-buildpackage -uc -us
sudo apt-get install ../*gsl*.deb

получить

$ gsl-config --версия
2,6

а затем попробуйте скомпилировать ваше приложение.

Ciara avatar
флаг za
Спасибо за ваш обстоятельный ответ! К сожалению, я столкнулся с некоторыми проблемами на этапе "dpkg-buildpackage -uc -us": Я добавлю полную информацию об ошибках в свой исходный пост, но в конце я получаю это: dpkg-genchanges: предупреждение: пакет libgsl-prof в управляющем файле, но не в списке файлов dpkg-genchanges: информация: исходный код не включается в загрузку dpkg-source --после сборки gsl-2.6+dfsg dpkg-source: информация: неприменение ручной коррекции страницы dpkg-source: информация: неприменение gsl-cblas-linkage dpkg-buildpackage: информация: загрузка бинарных файлов и различий (исходный код НЕ включен)
N0rbert avatar
флаг zw
Я думаю, что это просто предупреждения, вы можете продолжить с `sudo apt-get install ../*gsl*.deb`, чтобы установить deb-пакеты.
Ciara avatar
флаг za
Похоже, вы правы, после выполнения шага установки gsl-config --version возвращает 2.6! Большое тебе спасибо!

Ответить или комментировать

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