Проблема с установкой ссылки на libpng при попытке сделать pngnq в Linux - PullRequest
2 голосов
/ 24 января 2012

Я пытаюсь установить pngnq , который использует libpng > = 1.2.8.Я установил libpng 1.5.7 через ./configure, make, sudo make install (без проблем), поскольку версия libpng в Центре программного обеспечения была слишком старой.Сейчас я пытаюсь установить pngnq через ./configure, make, sudo make install (опять же, потому что версия Software Center устарела), но застрял на шаге make в сообщениях об ошибках, которые, по моему мнению, относятсяна libpng связь.Небольшая выборка сообщений об ошибках:

undefined reference to `png_destroy_write_struct'
undefined reference to `png_convert_from_time_t'
undefined reference to `png_set_PLTE'

У меня ограниченный опыт установки программного обеспечения вручную в Linux, поэтому я не совсем уверен, каков следующий шаг в диагностике проблемы.Я провел серьезный поиск, но не нашел ничего, нацеленного на проблему, с которой я столкнулся.Основываясь на сообщении на форуме по аналогичной проблеме, я создал каталог ls для /usr/local/lib и обнаружил:

libpng15.a   libpng15.so.15   libpng.la   libpng15.la  
libpng15.so.15.7.0   libpng.so   libpng15.so   libpng.a

, хотя я не знаю, действительно ли это используется для диагностики /исключая определенные проблемы.Может кто-нибудь посоветовать, что может быть не так, оставив мой минимальный опыт компиляции кода в Linux?

Редактировать:

В соответствии с просьбой, здесь приведен пример трассировки, начинающейся с makeЗвоните:

bryce@whatever:~/Downloads/pngnq-1.1$ make
Making all in src
make[1]: Entering directory `/home/bryce/Downloads/pngnq-1.1/src'
make  all-am
make[2]: Entering directory `/home/bryce/Downloads/pngnq-1.1/src'
gcc `libpng-config --I_opts` -Wall --pedantic -std=gnu99 -g -O2 `libpng-config 
--ldflags` -lz  -o pngnq pngnq.o neuquant32.o rwpng.o  -lm -lz 
pngnq.o: In function `pngnq':
/home/bryce/Downloads/pngnq-1.1/src/pngnq.c:518: undefined reference to `png_get_gAMA'

1 Ответ

0 голосов
/ 24 января 2012

Похоже, что включает в себя не соответствуют библиотеке.Дважды проверьте, есть ли у вас png.h в / usr / include или libpng * в /usr/lib/.

Также покажите строку gcc, которая появляется перед тем, как вы видите ошибку.Это может указывать на проблему.

...