Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wxwidgets] Build error #26256

Closed
andreshs opened this issue Aug 9, 2022 · 8 comments · Fixed by #27087
Closed

[wxwidgets] Build error #26256

andreshs opened this issue Aug 9, 2022 · 8 comments · Fixed by #27087
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@andreshs
Copy link

andreshs commented Aug 9, 2022

Package: wxwidgets[core,debug-support,sound]:x64-linux -> 3.2.0
Host Environment

  • Host: x64-linux
  • Compiler: GNU 9.4.0
  • vcpkg-tool version: 2022-07-21-a0e87e227afb536c62188c11ad029954f28fdb22
    vcpkg-scripts version: 66045de 2022-07-29 (11 days ago)

To Reproduce
vcpkg install

Failure logs

-- Using cached wxWidgets-wxWidgets-v3.2.0.tar.gz.
-- Cleaning sources at /home/aschafhauser/Sources/THEOS/3rdParty/vcpkg/buildtrees/wxwidgets/src/v3.2.0-8a0adfb316.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/aschafhauser/Sources/THEOS/3rdParty/vcpkg/downloads/wxWidgets-wxWidgets-v3.2.0.tar.gz
-- Applying patch install-layout.patch
-- Applying patch relocatable-wx-config.patch
-- Applying patch nanosvg-ext-depend.patch
-- Applying patch fix-libs-export.patch
-- Applying patch fix-pcre2.patch
-- Applying patch gtk3-link-libraries.patch
-- Using source at /home/aschafhauser/Sources/THEOS/3rdParty/vcpkg/buildtrees/wxwidgets/src/v3.2.0-8a0adfb316.clean
CMake Warning at ports/wxwidgets/portfile.cmake:17 (message):
  Port wxwidgets currently requires the following packages from the system
  package manager:

      pkg-config
      GTK 3
      libsecret
      libgcrypt
      libsystemd

  These development packages can be installed on Ubuntu systems via

      sudo apt-get install pkg-config libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev

Call Stack (most recent call first):
  scripts/ports.cmake:147 (include)


CMake Error at ports/wxwidgets/portfile.cmake:29 (message):
  Port freetype must not be installed when building wxwidgets:x64-linux.
Call Stack (most recent call first):
  scripts/ports.cmake:147 (include)



Additional context

vcpkg.json
{
  "name": "main",
  "version-string": "latest",
  "dependencies": [
    "assimp",
    "bullet3",
    "bzip2",
    "curl",
    "fmt",
    "fontconfig",
    "freetype",
    "gettext",
    "glew",
    "glfw3",
    "gtest",
    "libiconv",
    "libjpeg-turbo",
    "libarchive",
    "liblzma",
    "libxml2",
    "libxslt",
    "lua",
    "openssl",
    "libpng",
    "protobuf",
    "pthread",
    "sdl2",
    "sdl2pp",
    "sdl2-gfx",
    "sdl2-image",
    "sdl2-mixer",
    "sdl2-net",
    "sdl2-ttf",
    "sqlite3",
    "tiff",
    "wxwidgets",
    "zlib"
  ]
}

@LilyWangLL LilyWangLL added the category:question This issue is a question label Aug 10, 2022
@LilyWangLL
Copy link
Contributor

Thanks for posting this issue, please install the system libraries by the following message.

  Port wxwidgets currently requires the following packages from the system
  package manager:

      pkg-config
      GTK 3
      libsecret
      libgcrypt
      libsystemd

  These development packages can be installed on Ubuntu systems via

      sudo apt-get install pkg-config libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev

@andreshs
Copy link
Author

andreshs commented Aug 10, 2022 via email

@StarGate-One
Copy link
Contributor

@andreshs

CMake Error at ports/wxwidgets/portfile.cmake:29 (message):
Port freetype must not be installed when building wxwidgets:x64-linux.

You need to remove port freetype ./vcpkg remove freetype before vcpkg will allow wxwidgets to be installed.

@andreshs
Copy link
Author

andreshs commented Aug 11, 2022

Thanks @StarGate-One,

I am using a manifest consequently I get the following:

aschafhauser@ubuntu:~/Sources/TESTVCPKG$ ./3rdParty/vcpkg/vcpkg remove freetype
To remove dependencies in manifest mode, edit your manifest (vcpkg.json) and run 'install'.
note: updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure.

I removed explicitly freetype form the manifest but looks like gets pulled as dependencies from other packages - here is my config json file:

{ "name": "main", "version-string": "latest", "dependencies": [ "wxwidgets", "assimp", "bullet3", "bzip2", "curl", "fmt", "fontconfig", "gettext", "glew", "glfw3", "gtest", "libiconv", "libjpeg-turbo", "libarchive", "liblzma", "libxml2", "libxslt", "lua", "openssl", "libpng", "protobuf", "pthread", "sdl2", "sdl2pp", "sdl2-gfx", "sdl2-image", "sdl2-mixer", "sdl2-net", "sdl2-ttf", "sqlite3", "tiff", "zlib" ] }
Best,
Andres.

@StarGate-One
Copy link
Contributor

Hi @andreshs
I use vcpkg in classic mode on windows, so registries and manifests are not familiar for me. I just reviewed the output provided and studied the portfile.cmake for wxwidgets to see the message - evidently there is a conflict between the ports wxwidgets and freetype.
I would summarize that most likely the sdl2 ports is what needs the port freetype. Maybe a choice needs to be made, do I need wxwidgets or do I need sdl2? Maybe trying to create 2 instances of vcpkg, one for wxwidgets and one for sdl2? There are port conflicts from time to time and sometimes it takes some ingenuity to figure out ways around the conflicts.
Maybe someone else has seen this issue and has a fix or usable solution.
Thank you,

@LilyWangLL LilyWangLL added requires:repro The issue is not currently repro-able and removed category:question This issue is a question labels Sep 9, 2022
@jleaders
Copy link

jleaders commented Oct 1, 2022

When the error states the freetype port has to be removed, it means basically if any package in your vcpkg.json manifest imports freetype it will fail. It's likely another 2D drawing package that imports it. I had to remove gtkmm for example

@andreshs
Copy link
Author

andreshs commented Oct 1, 2022

Thanks - I realized was freetype as well and decided to abandon vcpkg all together and rather build all the 3rd party libs as part of my project to really keep the whole project to build in any platform - vcpkg doesn't seem mature enough for larger projects. @StarGate-One - my project generates several binaries - some with SDL some with wxWindows and even some Qt now - I tried 2 instances of vcpkg and got myself on a mess. All of this libraries have cross platform cmake ready so that was my way out...

Thanks everyone for chiming in!

@dg0yt
Copy link
Contributor

dg0yt commented Oct 3, 2022

Port gtk3 was merged a few hours ago (#27026), so now we can move on with ports wxwidgets, #27087.

@LilyWangLL LilyWangLL added category:port-bug The issue is with a library, which is something the port should already support and removed requires:repro The issue is not currently repro-able labels Oct 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants