FreeBSD install instructions out of date #241

Closed
opened 2025-11-01 20:51:43 -05:00 by GiteaMirror · 10 comments
Owner

Originally created by @psa on GitHub (Jun 24, 2024).

Description

Couldn't find the repo containing https://vikunja.io/docs/installing/#freebsd--freenas so I'm noting it here.

The FreeBSD install docs need some updates to work around linux only binary installs.

Adjustments I needed to make:

Disable Linux only binary installs:

export PUPPETEER_SKIP_DOWNLOAD=1
export CYPRESS_INSTALL_BINARY=0

pkg install -y sentry-cli

Remove sentry/cli from pnpm-lock.yaml (we've installed it above)

Add to package.json:

"resolutions": {
    "rollup": "npm:@rollup/wasm-node"
  },

Build frontend:

cd frontend
pnpm install
pnpm run build

Build backend:

cd ..
mage build

Vikunja Version

HEAD

Browser and version

No response

Can you reproduce the bug on the Vikunja demo site?

Yes

Screenshots

No response

Originally created by @psa on GitHub (Jun 24, 2024). ### Description Couldn't find the repo containing https://vikunja.io/docs/installing/#freebsd--freenas so I'm noting it here. The FreeBSD install docs need some updates to work around linux only binary installs. Adjustments I needed to make: Disable Linux only binary installs: ``` export PUPPETEER_SKIP_DOWNLOAD=1 export CYPRESS_INSTALL_BINARY=0 pkg install -y sentry-cli ``` Remove sentry\/cli from pnpm-lock.yaml (we've installed it above) Add to package.json: ``` "resolutions": { "rollup": "npm:@rollup/wasm-node" }, ``` Build frontend: ``` cd frontend pnpm install pnpm run build ``` Build backend: ``` cd .. mage build ``` ### Vikunja Version HEAD ### Browser and version _No response_ ### Can you reproduce the bug on the Vikunja demo site? Yes ### Screenshots _No response_
Author
Owner

@kolaente commented on GitHub (Jun 25, 2024):

The changes to package.json should not be necessary. What error message did you get?

@kolaente commented on GitHub (Jun 25, 2024): The changes to package.json should not be necessary. What error message did you get?
Author
Owner

@psa commented on GitHub (Jun 25, 2024):

Rollup doesn't have a FreeBSD build and their error recommends the WASM build.

pnpm run build

> vikunja-frontend@0.10.0 build /usr/home/psa/code/vikunja/frontend
> vite build && workbox copyLibraries dist/

/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:84
	throw new Error(
	      ^

Error: Your current platform "freebsd" and architecture "x64" combination is not yet supported by the native Rollup build. Please use the WASM build "@rollup/wasm-node" instead.

The following platform-architecture combinations are supported:
android-arm
android-arm64
darwin-arm64
darwin-x64
linux-arm
linux-arm (musl)
linux-arm64
linux-arm64 (musl)
linux-ppc64
linux-riscv64
linux-s390x
linux-x64
linux-x64 (musl)
win32-arm64
win32-ia32
win32-x64

If this is important to you, please consider supporting Rollup to make a native build for your platform and architecture available.
    at throwUnsupportedError (/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:84:8)
    at getPackageBase (/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:75:3)
    at Object.<anonymous> (/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:37:21)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at cjsLoader (node:internal/modules/esm/translators:356:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:218:25)

Node.js v20.11.1
 ELIFECYCLE  Command failed with exit code 1.
@psa commented on GitHub (Jun 25, 2024): Rollup doesn't have a FreeBSD build and their error recommends the WASM build. ``` pnpm run build > vikunja-frontend@0.10.0 build /usr/home/psa/code/vikunja/frontend > vite build && workbox copyLibraries dist/ /usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:84 throw new Error( ^ Error: Your current platform "freebsd" and architecture "x64" combination is not yet supported by the native Rollup build. Please use the WASM build "@rollup/wasm-node" instead. The following platform-architecture combinations are supported: android-arm android-arm64 darwin-arm64 darwin-x64 linux-arm linux-arm (musl) linux-arm64 linux-arm64 (musl) linux-ppc64 linux-riscv64 linux-s390x linux-x64 linux-x64 (musl) win32-arm64 win32-ia32 win32-x64 If this is important to you, please consider supporting Rollup to make a native build for your platform and architecture available. at throwUnsupportedError (/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:84:8) at getPackageBase (/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:75:3) at Object.<anonymous> (/usr/home/psa/code/vikunja/frontend/node_modules/.pnpm/rollup@4.18.0/node_modules/rollup/dist/native.js:37:21) at Module._compile (node:internal/modules/cjs/loader:1376:14) at Module._extensions..js (node:internal/modules/cjs/loader:1435:10) at Module.load (node:internal/modules/cjs/loader:1207:32) at Module._load (node:internal/modules/cjs/loader:1023:12) at cjsLoader (node:internal/modules/esm/translators:356:17) at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:305:7) at ModuleJob.run (node:internal/modules/esm/module_job:218:25) Node.js v20.11.1  ELIFECYCLE  Command failed with exit code 1. ```
Author
Owner

@dpschen commented on GitHub (Jun 27, 2024):

You might need to use pnpm overwrites to resolve rollup to @rollup/wasm-node. See this issue.

@dpschen commented on GitHub (Jun 27, 2024): You might need to use [pnpm overwrites](https://pnpm.io/package_json#pnpmoverrides) to resolve rollup to @rollup/wasm-node. See [this issue](https://github.com/vitejs/vite/issues/15122#issuecomment-1824234247).
Author
Owner

@kolaente commented on GitHub (Jun 30, 2024):

@dpschen Is that something you'd need to configure every time when building on FreeBSD? Or something we could add into Vikunja's package.json in general?

@kolaente commented on GitHub (Jun 30, 2024): @dpschen Is that something you'd need to configure every time when building on FreeBSD? Or something we could add into Vikunja's package.json in general?
Author
Owner

@dpschen commented on GitHub (Jul 1, 2024):

@psa sry I just realised that I totally over-read that you already wrote the pnpm overwrites solution…

Can you specify further what you mean by "Remove sentry/cli from pnpm-lock.yaml (we've installed it above)"? Remove it from vite-plugin-sentry as a dependency?

I got this, but I am not sure if it works for all os:

  "resolutions": {
    "rollup": {
      "freebsd": "npm:@rollup/wasm-node"
    }
  },

Regarding @sentry/cli: it doesn't seem to be possible not to install a dependency only on a specific os, without affecting others.

@dpschen commented on GitHub (Jul 1, 2024): @psa sry I just realised that I totally over-read that you already wrote the pnpm overwrites solution… Can you specify further what you mean by "Remove sentry/cli from pnpm-lock.yaml (we've installed it above)"? Remove it from vite-plugin-sentry as a dependency? I got this, but I am not sure if it works for all os: ```json "resolutions": { "rollup": { "freebsd": "npm:@rollup/wasm-node" } }, ``` Regarding @sentry/cli: it doesn't seem to be possible not to install a dependency only on a specific os, without affecting others.
Author
Owner

@psa commented on GitHub (Jul 5, 2024):

@dpschen Yes, I stripped sentry/cli from the dependency list so that the installer wouldn't try installing it. In order to satisfy the dependency I installed it locally on the machine using pkg install sentry-cli.

Unfortunately, node really isn't my specialty and I'm not sure how one would go about putting in exceptions like that.

@psa commented on GitHub (Jul 5, 2024): @dpschen Yes, I stripped `sentry/cli` from the dependency list so that the installer wouldn't try installing it. In order to satisfy the dependency I installed it locally on the machine using `pkg install sentry-cli`. Unfortunately, node really isn't my specialty and I'm not sure how one would go about putting in exceptions like that.
Author
Owner

@psa commented on GitHub (Jul 5, 2024):

I got this, but I am not sure if it works for all os:

  "resolutions": {
    "rollup": {
      "freebsd": "npm:@rollup/wasm-node"
    }
  },

This causes the following error:

pnpm install
 ERROR  override.newPref.startsWith is not a function

pnpm: override.newPref.startsWith is not a function
    at createLocalTarget (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188994:28)
    at /usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188973:24
    at Array.map (<anonymous>)
    at createVersionsOverrider (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188970:138)
    at createReadPackageHook (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189066:74)
    at extendOptions (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189233:90)
    at mutateModules (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189754:61)
    at install (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189711:51)
    at installDeps (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:191812:56)
    at async /usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:220636:21
@psa commented on GitHub (Jul 5, 2024): > I got this, but I am not sure if it works for all os: > > ```json > "resolutions": { > "rollup": { > "freebsd": "npm:@rollup/wasm-node" > } > }, > ``` This causes the following error: ``` pnpm install  ERROR  override.newPref.startsWith is not a function pnpm: override.newPref.startsWith is not a function at createLocalTarget (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188994:28) at /usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188973:24 at Array.map (<anonymous>) at createVersionsOverrider (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:188970:138) at createReadPackageHook (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189066:74) at extendOptions (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189233:90) at mutateModules (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189754:61) at install (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:189711:51) at installDeps (/usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:191812:56) at async /usr/local/lib/node_modules/pnpm/dist/pnpm.cjs:220636:21 ```
Author
Owner

@dpschen commented on GitHub (Jul 5, 2024):

Thanks for trying!

Unsure, but maybe this pr makes sentry-cli. I replaced the sentry vite plugin with the (now existing) official plugin. The PR is still wip, so will probably not work right now.

At least until then building on freebsd will be a manual step, as you described.

@dpschen commented on GitHub (Jul 5, 2024): Thanks for trying! Unsure, but maybe [this pr](https://kolaente.dev/vikunja/vikunja/pulls/2523/files) makes sentry-cli. I replaced the sentry vite plugin with the (now existing) official plugin. The PR is still wip, so will probably not work right now. At least until then building on freebsd will be a manual step, as you described.
Author
Owner

@psa commented on GitHub (Jul 6, 2024):

Here's the diff on the changes, if that's easier to visualise: 0972c1b534

@psa commented on GitHub (Jul 6, 2024): Here's the diff on the changes, if that's easier to visualise: https://github.com/go-vikunja/vikunja/commit/0972c1b53442365427af7340512dad39ecb0c231
Author
Owner

@kolaente commented on GitHub (Apr 1, 2025):

@psa hey is this issue still relevant?

@kolaente commented on GitHub (Apr 1, 2025): @psa hey is this issue still relevant?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#241