Agrupando arquivos .dylib com executável mono

Eu tenho um aplicativo e gostaria de empacotar um dylib específico junto com ele. Eu estou usando "dylibbundler" para copiar o dylib junto com dependências para a pasta executável. Aqui está o comando que estou usando:

dylibbundler -od -b -x /opt/local/lib/libil.dylib -d ./libs/ -p @executable_path/libs/

O dylibbundler está localizado no mesmo diretório do executável. A ferramenta recursivamente executa "install_name_tool" na biblioteca e todas as suas dependências (e copia-as para um diretório especificado). Executando o otool -L no ./libs/libil.1.dylib retorna:

@executable_path/libs/libIL.1.dylib (compatibility version 3.0.0, current version 3.0.0)
@executable_path/libs/libtiff.5.dylib (compatibility version 8.0.0, current version 8.0.0)
@executable_path/libs/liblzma.5.dylib (compatibility version 6.0.0, current version 6.4.0)
@executable_path/libs/libpng15.15.dylib (compatibility version 30.0.0, current version 30.0.0)
@executable_path/libs/libmng.1.dylib (compatibility version 2.0.0, current version 2.0.0)
@executable_path/libs/liblcms.1.dylib (compatibility version 2.0.0, current version 2.19.0)
@executable_path/libs/libjasper.1.dylib (compatibility version 2.0.0, current version 2.0.0)
@executable_path/libs/libjpeg.9.dylib (compatibility version 10.0.0, current version 10.0.0)
@executable_path/libs/libIlmImf.6.dylib (compatibility version 7.0.0, current version 7.0.0)
@executable_path/libs/libImath.6.dylib (compatibility version 7.0.0, current version 7.0.0)
@executable_path/libs/libHalf.6.dylib (compatibility version 7.0.0, current version 7.0.0)
@executable_path/libs/libIlmThread.6.dylib (compatibility version 7.0.0, current version 7.0.0)
@executable_path/libs/libIex.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
@executable_path/libs/libz.1.dylib (compatibility version 1.0.0, current version 1.2.7)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)

Parece-me que copiou tudo corretamente. Mas quando eu executo meu aplicativo, continuo recebendo a mesma exceção:

Unhandled Exception: System.DllNotFoundException: ./libs/libIL.1.dylib
Unhandled Exception: System.DllNotFoundException: @executable_path/libs/libIL.1.dylib
Unhandled Exception: System.DllNotFoundException: libs/libIL.1.dylib

Como você pode ver, tentei três maneiras diferentes de fazer referência à biblioteca, mas ela sempre falha em encontrá-la.

Qualquer ajuda seria muito apreciada, estou tentando resolver esse problema há meses.

ATUALIZAR: Se eu especificar um caminho absoluto para o dylib, ele o encontrará, mas depois reclamará das dependências:

Mono: DllImport error loading library 'dlopen(/Users/me/myapp/libs/libil.1.dylib, 9): Library not loaded: @executable_path/libs/libtiff.5.dylib
  Referenced from: /Users/me/myapp/libs/libil.1.dylib
  Reason: image not found'.

Parece-me que @executable_path não está sendo substituído pelo caminho do executável absoluto real.

questionAnswers(2)

yourAnswerToTheQuestion