Probs deploying 3.1 app with mup [SOLVED]

I don’t know if many people have deployed 3.1 apps yet, I am trying to do a mup deploy, and using the zodern/meteor docker image (which says its compatible).

Here is my error message, I’m not sure what is going wrong. Any tips would be appreciated.

It looks like it’s trying to run pkg-config I don’t even know what that is or how to add it


Started TaskList: Prepare App Bundle
[44.229.177.109] - Prepare Bundle
[44.229.177.109] x Prepare Bundle: FAILED

	      ------------------------------------STDERR------------------------------------

	      ------------------------------------STDOUT------------------------------------
	      gs '-Dnode_gyp_dir=/home/app/.nvm/versions/node/v22.11.0/lib/node_modules/npm/node_modules/node-gyp',
	npm error gyp info spawn args '-Dnode_lib_file=/home/app/.cache/node-gyp/22.11.0/<(target_arch)/node.lib',
	npm error gyp info spawn args '-Dmodule_root_dir=/built_app/programs/server/npm/node_modules/canvas',
	npm error gyp info spawn args '-Dnode_engine=v8',
	npm error gyp info spawn args '--depth=.',
	npm error gyp info spawn args '--no-parallel',
	npm error gyp info spawn args '--generator-output',
	npm error gyp info spawn args 'build',
	npm error gyp info spawn args '-Goutput_dir=.'
	npm error gyp info spawn args ]
	npm error /bin/sh: 1: pkg-config: not found
	npm error gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 127 while in binding.gyp. while trying to load binding.gyp
	npm error gyp ERR! configure error
	npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
	npm error gyp ERR! stack at ChildProcess.<anonymous> (/home/app/.nvm/versions/node/v22.11.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:317:18)
	npm error gyp ERR! stack at ChildProcess.emit (node:events:518:28)
	npm error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12)
	npm error gyp ERR! System Linux 5.15.0-1052-aws
	npm error gyp ERR! command "/home/app/.nvm/versions/node/v22.11.0/bin/node" "/home/app/.nvm/versions/node/v22.11.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--update-binary" "--module=/built_app/programs/server/npm/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/built_app/programs/server/npm/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v127"
	npm error gyp ERR! cwd /built_app/programs/server/npm/node_modules/canvas
	npm error gyp ERR! node -v v22.11.0
	npm error gyp ERR! node-gyp -v v10.2.0
	npm error gyp ERR! not ok
	npm error node-pre-gyp ERR! build error
	npm error node-pre-gyp ERR! stack Error: Failed to execute '/home/app/.nvm/versions/node/v22.11.0/bin/node /home/app/.nvm/versions/node/v22.11.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --update-binary --module=/built_app/programs/server/npm/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/built_app/programs/server/npm/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v127' (1)
	npm error node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/built_app/programs/server/npm/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)
	npm error node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:518:28)
	npm error node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1104:16)
	npm error node-pre-gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:304:5)
	npm error node-pre-gyp ERR! System Linux 5.15.0-1052-aws
	npm error node-pre-gyp ERR! command "/home/app/.nvm/versions/node/v22.11.0/bin/node" "/built_app/programs/server/npm/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--update-binary"
	npm error node-pre-gyp ERR! cwd /built_app/programs/server/npm/node_modules/canvas
	npm error node-pre-gyp ERR! node -v v22.11.0
	npm error node-pre-gyp ERR! node-pre-gyp -v v1.0.11
	npm error node-pre-gyp ERR! not ok
	npm error A complete log of this run can be found in: /home/app/.npm/_logs/2024-11-28T13_35_52_677Z-debug-0.log
	npm error code 1
	npm error path /built_app/programs/server
	npm error command failed
	npm error command sh -c node npm-rebuild.js
	npm notice
	npm notice New patch version of npm available! 10.9.0 -> 10.9.1
	npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.1
	npm notice To update run: npm install -g npm@10.9.1
	npm notice
	npm error A complete log of this run can be found in: /home/app/.npm/_logs/2024-11-28T13_35_39_547Z-debug-0.log
	The command '/bin/sh -c cd /built_app/programs/server &&     npm install --unsafe-perm' returned a non-zero code: 1

	real	3m29.819s
	user	0m5.257s
	sys	0m4.859s

	      ------------------------------------------------------------------------------```

Glad to say I solved the problem, despite not really having a clue…

I added the following to my mup.js file:

      buildInstructions: [
        // Add the following to the Dockerfile
        'USER root',
        'RUN echo "deb http://deb.debian.org/debian bookworm contrib non-free" > /etc/apt/sources.list.d/contrib.list',
        'RUN apt-get update && apt-get install -y pkgconf',
        'RUN apt-get install -y libpixman-1-dev libcairo2-dev libpango1.0-dev libjpeg62-turbo-dev libgif-dev',
        'USER app',
      ],

I’m not sure if pkgconf was required, but this allowed the deployment to succedd

For what’s it worth, node-canvas requires this for compiling in Ubuntu

apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

The build-essential takes care of those tools/libraries needed for building/compiling in Ubuntu

1 Like