nodejs / nodejs/node-gyp

MSYS2-MinGW64: Auto Generated Makefiles Give Error: target pattern contains no '%'

Open
#3,120 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

MSYS2 Windows wrong repo
Dominant language
Python
Stars
10.7k
Forks
1.9k
Avg merge
1d 4h
Merged PRs (30d)
5

Description

Platform: MSYS2-MinGW64 on Windows 11
Node Version: v23.5.0
Compiler: GCC 14.2.0
make: GNU Make 4.4.1
Module: Pelias Interpolation

I'm trying to run the Pelias/Interpolation server on MSYS2-MinGW64. This module has dependencies on node-postal and better-sqlite3 node modules. Both this modules has addon's which gets build while installing these packages with npm install.

While installing these packages. I'm getting the following error:

$ npm install
npm warn deprecated trim@0.0.1: Use String.prototype.trim() instead
npm warn deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm warn deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm warn deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm warn deprecated @hapi/pinpoint@1.0.2: Moved to 'npm install @sideway/pinpoint'
npm warn deprecated @hapi/formula@1.2.0: Moved to 'npm install @sideway/formula'
npm warn deprecated @hapi/joi@16.1.8: Switch to 'npm install joi'
npm warn deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm warn deprecated superagent@5.3.1: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
npm error code 1
npm error path C:\temp\postal-test\msys64\home\aamir.ali\interpolation\node_modules\better-sqlite3
npm error command failed
npm error command C:\WINDOWS\system32\cmd.exe /d /s /c prebuild-install || node-gyp rebuild --release
npm error make: Entering directory '/home/aamir.ali/interpolation/node_modules/better-sqlite3/build'
npm error make: Leaving directory '/home/aamir.ali/interpolation/node_modules/better-sqlite3/build'
npm error prebuild-install warn install A dynamic link library (DLL) initialization routine failed.
npm error \\?\C:\temp\postal-test\msys64\home\aamir.ali\interpolation\node_modules\better-sqlite3\build\Release\better_sqlite3.node
npm error gyp info it worked if it ends with ok
npm error gyp info using node-gyp@11.0.0
npm error gyp info using node@23.5.0 | win32 | x64
npm error gyp info find Python using Python version 3.12.8 found at "C:/temp/postal-test/msys64/mingw64/bin/python3.exe"
npm error gyp info spawn C:/temp/postal-test/msys64/mingw64/bin/python3.exe
npm error gyp info spawn args [
npm error gyp info spawn args 'C:\\temp\\postal-test\\msys64\\mingw64\\lib\\node_modules\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
npm error gyp info spawn args 'binding.gyp',
npm error gyp info spawn args '-f',
npm error gyp info spawn args 'make',
npm error gyp info spawn args '-I',
npm error gyp info spawn args 'C:\\temp\\postal-test\\msys64\\home\\aamir.ali\\interpolation\\node_modules\\better-sqlite3\\build\\config.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args 'C:\\temp\\postal-test\\msys64\\mingw64\\lib\\node_modules\\npm\\node_modules\\node-gyp\\addon.gypi',
npm error gyp info spawn args '-I',
npm error gyp info spawn args 'C:\\temp\\postal-test\\msys64\\mingw64\\include\\node\\common.gypi',
npm error gyp info spawn args '-Dlibrary=shared_library',
npm error gyp info spawn args '-Dvisibility=default',
npm error gyp info spawn args '-Dnode_root_dir=C:\\temp\\postal-test\\msys64\\mingw64',
npm error gyp info spawn args '-Dnode_gyp_dir=C:\\temp\\postal-test\\msys64\\mingw64\\lib\\node_modules\\npm\\node_modules\\node-gyp',
npm error gyp info spawn args '-Dnode_lib_file=C:\\temp\\postal-test\\msys64\\mingw64\\lib\\libnode.dll.a',
npm error gyp info spawn args '-Dmodule_root_dir=C:\\temp\\postal-test\\msys64\\home\\aamir.ali\\interpolation\\node_modules\\better-sqlite3',
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 gyp info spawn make
npm error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm error better_sqlite3.target.mk:93: *** target pattern contains no '%'.  Stop.
npm error gyp ERR! build error
npm error gyp ERR! stack Error: `make` failed with exit code: 2
npm error gyp ERR! stack at ChildProcess.<anonymous> (C:\temp\postal-test\msys64\mingw64\lib\node_modules\npm\node_modules\node-gyp\lib\build.js:216:23)
npm error gyp ERR! stack at ChildProcess.emit (node:events:513:28)
npm error gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm error gyp ERR! System MINGW32_NT-10.0 10.0.22631
npm error gyp ERR! command "C:\\temp\\postal-test\\msys64\\mingw64\\bin\\node.exe" "C:\\temp\\postal-test\\msys64\\mingw64\\lib\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--release"
npm error gyp ERR! cwd C:\temp\postal-test\msys64\home\aamir.ali\interpolation\node_modules\better-sqlite3
npm error gyp ERR! node -v v23.5.0
npm error gyp ERR! node-gyp -v v11.0.0
npm error gyp ERR! not ok
npm error A complete log of this run can be found in: C:\Users\aamir.ali\AppData\Local\npm-cache\_logs\2025-01-17T19_59_42_101Z-debug-0.log

Installing the node modules on Windows 11 works without any error.
Can anyone please clarify if I'm making anything wrong or this is an issue with node-gyp on MSYS-MinGW64.
Any help in resolving this issue is highly appreciated.

Thanks in advance.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the npm install failure on MSYS2-MinGW64 using the reported Node.js, node-gyp, Python, and GNU Make versions. Start with node-gyp's gyp_main.py and build.js entry points, then inspect the generated node_modules/better-sqlite3/build/better_sqlite3.target.mk; done requires identifying whether the generated makefile is incorrect and establishing a reproducible fix or a clearly documented incompatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, python
Domain
build-system, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.