Skip to content

Conversation

@Nicky-D
Copy link
Contributor

@Nicky-D Nicky-D commented Mar 31, 2024

This will (mostly) bring a buildable Linux viewer.

  • Update viewer to SDL2, as SDL1 is way too outdated
  • Update all other 3Ps to up to date version from LL's org
  • Remove fontconfig and rather use the system one
  • Update gstreamer plugin to gstreamer-1

There's still a few rough edges:

  • No CEF (was not working before either) (coming in another PR after this via dullahan / viewer
  • VRAM detection will not work (can be made to work, but again how to create a new repo in the LL org?)

# Removed
- SDL1 (switch to system package of SDL2)
- fontconfig/freetype (switch to system packages)
- gtk/atk/pango/glib
  - glib > system packages
  - atk/gtk -> fltk system packages
# Add
  - meshoptimizer [^1]
  - mikktspace
# Update
  - apr
  - boost
  - colladadom
  - cubemaptoequirectangular [^1]
  - jpegencoderbasic [^1]
  - threejs [^1]
  - curl
  - libxml2
  - ogg vorbis
  - pcre

[^1]: Pending PR to get a Linden 3P URL
- Reorder libraries for correct linkinh
- Use ccache if found
- Remove 32 bit smipped
- Add linker options via add_link_options rather than setting CMAKE variables
Those are pulling in glib/gio/gstreamer from systemlibs.

- For gstreamer that is not too much of a problem. Only header files are used.
- GLIB/GIO are linked, but at least they are very stable APIs/ABIs
Nicky-D and others added 10 commits April 3, 2024 12:50
… seem to be well guarded by a llassert_always and thus are unreachable
The intent of that LL_DEBUGS seems unclear. I'd wager it does not log anything at all

error: statement has no effect [-Werror=unused-value]
  387 |                         _out
      |                         ^~~~
note: in expansion of macro ‘lllog_test_’
  381 |                 lllog_test_()
      |                 ^~~~~~~~~~~
note: in expansion of macro ‘lllog’
  429 | #define LL_DEBUGS(...)  lllog(LLError::LEVEL_DEBUG, false, ##__VA_ARGS__)
      |                         ^~~~~
note: in expansion of macro ‘LL_DEBUGS’
  830 |         LL_DEBUGS("LogViewerStatsPacket");
      |         ^~~~~~~~~
@AiraYumi AiraYumi mentioned this pull request Apr 3, 2024
Nicky-D added 2 commits April 3, 2024 16:24
…selves and search the static lib.

The lib also needs a few more requirements. For future maybe it would be better to search them via cmake?
@Nicky-D
Copy link
Contributor Author

Nicky-D commented Apr 3, 2024

@marchcat / @bennettgoble / @nat-goodspeed
I did update this with the correct icu4c, freetype.
Created an example linux GHA yml and resolved all the errors. Resulting in a successful build (ReleaseOS) under my account.
The yml obviously needs some love (or to be pulled) as it serves just as a bare bones skeleton.
Otherwise IMO this is in a state that can be merged as a first step to build a viewer.
Everything else could be taken from there.

@Nicky-D Nicky-D changed the title Enable building a Linux viewer Linux viewer (ReleaseOS) resurrection Apr 3, 2024
Copy link
Contributor

@marchcat marchcat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nicky-D, thank you very much!

@marchcat
Copy link
Contributor

marchcat commented Apr 3, 2024

@bennettgoble, @nat-goodspeed,
any objections to merging this?

Copy link
Contributor

@bennettgoble bennettgoble left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, sans some nit picks. Once this is integrated we can consider rolling linux builds into the main ci.yaml file and discuss distribution strategy, next steps.

@marchcat
Copy link
Contributor

marchcat commented Apr 5, 2024

@Nicky-D, do you plan any more changes for this PR? I'll merge it if not.

@Nicky-D
Copy link
Contributor Author

Nicky-D commented Apr 5, 2024

@marchcat please merge it, this will give a baseline to base new PRs on

@marchcat marchcat merged commit 57d4237 into secondlife:release/maint-b Apr 5, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 5, 2024
@vir-linden vir-linden self-requested a review April 10, 2024 13:47
@Nicky-D Nicky-D deleted the feature/linux_build branch October 4, 2024 15:06
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants