MKBundle2를 사용하여 포장 한 후, 대상 기계는 libmono.so에 대해 불평하고 있습니다.왜?

StackOverflow https://stackoverflow.com/questions/3250752

  •  15-09-2020
  •  | 
  •  

문제

MKBundle2의 목적이 모노 응용 프로그램을 실행하기 위해 모노가 설치되지 않은 기계를 허용하는 것이 었습니다. 그러나 그것은 libmono.so 포장하는 것처럼 보이지 않습니다. 나는 그것이 그것이 가정되었는지 여부를 확실하지 않지만, 묶음을 실행할 때 libmono.so.0을 찾을 수 없다고 확신하지 못합니다. 왜 그 파일을 찾고 있을까요? 그리고 필요한 경우 왜 그곳에서는 어디든 찾을 수 있습니까? 묶음에 있어야 할 것 같으면 왜 mkbundle2가 거기에 넣지 않았습니까? 모든 종속성을 포함하여 "-deps"옵션을 사용하고 있습니다. 나는 뭔가를 놓치고 있니?

--static 옵션을 추가 한 후에는 대상 시스템 에서이 결과를 얻습니다.

처리되지 않은 예외 : System.TypeInitializationException : System.Windows.Forms.xplatui의 유형 이니셜 라이저에 의해 Throw 된 예외가 발생했습니다. ---> System.DllNotFoundException : libc AT (래퍼 관리 대상) system.windows.forms.xplatui : uname (intptr) system.windows.forms.xplatui..cctor () [0x00000] in : 0

export mono_log_level= 디버그 추가 정보보기 :

mono-info : dllimport로드를 시도합니다 : 'libc'. Mono-Info : Dllimport Loading 위치 : 'libc.so'. MONO-INFO : DLLIMPORT 오류 라이브러리로드 : '/usr/lib64/libc.so : 잘못된 ELF 헤더'. Mono-info : Dllimport로드 라이브러리 : './libc.so'. MONO-INFO : DLLIMPORT 오류 라이브러리 './libc.so : 공유 오브젝트 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음'. Mono-Info : Dllimport Loading : 'libc'. mono-info : dllimport 오류 라이브러리로드 라이브러리 'libc : 공유 오브젝트 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음'.

호환되지 않는 하드웨어로 컴퓨터에서 실행하려고하는 것은 내가 꺼냅니다. 두 시스템 모두 SUSE Linux Enterprise Server 11 (x86_64)입니다.

도움이 되었습니까?

해결책

여기에 있습니다 우리는 다음과 같이 :

- deps :이 옵션은 참조 된 모든 어셈블리를 모두 묶습니다. 명령 행 옵션에 나열된 어셈블리. 이것은 자체 포함 된 이미지를 배포하는 데 유용합니다.

명령 줄에서 어셈블리를 참조하는 것도 잊지 않으셨습니까?

이 글꼴 :

모노 커뮤니티> 일반> 모노 커뮤니티> mkbundle, 정적 , lgmodule

MKBundle 은이 어셈블리를 포장하는 데 책임이 없습니다. 누락 된 glib 관련 패키지를 설치하여 사용자가 문제를 해결했습니다.

정적 매개 변수를 살펴보십시오. 여기 :

- static : 기본적으로 mkbundle은 모노와 glib 에 동적으로 연결됩니다. 이 옵션 대신 정적으로 링크를 해제합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top