Skip to content

[V8] getsectdatafromheader_64 is deprecated in macOS 13.0 #45

Closed

Description

@KianNH

Builds on macOS 13.0 will fail since getsectdatafromheader_64 is deprecated as of 13.0, replaced by getsectiondata(). This is in V8's codebase as opposed to workerd, so it may just be worth noting in the README (or not, since 13.0 is still in beta).

Culprit file

V8: external/v8/src/base/platform/platform-darwin.cc:56:22

Build output

external/v8/src/base/platform/platform-darwin.cc:56:22: error: 'getsectdatafromheader_64' is deprecated: first deprecated in macOS 13.0 [-Werror,-Wdeprecated-declarations]
    char* code_ptr = getsectdatafromheader_64(
                     ^~~~~~~~~~~~~~~~~~~~~~~~
                     use getsectiondata()
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/mach-o/getsect.h:130:14: note: 'getsectdatafromheader_64' has been explicitly marked deprecated here
extern char *getsectdatafromheader_64(
             ^
1 error generated.
Target //src/workerd/server:workerd failed to build

System information

System Version:	macOS 13.0 (22A5352e)
Kernel Version:	Darwin 22.1.0

Activity

  1. added
    bugSomething isn't working
    macospresent in workerd on macOS
    on Sep 28, 2022
  2. kentonv commented on Sep 28, 2022

    @kentonv
    Member

    Hmm, we should figure out how to build V8 with warnings not treated as errors, otherwise we're going to be persistently running into problems like this where something was deprecated but V8 hasn't handled it yet.

    Or maybe we should blanket disable warnings when compiling dependencies... it's not like we're going to go fix their warnings.

  3. jasnell commented on Sep 29, 2022

    @jasnell
    Collaborator

    Disabling them makes sense but I'd still like to be able to bring them back optionally. Can we turn them off by default and have an option to show them? They often give us a good heads up on upcoming changes.

  4. kentonv commented on Sep 29, 2022

    @kentonv
    Member

    @jasnell To be clear I think we still want warnings when our own code uses deprecated V8 APIs. What we don't want is warnings when V8 internal code uses deprecated APIs from its own dependencies.

  5. dio commented on Oct 27, 2022

    @dio
    Contributor

    @KianNH I can successfully compile on Ventura (macOS 13) by using: https://github.com/cloudflare/workerd/compare/main...dio:workerd:allow-catalina-ventura.patch?full_index=1 (basically to achieve this: #45 (comment)). Not sure if this is the right way here (by introducing another v8 patch).

    Note: the above patch also contains -Wno-range-loop-analysis just in case people want to build it on Catalina (10.15) as well.
    Relevant: https://bugs.chromium.org/p/v8/issues/detail?id=13428.

    Also, do you have a plan allowing people to install this via homebrew? I can try to set up the formula if it is desirable (it has releases).

    Thank you!

  6. caass commented on Nov 8, 2022

    @caass
    Contributor

    Just bumping to say this now breaks building workerd on the latest Xcode

    ETA workaround:

    1. Uninstall Xcode 14.1 (drag from Applications -> Trash)
    2. Install Xcode 14.0.1 (Download link, needs Apple Developer Account)
    3. Extract archive and drag to Applications
    4. Open new (old) Xcode once
    5. Run bazel clean --expunge in workerd directory
    6. bazel build should work now
  7. dio commented on Nov 8, 2022

    @dio
    Contributor
  8. lgyhit commented on Dec 23, 2022

    @lgyhit
  9. lgyhit commented on Dec 23, 2022

    @lgyhit

    Disabling them makes sense but I'd still like to be able to bring them back optionally. Can we turn them off by default and have an option to show them? They often give us a good heads up on upcoming changes.

    how can i disable them, i can't turn it off, this makes me feel confused.

  10. kentonv commented on Dec 23, 2022

    @kentonv
    Member

    @lgyhit Nice patch, if you send a pull request I'll merge it.

  11. mrbbot commented on Jan 16, 2023

    @mrbbot
    Contributor

    Hey @dio! Would you be interested in submitting a PR containing your patch?

  12. dio commented on Jan 17, 2023

    @dio
    Contributor

    @mrbbot I have submitted it here: #276.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmacospresent in workerd on macOS

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions