我在 AlmaLinux9(RedHat 9 克隆)上运行,并从 EPEL 存储库添加了 mono-*。一切都运行良好,但我还需要 mono-vbnc,所以我从 github 下载了 mono-basic 项目源代码。我运行 ./configure 然后 make,但是 make 找不到 dll 时遇到问题:
make[1]: Entering directory '/usr/src/mono-basic/mono-basic-main/tools'
make[2]: Entering directory '/usr/src/mono-basic/mono-basic-main/tools/extract-source'
make all-local
make[3]: Entering directory '/usr/src/mono-basic/mono-basic-main/tools/extract-source'
MONO_PATH="../../class/lib/bootstrap:$MONO_PATH" mono --debug
../../class/lib/bootstrap/vbnc.exe /sdkpath:/usr/local/lib/mono/4.5-api/ -debug -r:System.Xml.dll -noconfig -define:_MYTYPE=\"Empty\" /novbruntimeref /r:../../class/lib/bootstrap/Microsoft.VisualBasic.dll -target:exe -out:extract-source.exe @extract-source.exe.sources
Visual Basic.Net Compiler version 0.0.0.5943 (Mono 4.6 - master/c93133db)
Copyright (C) 2004-2010 Rolf Bjarne Kvinge. All rights reserved.
vbnc : Command line : error VBNC2017: The library 'System.Xml.dll' could not be found.
There were 1 errors and 0 warnings.
Compilation took 00:00:00.2951750
make[3]: *** [../../build/executable.make:81: extract-source.exe] Error 1
make[3]: Leaving directory '/usr/src/mono-basic/mono-basic-main/tools/extract-source'
make[2]: *** [../../build/rules.make:122: do-all] Error 2
make[2]: Leaving directory '/usr/src/mono-basic/mono-basic-main/tools/extract-source'
make[1]: *** [../build/rules.make:134: all-recursive] Error 1
make[1]: Leaving directory '/usr/src/mono-basic/mono-basic-main/tools'
make: *** [build/rules.make:134: all-recursive] Error 1
我确认 System.Xml.dll 在我的系统上:
$ find / -name System.Xml.dll
/usr/lib/mono/4.5/System.Xml.dll
/usr/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll
/usr/lib/mono/4.7.1-api/System.Xml.dll
我不知道如何解决这个问题(单声道新手)。我是否需要为 configure 指定一个前缀来指向 /usr/lib/mono/4.5 ?