Peut-on utiliser la librairie csrs232 sur une plateforme 64bits ?
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\ce_siourakan\workspace\CORONIS\csrs232driver.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
Merci
Ce Siou
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The library you have apparently used has been compiled for 32 targeted platforms. As a consequence, the return error is normal.
Have you got some experience of C/CPP development under eclipse.
Because the SDK has been structured to easily recompile sources to other targeted platforms.
Thanks for using English language. Our C/CPP expert developper doesn't speak french.
Thierry
Last edit: Thierry CHOMAUD 2012-11-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Cedric, we tested under 64 bit platform (windows 7 64 bits), and there are some additional issues regarding data type sizes under different platforms.
This means that just changing target platform to 64 bits it is not enough.
Regards, Veaceslav
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, so you want to use the Java API of SerialDriver only, or the Protocol API too?
I've forward to Veaceslav (our C/CPP expert developper) your request for 64b platforms.
Could you precise to us the OS you use?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I will try to explain.
I need only the Protocol API, because I can already comunicate with modem radio but I dont know if I need the SerialDriver for use Protocol API or if I can use my RXTXSerial.dll.
I use windows 7 PRO 64 bits
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just a quick recall:
The Coronis Protocol level is a high level protocol for communication via serial link
The Coronis SerialDriver level is a low level protocol for communication via serial link.
The Waveport Radio modem (I spoke about the product and its embedded firmware) wait for serial frame that have a specific low serial protocol encapsulation. I means that it can not understand raw frame (that you are able to send with your RXTXSerial.dll. So to be able to communication with a Waveport radio modem, you must use the 2 correspondant implementation (csrs232driver and waveportprotocol)
I understand but, with my RXTXSerial I can communicate with Waveport and Wavesens ect..
because I'm already built the low serial protocol encapsulation to communicate with.
I'will see on stackoverflow for win32.dll
Thank's
Cédric
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Cédric, Have you succeed to run the 32b dll under your 64b windows platform?
The CSRS232Driver manage itself the serial link (the only one external library that is used is pthread (posix thread available on the web), that allow our SDK to be portable.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thierry, I've tried to put my 32b dll into Wowsys64 folder and run regsvr32 but It doesn't work.
The PDK Tester work fine, with the CSRS232driver. How do you build the PDK Tester with CSRS232driver on win64 platform ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
PDK Tester is an Eclipse RCP application. So it means that we used the OSGI standard (http://www.osgi.org/Main/HomePage) on which eclipse and many other Java application (like Web server) are based on.
In the setup of PDK tester we just copy the libpthread-2.dll in C:\WINDOWS\SysWOW64 in case of a 64b platform. The csrs232driver.dll library is included into an OSGI bundle (com.coronis.sdk.serialdriver.rs232driver.win32.x86.jar) that is loaded by the PDK Tester application.
So I don't know your dev environment, but perhaps you just need to add the libpthread-2.dll in C:\WINDOWS\SysWOW64 (that have been already added by the pdkTester setup). You could use the tool http://dependencywalker.com/ to check that all dependencies are resolved (similar of ldd linux command).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Veaceslav.
Step 1 to 4 It's ok, I have put the bin into the system PATH, but could you explain me more precisely step 5 and 6, how do you compile the libraries ?
Thank's
Regards, Cedric.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
When I want to set ReleaseWin32 It doesn't exist so I must create in the manage conf is It normal ?
So When I build it I don't find the ReleaseWin32 folder .
Perhaps I didn't add the "bin" folders to the system PATH
Regards,Cedric
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank's you for the pre-compiled library, I will see later why I can't build corectly libraries.
I'm trying with the rs232driver exemple and 64b libraries and I'm looking why I've this error
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.coronis.sdk.serialdriver.rs232driver.RS232Driver.getDriverVersion()I
at com.coronis.sdk.serialdriver.rs232driver.RS232Driver.getDriverVersion(Native Method)
at com.coronis.sdk.serialdriver.rs232driver.RS232Driver.<init>(RS232Driver.java:48)
at com.coronis.sdk.serialdriver.rs232driver.example.Main.main(Main.java:51)</init>
Regards, Cedric
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, We've tested with Java project (till now only with C test project), it fails to load the the serial driver library because of an unsatisfied linker error.
We will investigate this problem and notify you as sun as the problem will be resolved.
Thanks, Veaceslav
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Peut-on utiliser la librairie csrs232 sur une plateforme 64bits ?
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\ce_siourakan\workspace\CORONIS\csrs232driver.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
Merci
Ce Siou
Hello,
The library you have apparently used has been compiled for 32 targeted platforms. As a consequence, the return error is normal.
Have you got some experience of C/CPP development under eclipse.
Because the SDK has been structured to easily recompile sources to other targeted platforms.
Thanks for using English language. Our C/CPP expert developper doesn't speak french.
Thierry
Last edit: Thierry CHOMAUD 2012-11-23
Thank's you
I will see if I can modify properties.
I nerver used eclipse for C/CPP , only for java and android.
Cedric
Hello Cedric, we tested under 64 bit platform (windows 7 64 bits), and there are some additional issues regarding data type sizes under different platforms.
This means that just changing target platform to 64 bits it is not enough.
Regards, Veaceslav
Ok, so you want to use the Java API of SerialDriver only, or the Protocol API too?
I've forward to Veaceslav (our C/CPP expert developper) your request for 64b platforms.
Could you precise to us the OS you use?
I will try to explain.
I need only the Protocol API, because I can already comunicate with modem radio but I dont know if I need the SerialDriver for use Protocol API or if I can use my RXTXSerial.dll.
I use windows 7 PRO 64 bits
Just a quick recall:
The Coronis Protocol level is a high level protocol for communication via serial link
The Coronis SerialDriver level is a low level protocol for communication via serial link.
The Waveport Radio modem (I spoke about the product and its embedded firmware) wait for serial frame that have a specific low serial protocol encapsulation. I means that it can not understand raw frame (that you are able to send with your RXTXSerial.dll. So to be able to communication with a Waveport radio modem, you must use the 2 correspondant implementation (csrs232driver and waveportprotocol)
Is these precison clear for you?
After for your current need, there is perhaps another solution that consist to place the win32 dll in a specific folder (windows\SysWOW64).
Please have a look to this post for more information: http://stackoverflow.com/questions/3439845/register-32-bit-com-dll-to-64-bit-windows-7
Thierry
I understand but, with my RXTXSerial I can communicate with Waveport and Wavesens ect..
because I'm already built the low serial protocol encapsulation to communicate with.
I'will see on stackoverflow for win32.dll
Thank's
Cédric
Cédric, Have you succeed to run the 32b dll under your 64b windows platform?
The CSRS232Driver manage itself the serial link (the only one external library that is used is pthread (posix thread available on the web), that allow our SDK to be portable.
Thierry, I've tried to put my 32b dll into Wowsys64 folder and run regsvr32 but It doesn't work.
The PDK Tester work fine, with the CSRS232driver. How do you build the PDK Tester with CSRS232driver on win64 platform ?
PDK Tester is an Eclipse RCP application. So it means that we used the OSGI standard (http://www.osgi.org/Main/HomePage) on which eclipse and many other Java application (like Web server) are based on.
In the setup of PDK tester we just copy the libpthread-2.dll in C:\WINDOWS\SysWOW64 in case of a 64b platform. The csrs232driver.dll library is included into an OSGI bundle (com.coronis.sdk.serialdriver.rs232driver.win32.x86.jar) that is loaded by the PDK Tester application.
So I don't know your dev environment, but perhaps you just need to add the libpthread-2.dll in C:\WINDOWS\SysWOW64 (that have been already added by the pdkTester setup). You could use the tool http://dependencywalker.com/ to check that all dependencies are resolved (similar of ldd linux command).
My dev environment is Eclipse IDE for Java Developers and win7 Pro 64b.
I'will try to do with libpthread-2.dll.
Thank's
Hello Cedric.
Recently we succeeded to compile and test communication and protocol libraries under windows 64 bits.
To compile the sources you need to do following steps:
Known issues for 64 bits, the logger time is not set properly (hours,minutes and seconds are zero).
Regards, Veaceslav
Hello Veaceslav.
Step 1 to 4 It's ok, I have put the bin into the system PATH, but could you explain me more precisely step 5 and 6, how do you compile the libraries ?
Thank's
Regards, Cedric.
Hello Cedric
For step 5 and 6, in eclipse you have to do following actions:
Note: To be able to work and compile C projects, you need to have CDT eclipse plugin installed.
Regards, Veaceslav
Last edit: vmacari 2012-12-26
When I want to set ReleaseWin32 It doesn't exist so I must create in the manage conf is It normal ?
So When I build it I don't find the ReleaseWin32 folder .
Perhaps I didn't add the "bin" folders to the system PATH
Regards,Cedric
It's very strange, at least for 3 projects I specified should exist Windows configuration.
Have you tried to refresh the project ? (Press F5 when the a project is selected)
Also check in the console output for error messages
Please find attached pre-compiled libraries
Thank's you for the pre-compiled library, I will see later why I can't build corectly libraries.
I'm trying with the rs232driver exemple and 64b libraries and I'm looking why I've this error
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.coronis.sdk.serialdriver.rs232driver.RS232Driver.getDriverVersion()I
at com.coronis.sdk.serialdriver.rs232driver.RS232Driver.getDriverVersion(Native Method)
at com.coronis.sdk.serialdriver.rs232driver.RS232Driver.<init>(RS232Driver.java:48)
at com.coronis.sdk.serialdriver.rs232driver.example.Main.main(Main.java:51)</init>
Regards, Cedric
Yes, We've tested with Java project (till now only with C test project), it fails to load the the serial driver library because of an unsatisfied linker error.
We will investigate this problem and notify you as sun as the problem will be resolved.
Thanks, Veaceslav