El diumenge, 17 de setembre de 2017, a les 18:30:08 CEST, Adrian Johnson va escriure: > On 06/09/17 03:03, Albert Astals Cid wrote: > > El dimarts, 5 de setembre de 2017, a les 8:14:56 CEST, Adrian Johnson va > > > > escriure: > >> On 05/09/17 06:39, Albert Astals Cid wrote: > >>> El dilluns, 4 de setembre de 2017, a les 7:52:39 CEST, Adrian Johnson va > > > > escriure: > >>>> On 04/09/17 06:12, Albert Astals Cid wrote: > >>>>> El diumenge, 3 de setembre de 2017, a les 14:24:16 CEST, Adrian > >>>>> Johnson > >>>>> va > >>>>> > >>>>> escriure: > >>>>>> I managed to get it working. See attached patch. The problem seems to > >>>>>> be > >>>>>> that pkg_check_modules does not return the absolute path of the > >>>>>> shared > >>>>>> libraries. There is a bug for this at > >>>>>> https://cmake.org/Bug/view.php?id=15804. > >>>>>> > >>>>>> Is there a better way to handle this? > >>>>> > >>>>> That's a really weird patch, cna you tell me exactly how is your setup > >>>>> so > >>>>> i > >>>>> can try reproducing the problem you have? > >>>> > >>>> Attached is a script to reproduce it. It downloads and installs the > >>>> latest cairo development snapshot to a custom prefix. Then patches > >>>> poppler to use the new API in this version of cairo and tries to build > >>>> it. > >>> > >>> Another fix is using this patch. > >> > >> That works. Although I thought I tried that before. Probably also needs > >> freetype listed as I sometimes build freetype from git. > > > > Ok, i'll commit, let's add freetype if needed when you can try that > > scenario, maybe it's not needed (don't know if gtk libraries pulls > > freetype). > So now I've run into the same problem with freetype. Cairo 1.15.8 uses > FT_Get_Var_Design_Coordinates() if freetype >= 2.8.0. With these > versions of cairo and freetype installed to a custom location and > PKG_CONFIG_PATH pointing at them, linking pdftocairo fails because > poppler has found my custom built cairo but is linking with the system > freetype. > > I tried adding FREETYPE_LIBRARIES to the target_link_libraries but this > did not work. The problem seems to be poppler is using find_package() to > find freetype. But find_package() doesn't use pkg-config and finds the > system freetype instead.
Have you tried using FREETYPE_DIR as suggested in /usr/share/cmake-3.7/Modules/FindFreetype.cmake ? Cheers, Albert > > I changed CMakeLists.txt to use pkg_check_modules to find freetype. Now > it finds my custom freetype but still tries to link with the system > freetype because it doesn't have the absolute path to the freetype > library. Which is due to this bug https://cmake.org/Bug/view.php?id=15804. > > The attached patch works for me. Is there a standard cmake way of > handling pkg-config based libraries in non standard locations? I expect > the same problem will occur with every pkg-config based library we use > > > Cheers, > > > > Albert > > > >>> Seems less bad than the last one you sent (which tbh i didn't undestand > >>> at > >>> all), no? > >> > >> I was trying to avoid listing both "-lcairo" and /path/to/my/libcairo.so > >> in the linker command line. FindCairo.cmake was using find_library to > >> get the absolute path while FindGTK.cmake was not. > >> > >>> Cheers, > >>> > >>> Albert > >>> > >>> _______________________________________________ > >>> poppler mailing list > >>> [email protected] > >>> https://lists.freedesktop.org/mailman/listinfo/poppler > >> > >> _______________________________________________ > >> poppler mailing list > >> [email protected] > >> https://lists.freedesktop.org/mailman/listinfo/poppler > > > > _______________________________________________ > > poppler mailing list > > [email protected] > > https://lists.freedesktop.org/mailman/listinfo/poppler _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
