Project

General

Profile

Actions

Bug / Feature #3658

closed

Pivote crashes with newer libgmp

Added by Seegras over 11 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Usability
Target version:
Start date:
11 September 2012
Due date:
13 September 2012
% Done:

100%

Estimated time:
Request Type:
Bug Report
Affected Program:
All Clients
Affected Users:
All

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).

Actions #1

Updated by Seegras over 11 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.

Actions #2

Updated by Exception over 11 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.

Actions #3

Updated by Exception over 11 years ago

  • Priority changed from Urgent to Normal

Wird weiter verfolgt...

Actions #4

Updated by Exception over 11 years ago

  • Tracker changed from 1 to Bug / Feature
  • Status changed from 2 to Needs Work
Actions #5

Updated by Exception over 11 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.

Actions #6

Updated by admin over 11 years ago

  • Status changed from Done to Closed

Automatically closed after 30 days

Actions

Also available in: Atom PDF