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

Problem with Java on windows7 64-bit #21

Open
a-a-davydov opened this issue Jan 26, 2017 · 4 comments
Open

Problem with Java on windows7 64-bit #21

a-a-davydov opened this issue Jan 26, 2017 · 4 comments

Comments

@a-a-davydov
Copy link

Hello, I load 2.0.0 version, rebuild it and try to use in my project. And I got following exception:

Exception in thread "Thread-1" java.lang.UnsatisfiedLinkError: C:\Users\User\AppData\Local\Temp\libhadoop-4mc4717395728020324256.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1822)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.hadoop.compression.fourmc.FourMcNativeCodeLoader.loadLibrary(FourMcNativeCodeLoader.java:140)
at com.hadoop.compression.fourmc.FourMcNativeCodeLoader.(FourMcNativeCodeLoader.java:166)

I check that temporary dll file is byte to byte equal to win32/amd64/libhadoop-4mc.dll

@a-a-davydov
Copy link
Author

When I fall down to 1.4.0 everything works fine.

@carlomedas
Copy link
Collaborator

Most probably compilation went wrong on windows 64bit, while 32bit seems to work fine.
I will recompile it as soon as I can, unless you can do it yourself on a Cygwin (64-bit).

@a-a-davydov
Copy link
Author

Hello,

I have try to recompile using cygwin on my win7 laptop.

I have got some problems:

  • with latest cygwin don't require add windows headers
  • if compile jni againist latest JDK (1.8), int64__ type declaration required

So I update sources to awoid declared problems and run "make all"

I got two files 4mc.exe and libhadoop-4mc.so.1.1.0
Las one looks like dll. I rename it to libhadoop-4mc.dll and put to ...\4MC\java\hadoop-4mc\src\main\resources\com\hadoop\compression\fourmc\win32\amd64\

But I got the same problem when try to run java app.

Inintialy I want to contribute ImputFormat implementation for old style mapred api. It is required to use 4mc with hadoop streaming. But I can't finish debugging because I cant't run on my win64 laptop.

My sources available here https://drive.google.com/file/d/0B2hpN40WsjuoVzFxQ0Vzc3Jpbkk/view?usp=sharing

@a-a-davydov
Copy link
Author

I had read issues and found that old style api already exists in https://github.com/soomla/4mc =) But problem with win64 dll still actual.

I am not very friendly with C and I has no any expierence with GCC under CYGWIN, so I can't debug it =(((

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

2 participants