Как я могу связать свою программу C против библиотеки Arb?

sudo rm /var/lib/apt/lists/* -vf && sudo apt-get update

Добьется цели. Посмотрите источник

2
21.08.2018, 01:01
2 ответа

Файл fmpcb.h больше не существует в самой последней версии Arb. Типы fmprb_t и fmpcb_t в Arb 1.x были заменены (более эффективными) типами arb_t и acb_t в Arb 2.x. В последней версии полностью удален устаревший тип fmpcb_t.

Вы сможете получить код из этого сообщения в блоге, заменив fmprb -> arb и fmpcb -> acb и, возможно, внося другие незначительные изменения.

Однако лучшим решением является использование примера программы Keiper-Li, которая включена в Arb:

https://github.com/fredrik-johansson/arb/blob/master/examples/keiper_li.c

По сути, это лучшая версия программы, описанной в блоге. Он быстрее, поддерживает многопоточность, позволяет передавать аргументы в командной строке вместо перекомпиляции и должен соответствовать текущему интерфейсу.

Из исходного каталога Arb вы можете собрать и запустить пример программы следующим образом (при условии, что Arb уже установлен):

cd /home/user/src/arb
make examples
build/examples/keiper_li 100

Вы также можете собрать библиотеку и запустить примеры программ без установки Arb, сообщив компоновщику, что он может найти libarb.so в исходном каталоге:

cd /home/user/src/arb
make
export LD_LIBRARY_PATH=/home/user/src/arb:$LD_LIBRARY_PATH
make examples
build/examples/keiper_li 100

Для документации примеров программ Arb см .: http://fredrikj.net/arb/examples.html

2
27.01.2020, 22:05

1) Что здесь не так, поскольку syslinux должен поддерживать разделы ext2?

Да, Syslinux поддерживает ext2 fs через Extlinux. Если вы используете систему на основе UEFI/EFI, то вам нужен раздел fat32. Только для GPT не нужно иметь раздел fat32, просто используйте традиционный. т.е. ext?

2) Нужно ли устанавливать MBR, не совместим ли syslinux с GPT? Я прочитал документацию о том, что GPT имеет больше преимуществ по сравнению с MBR, например, позволяет создавать путь больше первичных разделов. Я неправильно понял?

Что вы хотите использовать, поддерживаются как таблицы разделов msdos, так и gpt.

В случае GPT можно использовать gdisk для установки флага загрузки предыдущей версии BIOS. Необходимо иметь флаг загрузки BIOS в загрузочном разделе. После ввода в меню gdisk используйте «x» для перехода в экспертный режим, а затем используйте «a» для установки атрибутов.

3) Автоматически ли gdisk создает GPT?

Да, посетите http://linux.die.net/man/8/gdisk

Для получения информации о том, как, посетите http://wiki.gentoo.org/wiki/Syslinux

-121--146283-

Try Xvfb, является сервером X11, который работает без экрана и работает с буфером кадров. Все X11 программы и утилиты работают с Xvfb.

-121--196393-

Файл fmpcb.h не найден в пути C include. Кроме того, использование кавычек вместо скобок здесь, вероятно, также плохая идея . Этот тест, который вы пытаетесь построить, вероятно, предназначен для компиляции вместе с библиотекой Arb, поэтому автор использует кавычки.

Сначала установите пакет, предоставляющий этот файл заголовка (и, конечно, связанную библиотеку, если она имеется). Этот файл предоставляется библиотекой Arb, которую можно загрузить (загрузить ЗАСТЕЖКА -МОЛНИЯ) . После загрузки и извлечения архива введите его каталог и введите:

$ ./configure
$ make
$ sudo make install

Сценарий configure выполнит проверки системы, чтобы убедиться, что она может компилировать и связывать создаваемую библиотеку. В случае сбоя необходимо установить все необходимые зависимости, прежде чем продолжить работу. Некоторые зависимости могут быть предоставлены в виде двоичных пакетов (см. документацию дистрибутива), некоторые - нет (в этом случае вам придется прочитать их инструкции, обычно файл README или INSTALL в архиве библиотеки). В соответствии со страницей Арб Git, у вас будет несколько установок:

Arb зависит от FLINT ( http://flintlib.org/ ), MPIR ( http://mpir.org ) и MPFR ( http://mpfr.org ). Он может быть построен как отдельная библиотека, или как часть FLINT в качестве дополнительного пакета расширения.

Примечание: Моя система Ubuntu предоставляет двоичные пакеты для libflint (libflint-dev) и MPFR (libmpfr-dev). Вы можете установить их с помощью:

$ sudo apt-get install libflint-dev libmpfr-dev

(при условии, что ваш менеджер пакетов apt-get конечно). MPIR можно загрузить здесь и установить с помощью другого типичного ./configure & & make & & sudo make install .Согласно документации MPIR , нет зависимости для установки перед компиляцией библиотеки. В целом:

  • Установите libflint-dev и libmpfr-dev с помощью apt-get или скомпилируйте их вместе с соответствующими зависимостями, если таковые имеются.
  • Загрузите библиотеку MPIR, скомпилируйте ее (см. файл README или документацию PDF, на которую ссылались выше) и установите ее.
  • Загрузите библиотеку Arb, скомпилируйте и установите ее.

После того, как библиотека Arb будет создана и установлена в системе, файл fmpcb.h будет доступен по адресу /usr/local/include/fmpcb.h (за исключением случаев, когда дистрибутив использует другой путь). Файлы библиотеки также можно найти в /usr/local/lib . Так как файл заголовка находится в системном каталоге (путь C include), вместо кавычек в коде необходимо использовать скобки:

#include <fmpcb.h>

Теперь, если вы хотите скомпилировать и связать с этой недавно установленной библиотекой, вам придется сообщить компилятору:

$ gcc -I/usr/local/include -L/usr/local/lib -larb yourprogram.c -o yourprogram
$ ./yourprogram

Для получения дополнительной информации об установке Arb, посмотрите на эту страницу . Вы также найдете информацию относительно установки Arb как расширения Flint, и компиляции инструкций для этой конкретной ситуации.

1
27.01.2020, 22:05

Теги

Похожие вопросы