vedang / pdf-tools

Emacs support library for PDF files.
https://pdftools.wiki
GNU General Public License v3.0
620 stars 90 forks source link

Improved way to install pdf-tools on M1 Macs? #107

Closed cilia closed 2 years ago

cilia commented 2 years ago

It seems the pdf-tools default installation process is still failing for Macs (e.g. 11.6.3) with M1 chips. I asked in the original repo and a (not so clean) workaround was proposed more than a year ago: https://github.com/politza/pdf-tools/issues/652#issue-795687902. Now I wonder if the process is/can be improved for M1 Macs.

The server building process is still looking for the wrong version of the libs, as evidenced by the output of ./server/autobuild:

---------------------------
    Installing packages
---------------------------
brew install pkg-config poppler automake
Warning: pkg-config 0.29.2_3 is already installed and up-to-date.
To reinstall 0.29.2_3, run:
  brew reinstall pkg-config
Warning: poppler 22.02.0 is already installed and up-to-date.
To reinstall 22.02.0, run:
  brew reinstall poppler
Warning: automake 1.16.5 is already installed and up-to-date.
To reinstall 1.16.5, run:
  brew reinstall automake

---------------------------
 Configuring and compiling
---------------------------
autoreconf -i
configure.ac:15: installing './ar-lib'
configure.ac:11: installing './compile'
configure.ac:78: installing './config.guess'
configure.ac:78: installing './config.sub'
configure.ac:6: installing './install-sh'
configure.ac:6: installing './missing'
Makefile.am: installing './depcomp'
./configure -q  && make clean && make -s

Is case-sensitive searching enabled ?     yes
Is modifying text annotations enabled ?   yes
Is modifying markup annotations enabled ? yes

test -z "epdfinfo" || rm -f epdfinfo
test -z "libsynctex.a" || rm -f libsynctex.a
rm -f *.o
epdfinfo.c:1376:5: warning: 'poppler_page_get_selection_region' is deprecated: Use poppler_page_get_selected_region instead [-Wdeprecated-declarations]
    poppler_page_get_selection_region (page, 1.0, POPPLER_SELECTION_GLYPH, region);
    ^
/opt/homebrew/Cellar/poppler/22.02.0/include/poppler/glib/poppler-page.h:75:134: note: 'poppler_page_get_selection_region' has been explicitly marked deprecated here
GList *poppler_page_get_selection_region(PopplerPage *page, gdouble scale, PopplerSelectionStyle style, PopplerRectangle *selection) G_GNUC_DEPRECATED_FOR(poppler_page_get_selected_region);
                                                                                                                                     ^
/opt/homebrew/Cellar/glib/2.72.1/include/glib-2.0/glib/gmacros.h:690:18: note: expanded from macro 'G_GNUC_DEPRECATED_FOR'
  __attribute__((deprecated("Use " #f " instead")))     \
                 ^
1 warning generated.
ld: warning: ignoring file /opt/homebrew/opt/gettext/lib/libintl.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/glib/2.72.1/lib/libglib-2.0.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/poppler/22.02.0/lib/libpoppler-glib.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/glib/2.72.1/lib/libgobject-2.0.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/poppler/22.02.0/lib/libpoppler.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/cairo/1.16.0_5/lib/libcairo.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/libpng/1.6.37/lib/libpng16.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
ld: warning: ignoring file /opt/homebrew/Cellar/zlib/1.2.11/lib/libz.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
Undefined symbols for architecture x86_64:
  "Annot::setAppearanceState(char const*)", referenced from:
      _xpoppler_annot_set_rectangle in epdfinfo-poppler-hack.o
  "Annot::setRect(double, double, double, double)", referenced from:
      _xpoppler_annot_set_rectangle in epdfinfo-poppler-hack.o
  "_cairo_arc", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_close_path", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_create", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_destroy", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_fill_preserve", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_image_surface_create", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_image_surface_get_data", referenced from:
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
      _image_write in epdfinfo-epdfinfo.o
  "_cairo_image_surface_get_height", referenced from:
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
      _image_write in epdfinfo-epdfinfo.o
  "_cairo_image_surface_get_stride", referenced from:
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_image_surface_get_width", referenced from:
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
      _image_write in epdfinfo-epdfinfo.o
  "_cairo_move_to", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_paint", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_region_create", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
  "_cairo_region_destroy", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_getselection in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
  "_cairo_region_get_rectangle", referenced from:
      _cmd_getselection in epdfinfo-epdfinfo.o
      _region_print in epdfinfo-epdfinfo.o
  "_cairo_region_num_rectangles", referenced from:
      _cmd_getselection in epdfinfo-epdfinfo.o
      _region_print in epdfinfo-epdfinfo.o
  "_cairo_region_union_rectangle", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
  "_cairo_scale", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_set_line_width", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_set_operator", referenced from:
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_set_source_rgb", referenced from:
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_set_source_rgba", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_set_source_surface", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_status", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_stroke", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_cairo_surface_destroy", referenced from:
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
  "_cairo_surface_flush", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_cairo_surface_status", referenced from:
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      _cmd_renderpage in epdfinfo-epdfinfo.o
      _image_render_page in epdfinfo-epdfinfo.o
      _image_write in epdfinfo-epdfinfo.o
  "_cairo_translate", referenced from:
      _image_render_page in epdfinfo-epdfinfo.o
  "_g_array_append_vals", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_g_array_new", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_g_array_unref", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
  "_g_ascii_strtod", referenced from:
      _parse_rectangle in epdfinfo-epdfinfo.o
  "_g_convert", referenced from:
      __xpoppler_goo_string_to_utf8 in epdfinfo-poppler-hack.o
  "_g_error_free", referenced from:
      _cmd_open in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_save in epdfinfo-epdfinfo.o
      _command_arg_parse_arg in epdfinfo-epdfinfo.o
  "_g_filename_to_uri", referenced from:
      _cmd_save in epdfinfo-epdfinfo.o
      _document_open in epdfinfo-epdfinfo.o
  "_g_free", referenced from:
      _main in epdfinfo-epdfinfo.o
      _cmd_setoptions in epdfinfo-epdfinfo.o
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_metadata in epdfinfo-epdfinfo.o
      _cmd_gettext in epdfinfo-epdfinfo.o
      _cmd_charlayout in epdfinfo-epdfinfo.o
      ...
  "_g_hash_table_destroy", referenced from:
      _free_document in epdfinfo-epdfinfo.o
  "_g_hash_table_insert", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
      _document_open in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_hash_table_iter_init", referenced from:
      _cmd_closeall in epdfinfo-epdfinfo.o
  "_g_hash_table_iter_next", referenced from:
      _cmd_closeall in epdfinfo-epdfinfo.o
  "_g_hash_table_iter_remove", referenced from:
      _cmd_closeall in epdfinfo-epdfinfo.o
  "_g_hash_table_lookup", referenced from:
      _cmd_close in epdfinfo-epdfinfo.o
      _cmd_getannot in epdfinfo-epdfinfo.o
      _cmd_addannot in epdfinfo-epdfinfo.o
      _cmd_delannot in epdfinfo-epdfinfo.o
      _cmd_editannot in epdfinfo-epdfinfo.o
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
      _document_open in epdfinfo-epdfinfo.o
      ...
  "_g_hash_table_new", referenced from:
      _main in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_hash_table_remove", referenced from:
      _cmd_close in epdfinfo-epdfinfo.o
      _cmd_delannot in epdfinfo-epdfinfo.o
  "_g_list_free", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_addannot in epdfinfo-epdfinfo.o
      _cmd_getattachments in epdfinfo-epdfinfo.o
      _free_document in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_list_last", referenced from:
      _cmd_pagelinks in epdfinfo-epdfinfo.o
  "_g_list_length", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_g_list_prepend", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_list_remove", referenced from:
      _cmd_delannot in epdfinfo-epdfinfo.o
  "_g_malloc", referenced from:
      _main in epdfinfo-epdfinfo.o
      _cmd_addannot in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
      _image_write in epdfinfo-epdfinfo.o
  "_g_malloc0", referenced from:
      _main in epdfinfo-epdfinfo.o
      _document_open in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_malloc_n", referenced from:
      __xpoppler_goo_string_to_utf8 in epdfinfo-poppler-hack.o
  "_g_match_info_fetch", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_match_info_fetch_pos", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_match_info_free", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_match_info_matches", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_match_info_next", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_object_unref", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_pagelinks in epdfinfo-epdfinfo.o
      _cmd_gettext in epdfinfo-epdfinfo.o
      _cmd_getselection in epdfinfo-epdfinfo.o
      _cmd_pagesize in epdfinfo-epdfinfo.o
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      ...
  "_g_realloc", referenced from:
      _main in epdfinfo-epdfinfo.o
  "_g_regex_match", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_regex_new", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_regex_unref", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_g_return_if_fail_warning", referenced from:
      _xpoppler_annot_markup_get_created in epdfinfo-poppler-hack.o
  "_g_str_equal", referenced from:
      _main in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_str_hash", referenced from:
      _main in epdfinfo-epdfinfo.o
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_g_strdup", referenced from:
      _main in epdfinfo-epdfinfo.o
      _document_open in epdfinfo-epdfinfo.o
  "_g_strdup_printf", referenced from:
      _main in epdfinfo-epdfinfo.o
      _cmd_setoptions in epdfinfo-epdfinfo.o
      _cmd_addannot in epdfinfo-epdfinfo.o
      _cmd_editannot in epdfinfo-epdfinfo.o
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
      _cmd_getattachments in epdfinfo-epdfinfo.o
      _cmd_renderpage in epdfinfo-epdfinfo.o
      ...
  "_g_type_check_instance_cast", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
      _xpoppler_annot_markup_get_created in epdfinfo-poppler-hack.o
  "_g_type_check_instance_is_a", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
      _xpoppler_annot_markup_get_created in epdfinfo-poppler-hack.o
  "_g_ucs4_to_utf8", referenced from:
      __xpoppler_goo_string_to_utf8 in epdfinfo-poppler-hack.o
  "_g_utf8_offset_to_pointer", referenced from:
      _cmd_charlayout in epdfinfo-epdfinfo.o
  "_g_utf8_strlen", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
  "_gzclose", referenced from:
      _synctex_reader_free in libsynctex.a(libsynctex_a-synctex_parser.o)
      _synctex_reader_init_with_output_file in libsynctex.a(libsynctex_a-synctex_parser.o)
      _synctex_scanner_free in libsynctex.a(libsynctex_a-synctex_parser.o)
      _synctex_scanner_parse in libsynctex.a(libsynctex_a-synctex_parser.o)
      _synctex_updater_new_with_output_file in libsynctex.a(libsynctex_a-synctex_parser.o)
      __synctex_updater_close_gz in libsynctex.a(libsynctex_a-synctex_parser.o)
      ___synctex_open_v2 in libsynctex.a(libsynctex_a-synctex_parser.o)
      ...
  "_gzerror", referenced from:
      __synctex_buffer_get_available_size in libsynctex.a(libsynctex_a-synctex_parser.o)
  "_gzopen", referenced from:
      _synctex_updater_new_with_output_file in libsynctex.a(libsynctex_a-synctex_parser.o)
      ___synctex_open_v2 in libsynctex.a(libsynctex_a-synctex_parser.o)
  "_gzread", referenced from:
      __synctex_buffer_get_available_size in libsynctex.a(libsynctex_a-synctex_parser.o)
  "_gzseek", referenced from:
      __synctex_match_string in libsynctex.a(libsynctex_a-synctex_parser.o)
  "_gztell", referenced from:
      __synctex_match_string in libsynctex.a(libsynctex_a-synctex_parser.o)
  "_gzwrite", referenced from:
      __synctex_updater_print_gz in libsynctex.a(libsynctex_a-synctex_parser.o)
  "_pdfDocEncoding", referenced from:
      __xpoppler_goo_string_to_utf8 in epdfinfo-poppler-hack.o
  "_png_create_info_struct", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_create_write_struct", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_destroy_write_struct", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_init_io", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_set_IHDR", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_set_compression_level", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_set_filter", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_set_longjmp_fn", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_write_end", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_write_info", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_png_write_row", referenced from:
      _image_write in epdfinfo-epdfinfo.o
  "_poppler_action_free", referenced from:
      _cmd_outline_walk in epdfinfo-epdfinfo.o
  "_poppler_annot_file_attachment_get_attachment", referenced from:
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
  "_poppler_annot_file_attachment_get_type", referenced from:
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
  "_poppler_annot_get_annot_type", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_get_color", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_get_contents", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_get_flags", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_get_modified", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_get_page_index", referenced from:
      _cmd_getannot in epdfinfo-epdfinfo.o
      _cmd_delannot in epdfinfo-epdfinfo.o
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_get_type", referenced from:
      _xpoppler_annot_markup_get_created in epdfinfo-poppler-hack.o
  "_poppler_annot_mapping_free", referenced from:
      _cmd_delannot in epdfinfo-epdfinfo.o
      _free_document in epdfinfo-epdfinfo.o
  "_poppler_annot_mapping_new", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_get_label", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_get_opacity", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_get_popup_is_open", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_get_popup_rectangle", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_get_subject", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_get_type", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
      _cmd_getattachment_from_annot in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
      _xpoppler_annot_markup_get_created in epdfinfo-poppler-hack.o
  "_poppler_annot_markup_has_popup", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_set_label", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_set_opacity", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_set_popup", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_markup_set_popup_is_open", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_set_color", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_set_contents", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_set_flags", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_get_icon", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_text_get_is_open", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_text_get_state", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_text_get_type", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_text_markup_get_quadrilaterals", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_text_markup_get_type", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_annot_text_markup_new_highlight", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_markup_new_squiggly", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_markup_new_strikeout", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_markup_new_underline", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_new", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_set_icon", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_annot_text_set_is_open", referenced from:
      _cmd_editannot in epdfinfo-epdfinfo.o
  "_poppler_attachment_save", referenced from:
      _attachment_print in epdfinfo-epdfinfo.o
  "_poppler_dest_free", referenced from:
      _action_print in epdfinfo-epdfinfo.o
  "_poppler_document_find_dest", referenced from:
      _action_print in epdfinfo-epdfinfo.o
  "_poppler_document_get_attachments", referenced from:
      _cmd_getattachments in epdfinfo-epdfinfo.o
  "_poppler_document_get_author", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_creation_date", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_creator", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_keywords", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_modification_date", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_n_pages", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_number_of_pages in epdfinfo-epdfinfo.o
      _cmd_pagelabels in epdfinfo-epdfinfo.o
      _cmd_getannots in epdfinfo-epdfinfo.o
      _free_document in epdfinfo-epdfinfo.o
      _action_print in epdfinfo-epdfinfo.o
      ...
  "_poppler_document_get_page", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_pagelinks in epdfinfo-epdfinfo.o
      _cmd_gettext in epdfinfo-epdfinfo.o
      _cmd_getselection in epdfinfo-epdfinfo.o
      _cmd_pagesize in epdfinfo-epdfinfo.o
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      ...
  "_poppler_document_get_pdf_version_string", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_producer", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_subject", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_get_title", referenced from:
      _cmd_metadata in epdfinfo-epdfinfo.o
  "_poppler_document_new_from_file", referenced from:
      _document_open in epdfinfo-epdfinfo.o
  "_poppler_document_save", referenced from:
      _cmd_save in epdfinfo-epdfinfo.o
  "_poppler_index_iter_free", referenced from:
      _cmd_outline in epdfinfo-epdfinfo.o
      _cmd_outline_walk in epdfinfo-epdfinfo.o
  "_poppler_index_iter_get_action", referenced from:
      _cmd_outline_walk in epdfinfo-epdfinfo.o
  "_poppler_index_iter_get_child", referenced from:
      _cmd_outline_walk in epdfinfo-epdfinfo.o
  "_poppler_index_iter_new", referenced from:
      _cmd_outline in epdfinfo-epdfinfo.o
  "_poppler_index_iter_next", referenced from:
      _cmd_outline_walk in epdfinfo-epdfinfo.o
  "_poppler_page_add_annot", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_page_find_text_with_options", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
  "_poppler_page_free_link_mapping", referenced from:
      _cmd_pagelinks in epdfinfo-epdfinfo.o
  "_poppler_page_get_annot_mapping", referenced from:
      _annoation_get_for_page in epdfinfo-epdfinfo.o
  "_poppler_page_get_crop_box", referenced from:
      _annotation_translate_quadrilateral in epdfinfo-epdfinfo.o
      _cmd_addannot in epdfinfo-epdfinfo.o
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_page_get_index", referenced from:
      _annotation_print in epdfinfo-epdfinfo.o
  "_poppler_page_get_label", referenced from:
      _cmd_pagelabels in epdfinfo-epdfinfo.o
  "_poppler_page_get_link_mapping", referenced from:
      _cmd_pagelinks in epdfinfo-epdfinfo.o
  "_poppler_page_get_selected_region", referenced from:
      _cmd_getselection in epdfinfo-epdfinfo.o
  "_poppler_page_get_selected_text", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_gettext in epdfinfo-epdfinfo.o
  "_poppler_page_get_selection_region", referenced from:
      _cmd_addannot in epdfinfo-epdfinfo.o
  "_poppler_page_get_size", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.o
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_pagelinks in epdfinfo-epdfinfo.o
      _cmd_gettext in epdfinfo-epdfinfo.o
      _cmd_getselection in epdfinfo-epdfinfo.o
      _cmd_pagesize in epdfinfo-epdfinfo.o
      _cmd_boundingbox in epdfinfo-epdfinfo.o
      ...
  "_poppler_page_get_text", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_charlayout in epdfinfo-epdfinfo.o
  "_poppler_page_get_text_layout", referenced from:
      _cmd_search_regexp in epdfinfo-epdfinfo.o
      _cmd_charlayout in epdfinfo-epdfinfo.o
  "_poppler_page_remove_annot", referenced from:
      _cmd_delannot in epdfinfo-epdfinfo.o
  "_poppler_page_render", referenced from:
      _image_render_page in epdfinfo-epdfinfo.o
  "_poppler_page_render_for_printing_with_options", referenced from:
      _image_render_page in epdfinfo-epdfinfo.o
  "_poppler_page_render_selection", referenced from:
      _cmd_renderpage in epdfinfo-epdfinfo.o
  "_poppler_rectangle_free", referenced from:
      _cmd_search_string in epdfinfo-epdfinfo.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[1]: *** [epdfinfo] Error 1
make: *** [all] Error 2
===========================
     Build failed.  ;o(
===========================
Note: maybe try the '-d' option.
vedang commented 2 years ago

I added an FAQ explaining the problem here: https://pdftools.wiki/96D389D8

In short, the problem is that many people are using Emacs compiled for x86_64 on the M1 Mac, which is an ARM64 architecture. There is nothing that pdf-tools can do here, but the "fix" is straightforward: Install Emacs from https://emacsformacosx.com/, which is compiled correctly.

cilia commented 2 years ago

In short, the problem is that many people are using Emacs compiled for x86_64 on the M1 Mac, which is an ARM64 architecture.

Thanks for the response.

I can confirm I've been running natively compiled arm64 Emacs from https://github.com/d12frosted/homebrew-emacs-plus, and the problem has always been there. So this is not just an incorrectly compiled Emacs issue, but something to do with epdfinfo and potentially pdf-tools too.

vedang commented 2 years ago

Hey @cilia ! I tested M-x pdf-tools-install on an M1 Mac before publishing the FAQ. I could reproduce the issue on x86_64 compiled Emacs and could not on ARM64 compiled Emacs installed from https://emacsformacosx.com/ . (i.e. everything installed smoothly on the ARM64 compiled Emacs).

At this point, I'm not sure about next steps in debugging this. If you can please read through the FAQ, remove all the pdf-tools dependencies as well as pdf-tools itself, and then reinstall from MELPA that will be great. Please let me know if you hit the problem.

cilia commented 2 years ago

Yea, it's strange. My Emacs was compiled on arm64 and process sampling confirms it, but still the same issue.

Which dependencies do I need to remove for pdf-tools? I wonder if I need to do anything to set some library paths on a M1 before compiling, e.t. PKG_CONFIG_PATH etc. Thanks.

vedang commented 2 years ago

These are the dependencies that you would install with brew: pkg-config poppler automake. You should remove / reinstall them. You can also export the PKG_CONFIG_PATH this way: export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:$(brew --prefix libffi)/lib/pkgconfig/"

(All of this is done for you in the server/autobuild script, so you can also just run ./server/autobuild from inside the pdf-tools folder)

mac230 commented 1 year ago

+1 for using the correctly compiled version and still having issues. For me, the fix was pilgix's answer here:

https://stackoverflow.com/questions/70202413/configure-pdf-tools-in-emacs-running-on-macos

Specifically, evaluating:

(use-package pdf-tools
   :ensure t
   :config
   (setenv "PKG_CONFIG_PATH" "/opt/homebrew/Cellar/zlib/1.2.13/lib/pkgconfig:/opt/homebrew/lib/pkgconfig:/opt/X11/lib/pkgconfig/:/opt/homebrew/Cellar/poppler/23.01.0/lib/pkgconfig:/opt/X11/share/pkgconfig")
   (pdf-tools-install)
   (custom-set-variables          
    '(pdf-tools-handle-upgrades t)))

in terminal emacs.

You can run terminal arm64 emacs on OSX using:

/Applications/Emacs.app/Contents/MacOS/Emacs-arm64-11 -nw