MonoOni / binarydist

Mono Binary Builds for Testing
9 stars 0 forks source link

Spreadsheetlight causes error with System.IO.Packaging #39

Open richardschoen opened 5 years ago

richardschoen commented 5 years ago

Using Spreadsheet light which uses DocumentFormat.OpenXml.dll which uses System.IO.Packaging.

EXE builds but blows up instantiating new spreadsheet. Sounds like System.IO.Packaging needs a little testing.

Ex: var sl = new SLDocument();

Causes below error:

Error: /opt/mono/lib/../lib/libMonoPosixHelper.so at (wrapper managed-to-nat ive) zipsharp.NativeZip.zipOpen2_64(string,int,intptr,zipsharp.ZlibFileFuncDe f64&)
at zipsharp.NativeZip.OpenArchive64 (zipsharp.ZlibFileFuncDef64 funcDef, zi psharp.Append append) [0x00000] in :0
at zipsharp.ZipArchive..ctor (System.IO.Stream stream, zipsharp.Append appe nd, System.Boolean ownsStream) [0x0003f] in <a97c64fb8d5748c8b21ab3bd4fa56a16

:0
at System.IO.Packaging.ZipPackage.FlushCore () [0x00073] in <a97c64fb8d5748 c8b21ab3bd4fa56a16>:0
at System.IO.Packaging.Package.Flush () [0x00041] in <a97c64fb8d5748c8b21ab 3bd4fa56a16>:0
at System.IO.Packaging.ZipPartStream.Flush () [0x00006] in <a97c64fb8d5748c 8b21ab3bd4fa56a16>:0
at System.IO.StreamWriter.Flush (System.Boolean flushStream, System.Boolean flushEncoder) [0x000b1] in <6a799ddc80574ae4a394013133ece9c2>:0
at System.IO.StreamWriter.Dispose (System.Boolean disposing) [0x00024] in < 6a799ddc80574ae4a394013133ece9c2>:0
at System.IO.StreamWriter.Close () [0x00000] in <6a799ddc80574ae4a394013133 ece9c2>:0
at System.Xml.XmlTextWriter.Close () [0x00019] in <2f5060724de44fda88f51437 ad0d0c7e>:0
at System.Xml.XmlWriter.Dispose (System.Boolean disposing) [0x00012] in <2f 5060724de44fda88f51437ad0d0c7e>:0
at System.Xml.XmlWriter.Dispose () [0x00000] in <2f5060724de44fda88f51437ad 0d0c7e>:0
at System.IO.Packaging.Package.WriteRelationships (System.Collections.Gener ic.Dictionary`2[TKey,TValue] relationships, System.IO.Stream stream) [0x00196 ] in :0
at System.IO.Packaging.Package.CreateRelationship (System.Uri targetUri, Sy stem.IO.Packaging.TargetMode targetMode, System.String relationshipType, Syst em.String id, System.Boolean loading) [0x000bf] in <a97c64fb8d5748c8b21ab3bd4 fa56a16>:0
at System.IO.Packaging.Package.CreateRelationship (System.Uri targetUri, Sy stem.IO.Packaging.TargetMode targetMode, System.String relationshipType, Syst em.String id) [0x00000] in :0
at System.IO.Packaging.Package.CreateRelationship (System.Uri targetUri, Sy stem.IO.Packaging.TargetMode targetMode, System.String relationshipType) [0x0 0000] in :0
at DocumentFormat.OpenXml.Packaging.OpenXmlPackage.CreateRelationship (Syst em.Uri targetUri, System.IO.Packaging.TargetMode targetMode, System.String re lationshipType) [0x0000c] in :0
at DocumentFormat.OpenXml.Packaging.OpenXmlPartContainer.AttachChild (Docum entFormat.OpenXml.Packaging.OpenXmlPart part, System.String rId) [0x00011] in

:0 at DocumentFormat.OpenXml.Packaging.OpenXmlPartContainer.InitPart[T] (T new Part, System.String contentType, System.String id) [0x000a4] in :0 at DocumentFormat.OpenXml.Packaging.OpenXmlPartContainer.InitPart[T] (T new Part, System.String contentType) [0x00000] in :0 at DocumentFormat.OpenXml.Packaging.SpreadsheetDocument.AddWorkbookPart () [0x0000e] in :0 at SpreadsheetLight.SLDocument..ctor () [0x00076] in :0 at MonoDbToExcel.Program.Main (System.String[] args) [0x00054] in :0
richardschoen commented 5 years ago

Ran with trace

[1:] EXCEPTION handling: System.DllNotFoundException: /opt/mono/lib/../lib/li bMonoPosixHelper.so
[1:] EXCEPTION handling: System.DllNotFoundException: /opt/mono/lib/../lib/li bMonoPosixHelper.so
[1:] EXCEPTION handling: System.DllNotFoundException: /opt/mono/lib/../lib/li bMonoPosixHelper.so
[1:] EXCEPTION handling: System.DllNotFoundException: /opt/mono/lib/../lib/li bMonoPosixHelper.so

richardschoen commented 5 years ago

Converted libMonoPosixHelper.a to libMonoPosixHelper.so using: ar -x -X 64 libMonoPosixHelper.a

Now get: [1:] EXCEPTION handling: System.DllNotFoundException: libgdiplus.so [1:] EXCEPTION handling: System.TypeInitializationException: The type initial izer for 'System.Drawing.GDIPlus' threw an exception.
[1:] EXCEPTION handling: System.TypeInitializationException: The type initial izer for 'System.Drawing.KnownColors' threw an exception.

Looks like this Excel library also needs gdiplus similar to EPPPlus.