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

Initial wasm commit including pxr/base #3469

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

kohakukun
Copy link
Contributor

Description of Change(s)

  • Add support for building pxr/base with Emscripten

Test can be run using ctest with the result:
79% tests passed, 22 tests failed out of 106

Some details about the failed tests:

Test Name Error Message
testArchAbi Dynamic library limitation
testArchFileSystem Problem creating a file due to environment
testArchStackTrace Problem creating a file due to environment
testArchSymbols Dynamic library limitation
testArchSystemInfo Problem accessing a file in filesystem due to environment
TfAtomicOfstreamWrapper Cannot create a log file
TfDl Dynamic library limitation
TfEnvSetting Error: return code 7 doesn't match expected 0 (EXPECTED_RETURN_CODE)
TfException Throws but it is not caught
TfFileUtils Cannot create a log file
TfPathUtils Assumes preloaded files
TfPointerAndBits Issue with 32 bits architecture
TfSafeOutputFile Issues accessing filesystem
testJsIO_PlugInfo Fails because it cannot read the baseline
testJsIO_Values Fails because it cannot read the baseline
testJsIO_Errors_BadCommaPlacement Cannot open json file
testJsIO_Errors_MismatchedBraces Cannot open json file
testJsConverter Fails because it cannot read the baseline
testJsWriter Fails because it cannot read the baseline
testJsWriter_Pretty Fails because it cannot read the baseline
testWorkThreadLimitsRawTBBMax
testWorkThreadLimitsRawTBB2

The change in pxr/base/arch/attributes.h was required since static constructors dont support parameters with an error
wasm-ld: error: constructor functions cannot take arguments: _Tf_RegistryAdd91(RegRegistry*)

Checklist

[ X ] I have created this PR based on the dev branch

[ X ] I have followed the coding conventions

[ ] I have added unit tests that exercise this functionality (Reference:
testing guidelines)

[ ] I have verified that all unit tests pass with the proposed changes

[ X ] I have submitted a signed Contributor License Agreement (Reference:
Contributor License Agreement instructions)

- Add support for building pxr/base with Emscripten

Test can be run using ctest with the result:
79% tests passed, 22 tests failed out of 106

Some details about the failed tests:

  | Test Name                        | Error Message                                                      |
  |----------------------------------|--------------------------------------------------------------------|
  | testArchAbi                      | Dynamic library limitation                                         |
  | testArchFileSystem               | Problem creating a file due to environment                         |
  | testArchStackTrace               | Problem creating a file due to environment                         |
  | testArchSymbols                  | Dynamic library limitation                                         |
  | testArchSystemInfo               | Problem accessing a file in filesystem due to environment          |
  | TfAtomicOfstreamWrapper          | Cannot create a log file                                           |
  | TfDl                             | Dynamic library limitation                                         |
  | TfEnvSetting                     | Error: return code 7 doesn't match expected 0 (EXPECTED_RETURN_CODE)|
  | TfException                      | Throws but it is not caught                                        |
  | TfFileUtils                      | Cannot create a log file                                           |
  | TfPathUtils                      | Assumes preloaded files                                            |
  | TfPointerAndBits                 | Issue with 32 bits architecture                                    |
  | TfSafeOutputFile                 | Issues accessing filesystem                                        |
  | testJsIO_PlugInfo                | Fails because it cannot read the baseline                          |
  | testJsIO_Values                  | Fails because it cannot read the baseline                          |
  | testJsIO_Errors_BadCommaPlacement| Cannot open json file                                              |
  | testJsIO_Errors_MismatchedBraces | Cannot open json file                                              |
  | testJsConverter                  | Fails because it cannot read the baseline                          |
  | testJsWriter                     | Fails because it cannot read the baseline                          |
  | testJsWriter_Pretty              | Fails because it cannot read the baseline                          |
  | testWorkThreadLimitsRawTBBMax    |                                                                    |
  | testWorkThreadLimitsRawTBB2      |                                                                    |

The change in pxr/base/arch/attributes.h was required since static constructors
dont support parameters with an error
`wasm-ld: error: constructor functions cannot take arguments: _Tf_RegistryAdd91(RegRegistry*)`
@jesschimein
Copy link
Collaborator

jesschimein commented Dec 18, 2024

Filed as internal issue #USD-10518

✅ CLA on file

(This is an automated message. See here for more information.)

@jesschimein
Copy link
Collaborator

/AzurePipelines run

Copy link

Pull request contains merge conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants