Turysaz
Turysaz

Reputation: 90

Mono on Linux: mkbundle does not find shared libraries

I have a small C# application that I want to turn into a native executable binary. csc Foo.cs runs without warnings and I can run the application without problems as such: mono Foo.exe.

When I start mkbundle however, I get this error:

$ mkbundle Foo.exe
Failure to load i18n assemblies, the following directories were searched for the assemblies:
Path: .
In Custom mode, you need to provide the directory to lookup assemblies from using -L
ERROR: Couldn't load one or more of the i18n assemblies: Failed to load I18N.dll

I found various versions of the I18N.dll at /usr/lib/mono/... and after passing the parent directory of one of them to mkbundle by using -L, it all worked.

But why do I have to do that? The -L option is not used in any of the examples I found online.

Am I in "Custom mode"? And if so, what is custom mode? I rather expect this to be a problem with a missing environment variable, but I don't know what I have to change.

Thank's a lot!

Upvotes: 2

Views: 746

Answers (1)

Mosè Bottacini
Mosè Bottacini

Reputation: 4206

if your assembly doesn't make use of internationalization (i18n) try mkbundle --i18n none

Upvotes: 1

Related Questions