2016-06-27 8 views
2

Squeak 5 클래스 SecureSMTPClient를 사용하여 SSL/TLS를 통해 전자 메일을 보내고 있습니다.Linux의 Squeak SMTP

내 Windows 컴퓨터에서 올바르게 작동합니다 (대답 덕분에 that question).

그러나 리눅스에 내가 얻을 :

# ioLoadModule(/home/squeak5vm/SqueakSSL): 
    /home/squeak5vm/SqueakSSL: undefined symbol: clock_gettime 

가족 이죠 "프리미티브"

Error: primitiveSSLCreate failed 

을 그리고 콘솔에 인쇄 (그러나 이미지가 메일을 보내려고 처음에만) 플랫폼 및 라이브러리와 통신하는 기능입니다. 내 생각에,이 리눅스는 Squeak이 기대하는 SSL/TLS 라이브러리의 일부 버전을 제공하지 않는다. 하지만 정확히 을 기대합니까?


추가 정보를 정기적으로 :

ldd /home/squeak5vm/SqueakSSL의 출력은 다음과 같습니다

linux-gate.so.1 => (0xb7757000) 
libc.so.6 => /lib32/libc.so.6 (0xb7392000) 
/lib/ld-linux.so.2 (0xb7758000) 
+0

downvote? 이유를 밝히지 않고? –

+0

문제가 무엇인지 알기가 어렵습니다. SSL은 SqueakSSL VM 플러그인에 의해 제공됩니다. 우선, 플러그인이 있는지 확인하십시오 (FilePlugin과 같은 것들로 VM 근처에 위치해야합니다). 그곳에 있다면 다음 단계는 아마 시스템을 살펴 보는 것입니다 : OpenSSL이 있습니까? 어떤 버전입니까? 우리는 또한 당신이 어떤 리눅스를 사용하고 있고 32 또는 64 비트인지 알 필요가 있습니다. –

+0

@MaxLeske squeak.org에서 표준 Squeak 5 다운로드를 받았습니다. "SqueakSSL"파일은 VM의 디렉토리에 있습니다 (파일 크기 9,228,209). OpenSSL에 대한 확신이 없기 때문에 Squeak이 기대하는 네이티브 라이브러리 (어떤 버전인지)를 묻는 것입니다. (제 리눅스는 64 비트 컴퓨터입니다) –

답변

4

SqueakSSL의 버전은 사용하는 플러그인이 다시 clock_gettime을 요구 OpenSSL을,에 대해 컴파일됩니다.

참고하여 man 페이지

Link with -lrt (only for glibc versions before 2.17). 

는 분명히 당신의 SqueakSSL 바이너리 나중에 2.17 glibc가 아닌 시스템에서 컴파일 말한다.

여기에 몇 가지 옵션이 있습니다 :

  1. 정적 LibreSSL에 연결되어 https://github.com/squeak-smalltalk/squeakssl/releases에서 SqueakSSL 바이너리를보십시오. 참고 사항 : 몇 주가 지나면 지났을 수 있습니다.
  2. 당신의 glibc와 함께 업데이트 된 리눅스 버전을 사용할 수 있는지 여부를 참조하십시오> = 2.17
  3. 보십시오 예를

    LD_PRELOAD=/usr/lib32/librt.so /path/to/squeak

에 대한 재 연결 또는 사전로드 (How to relink existing shared library with extra object file 참조)과 같이, 우리는 곧이 문제를 해결할 수 있기를 희망합니다. 어쩌면 문제를 열고 싶을 수도 있습니다 https://github.com/OpenSmalltalk/

+0

옵션 1이 나를 위해 일했습니다. 너 Tobias 다시 했어. 의견에 도움을 주신 분들께도 감사드립니다. 나는 또한 도서관 사이트가 당신이 여기에있는 것과 같은 이미지 아이콘을 가지고 있다는 것을 알았습니다 ;-) –

+0

예, 저는 이것을 편집 한 사람입니다;) – Tobias