Bug / Feature #3658
closedPivote crashes with newer libgmp
100%
Description
Hi, this is on Debian Sid:
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Emil.GMP.BigInt ---> System.DllNotFoundException: libgmp.so.3
at (wrapper managed-to-native) Emil.GMP.BigInt:__gmpz_init_set_si (Emil.GMP.BigInt/MpzValue&,int)
at Emil.GMP.BigInt..ctor (Int32 value) [0x00000] in <filename unknown>:0
at Emil.GMP.BigInt..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Pirate.PiVote.Serialization.DeserializeContext.ReadBigInt () [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.BaseParameters.Deserialize (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.VotingParameters.Deserialize (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Serialization.Serializable..ctor (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.BaseParameters..ctor (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.VotingParameters..ctor (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Emil.GMP.BigInt ---> System.DllNotFoundException: libgmp.so.3
at (wrapper managed-to-native) Emil.GMP.BigInt:__gmpz_init_set_si (Emil.GMP.BigInt/MpzValue&,int)
at Emil.GMP.BigInt..ctor (Int32 value) [0x00000] in <filename unknown>:0
at Emil.GMP.BigInt..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Pirate.PiVote.Serialization.DeserializeContext.ReadBigInt () [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.BaseParameters.Deserialize (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.VotingParameters.Deserialize (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Serialization.Serializable..ctor (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.BaseParameters..ctor (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at Pirate.PiVote.Crypto.VotingParameters..ctor (Pirate.PiVote.Serialization.DeserializeContext context, Byte version) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
There is no libgmp.so.3; there is only either libgmp.so, or libgmp.so.10 (!). Probably just a compile/build problem. I'd build it myself, but I could not find any debian source-packages (source as tar.gz, along with maybe a .patch and a .dsc).
Updated by Seegras about 12 years ago
Problem found:
libgmp.so.3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xda9b1ac21118db5fd6dbfe6e3df311ab81370b30, stripped
... that won't be running on any 32bit-System, ever. And it's bundled with the x86-version..
However, a symlink will fix this:
cd /opt/pivote
ln -sf /usr/lib/i386-linux-gnu/libgmp.so.10 libgmp.so.3
The gist of it is: NEVER bundle a library which would be available on the system. instead make the package depend on libgmp, and link to libgmp.so. And DON'T have the package expect any specific version; expect at most a minimal version.
Updated by Exception about 12 years ago
- Status changed from New to 2
Ja, ich weiss. Das Problem ist, dass es keinen /usr/lib/libgmp.so symlink gibt (Ubuntu 10.x - 12.x und andere). Ein package "libgmp" lässt sich auch nicht installieren. Das heisst dummerweise "libgmp3c2" oder anders, je nach system. Ist irgendwie in verschiedenen Distris kaputt. Aber natürlich sollte ich wenn schon die 32bit Version einpacken.
Updated by Exception about 12 years ago
- Priority changed from Urgent to Normal
Wird weiter verfolgt...
Updated by Exception almost 12 years ago
- Tracker changed from 1 to Bug / Feature
- Status changed from 2 to Needs Work
Updated by Exception almost 12 years ago
- Category set to Usability
- Status changed from Needs Work to Done
- Target version set to PiVote 1.3.0.0
- Request Type set to Bug Report
- Affected Program set to All Clients
- Affected Users set to All
x86 Library wird jetzt mitgeliefert.
Updated by admin almost 12 years ago
- Status changed from Done to Closed
Automatically closed after 30 days