gwaldron / osgearth

3D Maps for OpenSceneGraph / C++14
https://www.pelicanmapping.com/home-1/opensource
Other
1.47k stars 772 forks source link

osgearth_version started complaining about fontconfig-1.dll entry point FT_Get_BDF_Property #2591

Open yunusyurtturk opened 1 month ago

yunusyurtturk commented 1 month ago

osgEarth Version (required): 3.6

What is the problem? I was able to call 'osgearth_version.exe --caps' to query the version. However, today I made a clean build today and it started complaining.

When I call the executable, I get:

Entry Point Not Found The procedure entry point FT_Get_BDF_Property could not be located in the dynamic link library .../osgearth/build/vcpkg_installed/x64-windows/bin/fontconfig-1.dll

How have you tried to resolve it? I tried with previous versions yesterday, 3.4 and 3.5 and they were producing output so there was something working. Today, I wiped everything (osgEarth build files and vcpkg) and built osgEarth 3.6.

Help US help YOU: include a screenshot, code block, or data file that we can use to reproduce the issue!

image

I found there is an update made to fontconfig package here, 11 hours ago, may be related: https://github.com/gwaldron/osgearth/pkgs/nuget/fontconfig_x64-windows

yunusyurtturk commented 1 month ago

I see there is a #define something like

define HAVE_FT_GET_BDF_PROPERTY 1 in sources

https://github.com/search?q=FT_GET_BDF_Property&type=code

https://www.google.com/search?q=fontconfig+FT_Get_BDF_Property&oq=fontconfig+FT_Get_BDF_Property&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIKCAEQABiABBiiBDIGCAIQRRg90gEIMjAwMmowajeoAgCwAgA&sourceid=chrome&ie=UTF-8

plevy commented 1 month ago

I haven't looked at the portfile change yet but until vcpkg updates, you can build without fontconfig vcpkg.exe install osg[core,plugins,tools]:x64-windows

plevy commented 1 month ago

After poking around with this, can you double check that you don't have another fontconfig dll in your path? I went through and removed/deleted the fontconfig, osg, and osgearth files and it seems to be working for me with fontconfig

yunusyurtturk commented 1 month ago

Yeap, I checked and there is no dll conflict. All fontconfig-1.dll results are identical. However, now realizing that... FT_Get_BDF_Property is part of freetype.dll, not fontconfig-1.dll. It seems there is a dependency fontconfig-1.dll->freetype.dll Maybe I should have checked freetype.dll instead of fontconfig-1.dll because FT_Get_BDF_Property is a function defined in freetype.dll

yunusyurtturk commented 1 month ago

Hi @plevy
There is also a similar issue with osgdb_zip.dll. The installed(vcpkg) osgdb_zip.dll usage gives an error saying 'zip_close'

image

I have other versions of osgdb_zip.dll and make it work by manually replacing with one of them.