cogentcore / core

A free and open source framework for building powerful, fast, elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web with a single Go codebase, allowing you to Code Once, Run Everywhere.
http://cogentcore.org/core
BSD 3-Clause "New" or "Revised" License
1.75k stars 82 forks source link

Installation issue feedback #1294

Open 0pcom opened 2 days ago

0pcom commented 2 days ago

Describe the bug

Two main points:

1)

https://www.cogentcore.org/core/setup/install

The <code> </code> blocks are not directly highlight-able (with brave browser on amd64 linux) which makes it basically impossible to copy only the installation command itself for cogentcore.

The only easy way to do it to highlight the whole line and do ctrl + C ; paste into an editor, and then copy the command to the terminal. Or manually type the whole thing.

it would be preferable if the installation command (or generally code blocks) had the behavior of single click copy

Additionally, the setup documentation assumes that you have GOPATH set correctly and that your GOBIN was already added to your PATH ; but this should be made explicit and not just assumed as it might confuse people.

2)

core setup may be easy enough to remember or run, but it actually did not work for me on archlinux with my specific hardware, to install all the correct dependencies (#1223).

I recommend that the cogentcore/core runtime dependencies (installed by core setup) be listed somewhere in the installation documentation - even if this information is not useful to most people.

If cogentcore was packaged and installed as a package by the package manager on linux, installing it's runtime dependencies should be handled by the package manager. And it's deps should be installed as dependencies of cogentcore and not explicitly.

However, I assume the exact dependencies vary based on the hardware & os ; and core setup is supposed to detect this. That might be challenging to handle by the package manager automatically. It might work best with different flavors (so to speak) of the package which are intended for specific hardware and which include the specific runtime deps used by cogentcore for that hardware.

Still, i suggest informing the user of the dependencies for different hardware and operating systems, even if this is on a different page of documentation from the setup installation page.

How to reproduce

1) attempt to copy the installation command from here https://www.cogentcore.org/core/setup/install

2) N/A

Example code

No response

Relevant output

No response

Platform

Web

kkoreilly commented 2 days ago

Thank you for the feedback. We are aware of both of those issues and are working on fixing them. The first issue will be resolved by #1051, and we may restructure the install documentation in the meantime such that it is easier to copy. For the second point, I am currently working on #1292 to fix that after receiving similar feedback in #1275 and #1260. I will also add documentation regarding Vulkan on other distros such as Arch Linux as part of that.

0pcom commented 2 days ago

Is it possible to statically compile core itself? If I'm not mistaken it uses CGO, so it should actually make it more distribute-able if i'm not mistaken.

Is it possible to create statically compiled (with musl) apps built with core? Non web-apps of course.

kkoreilly commented 2 days ago

Are you asking about using Cogent Core as a static library / building static libraries with core? That might be theoretically possible, but I'm not sure that it would make sense relative to direct linking using Go. We are planning to improve cross-compiling support soon, but if there is any other reason using Cogent Core as a static library would be helpful, I can consider it.