Skip to content

Update install dependency for Ubuntu 22.04 for 'Desktop support for Flutter': Linux "additional requirements" section #8016

Description

@maks

Page URL

https://docs.flutter.dev/development/platform-integration/desktop#additional-linux-requirements

Page source

https://github.com/flutter/website/tree/main/src/development/platform-integration/desktop.md#additional-linux-requirements

Describe the problem

Currently the section has this text:

Run the following command

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev

This is now missing libstdc++-12-dev as was covered in flutter/flutter#115909 (comment)

I tested this on Ubuntu 22.04.1 which the current LTS release and got the same error is in this comment when trying to run a app created with flutter create test_linux installing libstdc++-12-dev with apt, running flutter clean again and then running allowed the counter app to run as expected.

Expected fix

Change line to read:

sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev

Additional context

No response

Activity

  1. changed the title [-]Linux Desktop app page is missing newly required install dependency for Ubuntu 22.04[/-] [+][PAGE ISSUE]: 'Desktop support for Flutter': Linux "additional requirements" section is missing newly required install dependency for Ubuntu 22.04[/+] on Dec 30, 2022
  2. added
    p2-mediumNecessary but not urgent concern. Resolve when possible.
    and removed
    st.triage.triage-teamTriage team reviewing and categorizing the issue
    on Dec 30, 2022
  3. parlough commented on Jan 31, 2023

    @parlough
    Member

    @cbracken Wasn't sure who to reach out to, but do you know if adding libstdc++-12-dev to the list of packages for Linux desktop support is the correct solution here? Is there a good way we can stay up to date with the requirements?

  4. maks commented on Feb 1, 2023

    @maks
    Author

    @parlough as I understood it, the added dependency on the libstdc++-12-dev came about because that version of the c++ std lib package was no longer an implicit transient dependency of one of the other listed dependencies. I suspect this wouldn't happen very often in the future but I guess the best way to spot this in the future would be CI machines failing because they don't have the required dependency?

  5. parlough commented on Feb 1, 2023

    @parlough
    Member

    Thanks for the extra context @maks, makes sense!

  6. kriswuollett commented on Feb 2, 2023

    @kriswuollett

    Just encountered this as well. At least regarding addressing the issue in the website docs, I'd like to suggest adding a tabbed example code box that can accommodate a few of the most widely used Linux distributions to show the command line(s) to make sure the packages are installed, e.g., the tabbed-format used in Google Cloud docs which has a cool dropdown for tabs overflow.

  7. added a commit that references this issue on Apr 10, 2023
    f852a4b
  8. fertrig commented on May 16, 2023

    @fertrig

    This change went in on early April. However, I don't see the change on the live website yet.

    How often are the website changes published?

  9. 12 remaining items

  10. sfshaza2 commented on Jul 12, 2023

    @sfshaza2
    Contributor

    @cbracken @gnprice, yes this is very possible! You can create the text as an include. The include can be local (say if multiple files in the same directory used the text), or it can be global. To see the global include files, check out the /src/_includes/docs directory in the repo.

    To include it in the markdown file, use:

    {% include docs/<file>.md %}
    

    If you create the include file locally, prefix the file name with an underscore. Include that text as follows:

    {% include_relative _<file>.md %}
    
  11. sfshaza2 commented on Jul 12, 2023

    @sfshaza2
    Contributor

    BTW, I also like the tabbed content idea. We can do that, too. For example, see: https://docs.flutter.dev/get-started/editor?tab=vscode

  12. parlough commented on Aug 21, 2023

    @parlough
    Member

    Thanks everyone for the discussion! Fixed by 91e4cd5 which uses includes to share the updated information.

  13. gnprice commented on Aug 23, 2023

    @gnprice
    Member

    Great, that causes both pages to have the updated command.

    The bulleted list in the text is still missing the new dependency libstdc++-12-dev, though:
    image
    so I think this isn't yet entirely fixed.

    (It'd probably also be a good idea to add some sort of comment in each of those files linux-requirements-command.md and liinux-requirements-list.md mentioning it should be kept in sync with the other file. Otherwise it'd be very easy for the next update to happen on only one or the other, too.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

cl.fixedIssue is closed as fixeddevos.LinuxRelates to developing apps on the Linux platforme1-hoursEffort: < 8 hrsfrom.page-issueReported in a reader-filed concernp2-mediumNecessary but not urgent concern. Resolve when possible.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions