If pamac fails, what do I do?

I’m new to Manjaro and just learned of pamac. The first time I used it went well, but now I tried it with vscodium and it failed. I did not think ahead and now realize I don’t know what most of this text in my terminal means and am not sure if action is required on my part to remedy this, or what to do next?

[man@BRUTUS ~]$ pamac build vscodium
Checking vscodium dependencies...
Resolving dependencies...
Checking inter-conflicts...

To install (12):
  oniguruma  6.9.9-1         (Required By: vscodium)  extra  225.4 kB
  jq         1.7.1-1         (Required By: vscodium)  extra  292.8 kB
  pkgconf    2.1.0-2         (Required By: vscodium)  core   62.9 kB
  libuv      1.47.0-1        (Required By: vscodium)  extra  246.3 kB
  c-ares     1.25.0-1        (Required By: vscodium)  extra  263.5 kB
  nodejs     21.5.0-1        (Required By: vscodium)  extra  16.0 MB
  yarn       1.22.21-1       (Required By: vscodium)  extra  3.6 MB
  semver     7.5.4-1         (Required By: vscodium)  extra  38.3 kB
  gulp       4.0.2-3         (Required By: vscodium)  extra  1.1 MB
  nvm        0.39.7-1        (Required By: vscodium)  extra  39.3 kB
  patch      2.7.6-10        (Required By: vscodium)  core   95.2 kB
  git-lfs    3.4.1-1         (Required By: vscodium)  extra  4.1 MB
To build (1):
  vscodium                           AUR

Total download size: 26.1 MB
Total installed size: 110.7 MB

Edit build files : [e] 
Apply transaction ? [e/y/N] y

Cloning vscodium build files...
Generating vscodium information...
==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required to install, update, or remove packages
Authenticating as: Manjaro (man)
Download of oniguruma (6.9.9-1) started                                         
Download of oniguruma (6.9.9-1) finished                                        
Download of libuv (1.47.0-1) started                                            
Download of libuv (1.47.0-1) finished                                           
Download of jq (1.7.1-1) started                                                
Download of pkgconf (2.1.0-2) started                                           
Download of pkgconf (2.1.0-2) finished                                          
Download of c-ares (1.25.0-1) started                                           
Download of c-ares (1.25.0-1) finished                                          
Download of nodejs (21.5.0-1) started                                           
Download of jq (1.7.1-1) finished                                               
Download of semver (7.5.4-1) started                                            
Download of semver (7.5.4-1) finished                                           
Download of yarn (1.22.21-1) started                                            
Download of nodejs (21.5.0-1) finished                                          
Download of gulp (4.0.2-3) started                                              
Download of gulp (4.0.2-3) finished                                             
Download of git-lfs (3.4.1-1) started                                           
Download of git-lfs (3.4.1-1) finished                                          
Download of patch (2.7.6-10) started                                            
Download of patch (2.7.6-10) finished                                           
Download of nvm (0.39.7-1) started                                              
Download of nvm (0.39.7-1) finished                                             
Download of yarn (1.22.21-1) finished                                           
Checking keyring...                                                      [12/12]
Checking integrity...                                                    [12/12]
Loading packages files...                                                [12/12]
Checking file conflicts...                                               [12/12]
Checking available disk space...                                         [12/12]
Installing oniguruma (6.9.9-1)...                                         [1/12]
Installing jq (1.7.1-1)...                                                [2/12]
Installing pkgconf (2.1.0-2)...                                           [3/12]
Installing libuv (1.47.0-1)...                                            [4/12]
Installing c-ares (1.25.0-1)...                                           [5/12]
Installing nodejs (21.5.0-1)...                                           [6/12]
Installing yarn (1.22.21-1)...                                            [7/12]
Installing semver (7.5.4-1)...                                            [8/12]
Installing gulp (4.0.2-3)...                                              [9/12]
Installing git-lfs (3.4.1-1)...                                          [10/12]
Installing patch (2.7.6-10)...                                           [11/12]
Installing nvm (0.39.7-1)...                                             [12/12]

You need to source nvm before you can use it. Do one of the following
or similar depending on your shell (and then restart your shell):

  echo 'source /usr/share/nvm/init-nvm.sh' >> ~/.bashrc
  echo 'source /usr/share/nvm/init-nvm.sh' >> ~/.zshrc

You can now install node.js versions (e.g. nvm install 10) and
activate them (e.g. nvm use 10).

init-nvm.sh is a convenience script which does the following:

[ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.nvm"
source /usr/share/nvm/nvm.sh
source /usr/share/nvm/bash_completion
source /usr/share/nvm/install-nvm-exec

You may wish to customize and put these lines directly in your
.bashrc (or similar) if, for example, you would like an NVM_DIR
other than ~/.nvm or you don't want bash completion.

See the nvm readme for more information: https://github.com/creationix/nvm

Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                             [1/1]

Building vscodium...
==> Making package: vscodium (Sat 10 Feb 2024 08:40:02 PM CST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found vscodium.desktop
  -> Found vscodium-wayland.desktop
  -> Found vscodium-uri-handler.desktop
  -> Downloading VSCodium-
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 8849k  100 8849k    0     0  2388k      0  0:00:03  0:00:03 --:--:-- 2702k
==> Validating source files with sha256sums...
    vscodium.desktop ... Passed
    vscodium-wayland.desktop ... Passed
    vscodium-uri-handler.desktop ... Passed
    VSCodium- ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting VSCodium- with bsdtar
==> Starting build()...
Downloading and installing node v18.15.0...
Downloading https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v18.15.0 (npm v9.5.0)
Creating default alias: default -> 18.15 (-> v18.15.0)
Found '/var/tmp/pamac-build-man/vscodium/src/.nvmrc' with version <18.15>
Now using node v18.15.0 (npm v9.5.0)
Configured .nvmrc version is [18.15], adding the v prefix before checking if it matches with the node command.
Installed version of node [v18.15.0] matches required version [v18.15], continuing.
remote: Enumerating objects: 8845, done.
remote: Counting objects: 100% (8845/8845), done.
remote: Compressing objects: 100% (7474/7474), done.
remote: Total 8845 (delta 1194), reused 4385 (delta 670), pack-reused 0
Receiving objects: 100% (8845/8845), 17.61 MiB | 2.04 MiB/s, done.
Resolving deltas: 100% (1194/1194), done.
From https://github.com/Microsoft/vscode
 * branch            8b3775030ed1a69b13e4f4c628c612102e30a681 -> FETCH_HEAD
Note: switching to 'FETCH_HEAD'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 8b37750 chore: update electron v25.9.7 (#202679)
++ [[ -f ./remote-dependencies.tar ]]
++ . version.sh
+++ [[ -z '' ]]
+++ type -t sha1sum
++++ echo
++++ sha1sum
++++ cut '-d ' -f1
+++ BUILD_SOURCEVERSION=c8a36a69377856369f139f39ee56dd3838130fbf
+++ echo 'BUILD_SOURCEVERSION="c8a36a69377856369f139f39ee56dd3838130fbf"'
+++ [[ -n '' ]]
++ [[ yes == \y\e\s ]]
++ echo 'MS_COMMIT="8b3775030ed1a69b13e4f4c628c612102e30a681"'
++ . prepare_vscode.sh
+++ set -e
+++ . ./utils.sh
++++ exists gsed
++++ type -t gsed
++++ is_gnu_sed
++++ sed --version
+++ [[ stable == \i\n\s\i\d\e\r ]]
+++ cp -rp src/stable/resources src/stable/src vscode/
+++ cp -f LICENSE vscode/LICENSE.txt
+++ cd vscode
+++ ../update_settings.sh
266s/'default': true/'default': false/
217s/'default': TelemetryConfiguration.ON/'default': TelemetryConfiguration.OFF/
147s/'default': true/'default': false/
applying patch: ../patches/binary-name.patch
applying patch: ../patches/brand.patch
applying patch: ../patches/build-version.patch
applying patch: ../patches/crash-reporter.patch
applying patch: ../patches/disable-cloud.patch
applying patch: ../patches/ext-from-gh.patch
applying patch: ../patches/feat-announcements.patch
applying patch: ../patches/fix-build-linux.patch
applying patch: ../patches/fix-eol-banner.patch
applying patch: ../patches/merge-user-product.patch
applying patch: ../patches/ppc64le-support.patch
applying patch: ../patches/remove-mangle.patch
applying patch: ../patches/report-issue.patch
applying patch: ../patches/update-cache-path.patch
applying patch: ../patches/update-msi.patch
applying patch: ../patches/update-windows.patch
applying patch: ../patches/use-github-pat.patch
applying patch: ../patches/win7.patch
+++ [[ linux == \l\i\n\u\x ]]
+++ [[ linux == \o\s\x ]]
+++ [[ linux == \w\i\n\d\o\w\s ]]
+++ [[ '' == \a\r\m ]]
+++ yarn --frozen-lockfile --check-files --network-timeout 180000
yarn install v1.22.21
$ node build/npm/preinstall.js
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@microsoft/1ds-core-js > @microsoft/applicationinsights-core-js@2.8.15" has unmet peer dependency "tslib@*".
warning " > gulp-postcss@9.0.0" has unmet peer dependency "postcss@^8.0.0".
warning " > tsec@0.2.7" has unmet peer dependency "@bazel/bazelisk@>=1.7.5".
warning " > tsec@0.2.7" has unmet peer dependency "@bazel/concatjs@>=5.3.0".
[4/4] Building fresh packages...
error /var/tmp/pamac-build-man/vscodium/src/vscode/node_modules/@parcel/watcher: Command failed.
Exit code: 1
Command: node-gyp-build
Directory: /var/tmp/pamac-build-man/vscodium/src/vscode/node_modules/@parcel/watcher
gyp info it worked if it ends with ok
gyp info using node-gyp@9.3.1
gyp info using node@18.15.0 | linux | x64
gyp info find Python using Python version 3.11.6 found at "/usr/bin/python3"
gyp http GET https://electronjs.org/headers/v25.9.7/node-v25.9.7-headers.tar.gz
gyp http 200 https://artifacts.electronjs.org/headers/v25.9.7/node-v25.9.7-headers.tar.gz?force_headers_dist=1
gyp http GET https://electronjs.org/headers/v25.9.7/SHASUMS256.txt
gyp http 200 https://artifacts.electronjs.org/headers/v25.9.7/SHASUMS256.txt?force_headers_dist=1
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/var/tmp/pamac-build-man/vscodium/src/vscode/node_modules/@parcel/watcher/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/man/.cache/node-gyp/25.9.7/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/man/.cache/node-gyp/25.9.7',
gyp info spawn args   '-Dnode_gyp_dir=/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/man/.cache/node-gyp/25.9.7/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/var/tmp/pamac-build-man/vscodium/src/vscode/node_modules/@parcel/watcher',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp ERR! build error 
gyp ERR! stack Error: not found: make
gyp ERR! stack     at getNotFoundError (/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:10:17)
gyp ERR! stack     at /var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:57:18
gyp ERR! stack     at new Promise (<anonymous>)
gyp ERR! stack     at step (/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:54:21)
gyp ERR! stack     at /var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:71:22
gyp ERR! stack     at new Promise (<anonymous>)
gyp ERR! stack     at subStep (/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:69:33)
gyp ERR! stack     at /var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:80:22
gyp ERR! stack     at /var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/isexe/mode.js:8:5
gyp ERR! System Linux 6.6.10-1-MANJARO
gyp ERR! command "/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/bin/node" "/var/tmp/pamac-build-man/vscodium/src/.nvm/versions/node/v18.15.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/tmp/pamac-build-man/vscodium/src/vscode/node_modules/@parcel/watcher
gyp ERR! node -v v18.15.0
gyp ERR! node-gyp -v v9.3.1
gyp ERR! not ok
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
++++ error_function build
++++ ((  ! BASH_SUBSHELL  ))
+++++ gettext 'A failure occurred in %s().'
++++ error 'A failure occurred in %s().' build
++++ local 'mesg=A failure occurred in %s().'
++++ shift
+++++ gettext ERROR:
++++ printf '==> ERROR: A failure occurred in %s().\n' build
==> ERROR: A failure occurred in build().
+++++ gettext Aborting...
++++ plainerr Aborting...
++++ plain Aborting...
++++ ((  QUIET  ))
++++ local mesg=Aborting...
++++ shift
++++ printf '    Aborting...\n'
++++ exit 4
+ clean_up
+ local EXIT_CODE=4
+ ((  INFAKEROOT  ))
+ [[ -p '' ]]
+ remove_deps
+ ((  ! RMDEPS  ))
+ return 0
+ exit 4
[man@BRUTUS ~]$

you may want to read up on how AUR packages work and which base packages you may need to compile things: Arch User Repository - ArchWiki

1 Like

pamac is supposed to be a replacement for pacman ( the Arch package manager ) with the addition of a GUI and support for AUR, and also flatpak and snap.

Some of the manjaro team seem to intend for it to replace pacman as the default package manager in Manjaro, and even ALPM (Arch Linux Package Management) framework as whole.

A few problems though.

pamac still uses ALPM, and even pacman things. The logs for pamac for example?
They are in /var/log/pacman.log.

Another problem is that the GUI will runaway and consume RAM if you have the AUR enabled.

So… you can use pamac if you want. And it will be better if you only use the CLI.
(though at that point why use pamac besides desiring to type more characters?)

But lots of us prefer to keep using pacman along with an AUR helper (usually one that is a wrapper for pacman first, such as yay or paru).

In any case. You will need git and base-devel before using the AUR.

Even if you use it the manual way;

git clone https://aur.archlinux.org/xcowsay.git
cd xcowsay
makepkg -sric

Hope that helps :wink:


Thank you @philm! sudo pacman -Syu base-devel, and then pamac build vscodium again fixed me right up! It was a lengthly process, (lengthly, but completely automated, I just watched in amazement) but without error. I will respect pamac more going forward. I was mistakenly thinking of it as just an alternative to pacman, and I should have known better.

1 Like

If it was just an alternative for pacman you would still need the same packages to use the AUR (AUR PKGBUILDS assume you have them and will not list them in dependencies) … and it would not have access. pacman cannot acess the AUR.

sudo pacman -Syu vscodium

would not install the AUR package because pacman does not support the AUR.
There is no pacman command to install an aur package, except for sudo pacman -U /path/to/package.pkg.tar.gz which would install an already compiled package, such as one made by makepkg.

pamac install vscodium

would not either … but it falls back to trying ‘build’ which is the correct syntax for an AUR package.
(which has no pacman equal, but would be similar to, ex, aur helper: yay -S vscodium)

1 Like

@cscs Okay, that makes sense. So the only reason my first attempt with pamac worked was there was an existing pre-compiled package? That was what was still puzzling me, how the first time worked without proper compiling/dev tools?

I am not sure, it depends on the package.
If it were a different one … then its possible it needed very minimal depends or simply ones you already have.
The thing about 'base-devel` is that its considered a prerequisite for using the AUR … so PKGBUILDs, according to their design guides, should not include any of those packages as dependencies. Some simply didnt need them in the first place.

1 Like

I certainly have no strong opinion on various options. I think the problem here was me. The word “build” should have been a clue! But with similar spelling (pacman pamac) I probably won’t be the only one to make this mistake, and perhaps there is some logic to have one thing for packages, and another for compile/builds.

I will say that vs building/compiling in other Linux OS’s (which I generally avoid) getting one metapackage and git is quite simple. But I have also used yay following a guide on a PPA once and it worked well too.

Of course use what works best for you.

pamac is intended to be an all-encompassing ‘app-store’.

However well it does those things, or how well it suits you, can determine your choice to use it or how (some folks only use pamac to search packages, some only use it for system packages but use a standalone aur helper, etc).

I hope some overblown explanation was helpful though. :slight_smile:

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.