Bug 40248 - Mono on OS X does not search for a library without a "lib" prefix at the path of the executable
Summary: Mono on OS X does not search for a library without a "lib" prefix at the path...
Status: NEW
Alias: None
Product: Runtime
Classification: Mono
Component: Interop (show other bugs)
Version: unspecified
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2016-04-08 19:25 UTC by Dimitar Dobrev
Modified: 2016-04-08 19:25 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Dimitar Dobrev 2016-04-08 19:25:37 UTC
Let's have a native library without a "lib" prefix, for example, taken from a framework. A good example would be "QtGui" from Qt. Let's try to P/Invoke it. As you know, Mono's dynamic loader starts enumerating combinations by using different paths, prefixes and extensions until it finds the desired library. The problem is that a particular valid combination is never attempted. This is the combination full path to the executable + no prefix + lib name + no extension. In other words, this path:

/Users/user/App/bin/Debug/QtGui

is never tried, unlike:

/Users/user/App/bin/Debug/libQtGui

or:

/Users/user/App/bin/Debug/libQtGui.dylib

or just:

QtGui


This makes Mono unable to load the library and leads to crashes. It has to be worked around by deliberately setting a "lib" prefix to the name of the library.

Note You need to log in before you can comment on or make changes to this bug.