在mac ld错误上编译zathura pdf插件

时间:2015-04-02 12:25:05

标签: c++ macos pdf linker osx-yosemite

我正在尝试在运行Yosemite的Mac OS X上安装zathura-pdf-poppler-0.2.5。当我尝试制作时,我收到以下错误:

LD pdf.so
Undefined symbols for architecture x86_64:
  "_zathura_document_get_data", referenced from:
      _pdf_page_links_get in links.o
      _pdf_page_init in page.o
  "_zathura_document_get_password", referenced from:
      _pdf_document_open in document.o
  "_zathura_document_get_path", referenced from:
      _pdf_document_open in document.o
  "_zathura_document_information_entry_list_new", referenced from:
      _pdf_document_get_information in meta.o
  "_zathura_document_information_entry_new", referenced from:
      _pdf_document_get_information in meta.o
  "_zathura_document_set_data", referenced from:
      _pdf_document_open in document.o
      _pdf_document_free in document.o
  "_zathura_document_set_number_of_pages", referenced from:
      _pdf_document_open in document.o
  "_zathura_index_element_new", referenced from:
      _pdf_document_index_generate in index.o
      _build_index in index.o
  "_zathura_link_free", referenced from:
      _pdf_page_links_get in links.o
  "_zathura_link_new", referenced from:
      _poppler_link_to_zathura_link in utils.o
  "_zathura_page_get_document", referenced from:
      _pdf_page_links_get in links.o
      _pdf_page_init in page.o
  "_zathura_page_get_height", referenced from:
      _pdf_page_links_get in links.o
      _pdf_page_search_text in search.o
  "_zathura_page_get_index", referenced from:
      _pdf_page_init in page.o
  "_zathura_page_set_data", referenced from:
      _pdf_page_init in page.o
  "_zathura_page_set_height", referenced from:
      _pdf_page_init in page.o
  "_zathura_page_set_width", referenced from:
      _pdf_page_init in page.o
  "_zathura_plugin_add_mimetype", referenced from:
      _zathura_plugin_register in plugin.o
  "_zathura_plugin_set_name", referenced from:
      _zathura_plugin_register in plugin.o
  "_zathura_plugin_set_register_functions_function", referenced from:
      _zathura_plugin_register in plugin.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [pdf.so] Error 1

我在$ PKG_CONFIG_PATH中设置了以下路径:

/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig:/usr/local/Cellar/zlib/1.2.8/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.10

有谁知道如何解决问题。

非常感谢

1 个答案:

答案 0 :(得分:0)

我不知道发生这种情况的确切原因,但我已经从MacPort应用了补丁到makefile和config.mk。您可以以纯文本格式下载它们,并使用patch Makefile < make.diffpatch config.mk < config.diff来应用修补程序。

patch files

我必须在/usr/lib/zathura/pdf.dylib之后将/usr/lib/zathura/pdf.so更改为make install才能使zathura显示pdf文件。