Хобрук: Ваш путь к мастерству в программировании

Make не может найти curses.h

У меня есть программа под названием samtools (версия 1.3), которая используется для манипулирования файлами, полученными в ходе экспериментов по секвенированию ДНК.

Загруженная программа находится в папке. Чтобы настроить программу, я вхожу в эту папку в терминале (на компьютере с Ubuntu). Ввожу коммандос "сделать".

он запускает печать того, что он делает, но завершается с сообщением об ошибке:

bam_tview_curses.o bam_tview_curses.c
bam_tview_curses.c:41:20: fatal error: curses.h: No such file or directory
 #include <curses.h>
                    ^
compilation terminated.
make: *** [bam_tview_curses.o] Error 1

Мой первоначальный ответ (после поиска в Интернете) заключался в том, что curses не были установлены, и я попытался исправить это с помощью sudo (хотя, по-видимому, моего пользователя не было в списке sudoers.

Итак, я попытался проверить, были ли уже установлены проклятия, после консультации с Интернетом я попытался

ldconfig -p | grep ncurses

который дал вывод:

libncursesw.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncursesw.so.5
libncurses.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libncurses.so.5

Я воспринял это как установленные проклятия. Но это оставляет меня в недоумении, что могло произойти. Но это должно, по крайней мере, означать, что проклятия существуют, верно? Я не очень опытен в использовании программ Ubuntu или C (давно я прошел небольшой курс по C, и хотя я довольно много использовал компьютеры с Linux, я в основном использовал терминал для навигации)

Рад помощи!

05.02.2016

Ответы:


1

Только

sudo apt-get install libncurses-dev

работал на меня.

16.07.2020
  • apk add ncurses-dev на Альпийском 28.05.2021

  • 2

    ncurses — это библиотека, используемая для программирования приложений на основе терминала. Пользователи Ubuntu (16.04.1-Ubuntu) должны установить пакеты libncurses5-dev и libncursesw5-dev:

    sudo apt-get install libncurses5-dev libncursesw5-dev
    
    25.08.2017
  • Просто libncurses-dev в Ubuntu 19.04. 20.06.2019

  • 3

    В большинстве дистрибутивов Linux файлы заголовков, такие как curses.h, находятся в отдельном пакете, так как они требуются только для компиляции. Экономит место для 95% пользователей, которым они никогда не понадобятся.

    Я не использую Ubuntu, но обычно эти пакеты обозначаются постфиксом -dev или -devel. Должно быть легко найти через менеджер пакетов. После установки файлов заголовков компиляция должна продолжиться, возможно, вам потребуется установить файлы заголовков для других пакетов, поэтому внимательно посмотрите на результат.

    05.02.2016
    Новые материалы

    Решения DBA Metrix
    DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

    Начало работы с Блум
    Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

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

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...