2014-03-31 1 views
1

나는 리눅스에서 makensis를 컴파일했다. 이것은 bash 쉘에서 실행될 때 훌륭하게 작동합니다.리눅스에서 파이썬으로 makensis 실행

makensis /path/to/setup.nsi 

파이썬 스크립트를 사용하여 실행하고 싶습니다.

#using the symlink in /usr/bin 
subprocess.call("makensis setup.nsi") 

#absolute path to makensis executable 
subprocess.call("/usr/share/makensis/makensis setup.nsi") 

#Change directory 
os.chdir("/usr/share/makensis") 
subprocess.call("makensis setup.nsi") 

가 나는 또한 subprocess.call하는 CWD의 인수를 전달하는 시도 : 나는 다음과 같은 노력했다.

이러한 모든 경우에 makensis는 해당 종속성을 찾을 수 없습니다. 그것은는/usr/bin에보고 /이 오류를 던지고있다 :이 컴파일 된 내 파이썬 스크립트 나 방식 makensis에 문제가있는 경우

Error: opening stub "/usr/bin/Stubs/zlib" 

나는 확실하지 않다. makensis는 bash 쉘에서 잘 작동하기 때문에 파이썬 스크립트라고 생각합니다. 모든 포인터가 많이 감사합니다.

편집

: 이는 SCons는 내가 NSIS 작성하는 데 사용되는 명령입니다 : 우리는 광범위하게 NSIS를 사용

scons SKIPSTUBS=all SKIPPLUGINS=all SKIPUTILS=all SKIPMISC=all NSIS_CONFIG_CONST_DATA_PATH=no PREFIX=/usr/share/ APPEND_CCFLAGS=-m32 APPEND_LINKFLAGS=-m32 install-compiler 
+0

그것은 당신이 경우에 도움이 될 당신의 문제를 식별하고 포함 - 어떤 경우,이 링크를 (나는 항상 더 많은 NSIS의 CONFIGS에 관심이 있기 때문에) 주위를 확인하고, 발견 NSIS를 빌드하는 데 사용 된 scons 명령을 게시했습니다. – Anders

+0

그냥 알려 주시면 Posix에서 스텁과 플러그인을 교차 컴파일하는 것이 가능합니다 ... – Anders

+0

@ 앤더스 헤드 감사합니다. 설명서 링크가 있습니까? – AgDude

답변

1

을하지만은 POSIX/유닉스 플랫폼에서 실행하려고 생각도 못 했어. 특히 해상도를

http://wiki.koshatul.com/Installing_Nullsoft_Scriptable_Installer_System_%28NSIS%29_on_BSD#Error:_opening_stub_.22.2Fusr.2Flocal.2Fbin.2FStubs.2Fzlib.22

Remove the NSIS_CONFIG_CONST_DATA_PATH=no if you have it from your scons line, check the paths are all good for building as well.

+0

포인터를 가져 주셔서 감사합니다. 그게 잘못 되었다면 커맨드 라인에서도 작동하지 않는다고 나는 생각했다. 나는 다른 경로 옵션으로 그것을 재건하려고 노력할 것이다. – AgDude

+0

해당 링크의 scons 명령을 사용하여 트릭을 만들었습니다. 감사. 링크의 옵션을 사용하여 직접 Contrib, Include, Plugins 및 Stubs 폴더를/usr/local/share/nsis에 배치해야합니다. – AgDude

관련 문제