fingltd / 4mc

4mc - splittable lz4 and zstd in hadoop/spark/flink
Other
108 stars 36 forks source link

Problem with Java on windows7 64-bit #21

Open a-a-davydov opened 7 years ago

a-a-davydov commented 7 years ago

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 commented 7 years ago

When I fall down to 1.4.0 everything works fine.

carlomedas commented 7 years ago

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 commented 7 years ago

Hello,

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

I have got some problems:

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 commented 7 years ago

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 =(((