MonoGame / MonoGame.Dependencies

The MonoGame binary dependencies submodule.
38 stars 51 forks source link

Nvidia.TextureTools throws EntryPointNotFoundException on Linux #5

Closed Schala closed 9 years ago

Schala commented 10 years ago

I've used the provided .so libraries, but upon trying to process a spritefont, MGCB throws the following:

Detected Linux using DXT Compression
System.EntryPointNotFoundException: nvttSetOutputOptionsOutputHandler
  at (wrapper managed-to-native) Nvidia.TextureTools.OutputOptions:nvttSetOutputOptionsOutputHandler (intptr,intptr,intptr)
  at Nvidia.TextureTools.OutputOptions.SetOutputHandler (Nvidia.TextureTools.ImageDelegate beginImage, Nvidia.TextureTools.WriteDataDelegate writeImage) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.Content.Pipeline.Graphics.GraphicsUtil.CompressDxt (Microsoft.Xna.Framework.Content.Pipeline.Graphics.TextureContent content, Boolean generateMipmaps) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.Content.Pipeline.Graphics.GraphicsUtil.CompressTexture (Microsoft.Xna.Framework.Content.Pipeline.Graphics.TextureContent content, Microsoft.Xna.Framework.Content.Pipeline.ContentProcessorContext context, Boolean generateMipmaps, Boolean premultipliedAlpha) [0x00000] in <filename unknown>:0
  at Microsoft.Xna.Framework.Content.Pipeline.Processors.FontDescriptionProcessor.Process (Microsoft.Xna.Framework.Content.Pipeline.Graphics.FontDescription input, Microsoft.Xna.Framework.Content.Pipeline.ContentProcessorContext context) [0x00000] in <filename unknown>:0

A resulting .xnb file is generated, but due to its small size compared to the successfully generated ones from PNG files, it may be corrupted.

tomspilman commented 10 years ago

I don't know why that is happening... we need someone with Linux experience to investigate it.

Schala commented 10 years ago

The 2.8 release seems to be missing other functions besides the one provided, so I'm guessing the one in this repo is a post-2.8 SVN build?

tomspilman commented 10 years ago

That might be the case... it just is the wrong binary for that version of the wrapper.

Schala commented 10 years ago

A little constructive criticism, if I may. I would recommend including the sources to said dependencies to avoid having to search multiple repos for them. In the case of NVTT, it would give me a copy of the source on par with what's used for the content pipeline so that I may submit patches/binaries.

tomspilman commented 10 years ago

We generally try to include a link or add some sort of comment with each commit as to how the binaries were generated. We don't include the source here on purpose as we don't want this repo to be gigantic to download.

Schala commented 10 years ago

Good point. However, I can't find any info regarding what revision of NVTT is used. The oldest commit is the repo migration.

tomspilman commented 10 years ago

Just have to jump over to the old repo and look there however of course they didn't define the version info in the commit or PR....

https://github.com/kungfubanana/MonoGame-Dependencies/pull/26

I would guess it was the latest version from that date.

harry-cpp commented 9 years ago

So.. there are 2 nvtt errors: 1) Complaining about missing nvtt 2) System.EntryPointNotFoundException: nvttSetOutputOptionsOutputHandler

harry-cpp commented 9 years ago

https://code.google.com/p/nvidia-texture-tools/source/browse/branches/2.0/project/vc8/Nvidia.TextureTools/TextureTools.cs?r=1096

harry-cpp commented 9 years ago

This can be closed, fixed in #53

ghost commented 9 years ago

I'm still having this issue with MonoGame Pipeline Tool 3.4.0.456 (that is the version from the about but the package version says 3.3-1) on linux (Netrunner 16 which is Kubuntu based) is that normal?

Building Font /usr/share/fonts/truetype/msttcorefonts/Arial.ttf
Using DXT Compression
System.EntryPointNotFoundException: nvttSetOutputOptionsOutputHandler
  at (wrapper managed-to-native) Nvidia.TextureTools.OutputOptions:nvttSetOutputOptionsOutputHandler (intptr,intptr,intptr)
  at Nvidia.TextureTools.OutputOptions.SetOutputHandler (Nvidia.TextureTools.ImageDelegate beginImage, Nvidia.TextureTools.WriteDataDelegate writeImage) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.Pipeline.Graphics.GraphicsUtil.CompressDxt (GraphicsProfile profile, Microsoft.Xna.Framework.Content.Pipeline.Graphics.TextureContent content, Boolean generateMipmaps, Boolean premultipliedAlpha, Boolean sharpAlpha) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.Pipeline.Graphics.GraphicsUtil.CompressTexture (GraphicsProfile profile, Microsoft.Xna.Framework.Content.Pipeline.Graphics.TextureContent content, Microsoft.Xna.Framework.Content.Pipeline.ContentProcessorContext context, Boolean generateMipmaps, Boolean premultipliedAlpha, Boolean sharpAlpha) [0x00000] in <filename unknown>:0 
  at Microsoft.Xna.Framework.Content.Pipeline.Processors.FontDescriptionProcessor.Process (Microsoft.Xna.Framework.Content.Pipeline.Graphics.FontDescription input, Microsoft.Xna.Framework.Content.Pipeline.ContentProcessorContext context) [0x00000] in <filename unknown>:0 ```
harry-cpp commented 9 years ago

It's only fixed in the develop branch, the fix is gonna be in MonoGame 3.5