Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows 7 x64. Compiled from sources. Can't load. #191

Closed
vatula opened this issue Jul 30, 2012 · 9 comments
Closed

Windows 7 x64. Compiled from sources. Can't load. #191

vatula opened this issue Jul 30, 2012 · 9 comments

Comments

@vatula
Copy link

vatula commented Jul 30, 2012

I have this weird issue. I downloaded Windows 7 SDK, then GTK+ x86, then installed node-gyp, then took node-canvas sources, then compiled. Got this small warning:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(99
1,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile p
roperty value (.node). This may cause your project to build incorrectly. To cor
rect this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) prop
erty values match the value specified in %(Link.OutputFile). [D:\Development\Ho
me\Projects\Js\shelf\node_modules\canvas\build\canvas.vcxproj]

But I guess that can be ignored. Then tried to run an example from README.md. Because of try/catch block canvas said it can't load module from “default” folder. I commented out try/catch and got this:

module.js:485
process.dlopen(filename, module.exports);
^
Error: The specified module could not be found.
D:\Development\Home\Projects\Js\shelf\node_modules\canvas\build\Release\canvas.node
at Object.Module._extensions..node (module.js:485:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (D:\Development\Home\Projects\Js\shelf\node_modules\canvas\lib\bindings.js:5:20)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)

@TooTallNate
Copy link
Contributor

Use Dependency Walker and open the compiled .node file, that should show you which dll's are missing (I'm assuming that's the problem).

@domenic
Copy link
Collaborator

domenic commented Aug 13, 2012

Dependency Walker says LIBCAIRO-2.DLL and IESHIMS.DLL are missing. No idea about the latter, but the former is in C:\GTK.

@domenic
Copy link
Collaborator

domenic commented Aug 13, 2012

Copying all the .dlls in C:\GTK\bin, as well as IEShims.dll from C:\Program Files (x86)\Internet Explorer, into node_modules\canvas\build\Release seems to be a workaround.

@jazzzz
Copy link

jazzzz commented Oct 11, 2012

I had the same issue on Windows XP 32 bits, adding C:\GTK\bin in my path fixed it! (Copying all the .dll also worked).

@PawandeepKaur
Copy link

I have a same problem. Windows 8 64bit. with depends.exe I am getting the following error

API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL

I have path set for GTK bin, I have downloaded 64bit GTK version. I have had copied all dll from GTK/bin. I have already found first 3 and dont know how can I get last 2. any suggestions

@PaulBGD
Copy link

PaulBGD commented Jul 10, 2015

Same issue here @PawandeepKaur, did you ever solve it?

@Mrnikbobjeff
Copy link

@PaulBGD I have the same issue, it is related to Windows 8.1. Apparently Microsoft changed the design of Windows, effectively breaking the compability with older dlls or exe files. http://answers.microsoft.com/en-us/windows/forum/windows8_1-performance/32-bit-application-fails-to-start-after-81-upgrade/b825723e-e2a2-4c8f-bd1f-10446a5d7059?auth=1

@PawandeepKaur
Copy link

@PaulBGD it was so trouble for me to that in windows, thus I switched to linux and it installed and ran very well..

@brettz9
Copy link
Contributor

brettz9 commented Feb 21, 2017

Following the helpful information at #191 (comment) (and also nodejs/node-gyp#94 (comment) and of course https://github.com/Automattic/node-canvas/wiki/Installation%3A-Windows), I made a node file that could be added to postinstall or such as it detects Windows and copies the files in the expected directories if present: https://github.com/brettz9/typeson-registry/blob/master/windows-install.js

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants