I deployed Altitude in CentOS and it produced a debug log, which I've
attached below. Altitude needs SHA hashes and asks Xtreams for them. Works in Mac. Seems to fail in CentOS. XTHash makes an OS choice. If it's not Win32, then it uses XTLibCryptoHash. That works on Mac. On Linux it throws #externalCallFailed. So, the Linux class - XTLibCrytpoHash - fails on Linux, but works on Mac. The Mac class - XTHMAC - isn't used at all. Suspecting I may be wrong, and feeling limited by looking only at a command line, I downloaded Virtualbox, loaded CentOS 5.3, Squeak, and Altitude. I updated to the latest Squeak build - #12145 and ran the tests for Xtreams-XtrasTests. That package contains XTHMACTest and XTHashTest. All six tests failed. They try to find libcrypto, which seems ready to be found at: /usr/lib/.libcrypto.so.1.0.0.hmac /usr/lib/.libcrypto.so.10.hmac /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcypto.so.10 I'm going to venture to say that people who use Xtreams in Squeak are more likely to deploy it on Win32 than Linux. Does anybody use Xtreams in Squeak and deploy on Linux? Thanks, Chris Error: External module not found 25 July 2012 2:25:32.041 pm VM: unix - Smalltalk Image: Squeak4.4-alpha [latest update: #12144] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/squeakmap Trusted Dir /home/squeakmap/secure Untrusted Dir /home/squeakmap/My Squeak XTLibCryptoHash(Object)>>error: Receiver: a XTLibCryptoHash Arguments and temporary variables: <<error during printing> Receiver's instance variables: library: nil context: a XTEVPMDCTX algorithm: nil XTLibCryptoHash(Object)>>externalCallFailed Receiver: a XTLibCryptoHash Arguments and temporary variables: errCode: 15 Receiver's instance variables: library: nil context: a XTEVPMDCTX algorithm: nil XTLibCryptoHash>>EVP_MD_CTX_init: Receiver: a XTLibCryptoHash Arguments and temporary variables: ctx: a XTEVPMDCTX Receiver's instance variables: library: nil context: a XTEVPMDCTX algorithm: nil XTLibCryptoHash>>initialize Receiver: a XTLibCryptoHash Arguments and temporary variables: Receiver's instance variables: library: nil context: a XTEVPMDCTX algorithm: nil XTHash class>>new Receiver: XTHash Arguments and temporary variables: Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#algorithm:->(XTHash>>#algorithm: "a CompiledMet...etc... format: 2 instanceVariables: nil organization: ('initialize-release' algorithm: release reset) ('accessing' bloc...etc... subclasses: {XTBCryptHash . XTHMAC . XTLibCryptoHash} name: #XTHash classPool: nil sharedPools: nil environment: Smalltalk globals "a SystemDictionary with lots of globals" category: #'Xtreams-Xtras' XTDigestWriteStream>>algorithm: Receiver: XTDigestWriteStream XTNullWriteStream nil Arguments and temporary variables: id: 'sha1' Receiver's instance variables: destination: XTNullWriteStream nil input: #[62 111 100 121 101 32 123 102 111 110 116 45 115 105 122 101 58 32 51 ...etc... digest: nil hash: nil XTNullWriteStream(XTWriteStream)>>hashing: Receiver: XTNullWriteStream nil Arguments and temporary variables: id: 'sha1' Receiver's instance variables: destination: nil ALArchive>>digest Receiver: an ALArchive Arguments and temporary variables: stream: nil Receiver's instance variables: bytes: #[252 253 249 14 65 76 72 116 109 108 82 101 115 111 117 114 99 101 1 1 ...etc... external: #() ALDigestLocator>>keyForResource: Receiver: an ALDigestLocator Arguments and temporary variables: aResource: an ALHtmlResource Receiver's instance variables: paths: a Dictionary('3~tHvS3DJ2hB3~7Cg54M3eZW3LU'->/3~tHvS3DJ2hB3~7Cg54M3eZW3LU...etc... resources: a Dictionary(/->an ALHtmlResource /3~tHvS3DJ2hB3~7Cg54M3eZW3LU->an A...etc... ALDigestLocator(ALLocator)>>pathForResource: Receiver: an ALDigestLocator Arguments and temporary variables: aResource: an ALHtmlResource key: nil Receiver's instance variables: paths: a Dictionary('3~tHvS3DJ2hB3~7Cg54M3eZW3LU'->/3~tHvS3DJ2hB3~7Cg54M3eZW3LU...etc... resources: a Dictionary(/->an ALHtmlResource /3~tHvS3DJ2hB3~7Cg54M3eZW3LU->an A...etc... ALRenderingContext>>registerNavigation: Receiver: an ALRenderingContext Arguments and temporary variables: aValuable: [closure] in ALCounterComponent>>renderContentOn: callback: an ALCallbackResource Receiver's instance variables: locator: an ALDigestLocator resource: an ALHtmlResource ALAppATag>>navigate: Receiver: an ALAppATag Arguments and temporary variables: aValuable: [closure] in ALCounterComponent>>renderContentOn: path: nil Receiver's instance variables: canvas: an ALAppHtml5Canvas attributes: an OrderedCollection() ALCounterComponent>>renderContentOn: Receiver: an ALCounterComponent Arguments and temporary variables: html: an ALAppHtml5Canvas Receiver's instance variables: counter: 0 [] in [] in ALCounterComponent>>renderOn: Receiver: an ALCounterComponent Arguments and temporary variables: html: an ALAppHtml5Canvas Receiver's instance variables: counter: 0 BlockClosure>>cull: Receiver: [closure] in [] in ALCounterComponent>>renderOn: Arguments and temporary variables: <<error during printing> Receiver's instance variables: outerContext: [] in ALCounterComponent>>renderOn: startpc: 74 numArgs: 0 ALAppHtml5Canvas(ALCanvas)>>renderBlock: Receiver: an ALAppHtml5Canvas Arguments and temporary variables: aBlock: [closure] in [] in ALCounterComponent>>renderOn: Receiver's instance variables: stream: XTEncodeWriteStream XTChunkingWriteStream XTPositionWriteSubstream XTEx...etc... stack: an OrderedCollection(an ALHtmlTag an ALBodyTag) current: an ALAppATag context: an ALRenderingContext form: nil BlockClosure>>renderOn: Receiver: [closure] in [] in ALCounterComponent>>renderOn: Arguments and temporary variables: aCanvas: an ALAppHtml5Canvas Receiver's instance variables: outerContext: [] in ALCounterComponent>>renderOn: startpc: 74 numArgs: 0 ALAppHtml5Canvas(ALCanvas)>>render: Receiver: an ALAppHtml5Canvas Arguments and temporary variables: anObject: [closure] in [] in ALCounterComponent>>renderOn: Receiver's instance variables: stream: XTEncodeWriteStream XTChunkingWriteStream XTPositionWriteSubstream XTEx...etc... stack: an OrderedCollection(an ALHtmlTag an ALBodyTag) current: an ALAppATag context: an ALRenderingContext form: nil [] in ALBodyTag(ALBrush)>>with: Receiver: an ALBodyTag Arguments and temporary variables: anObject: [closure] in [] in ALCounterComponent>>renderOn: Receiver's instance variables: canvas: an ALAppHtml5Canvas attributes: an OrderedCollection() --- The full stack --- XTLibCryptoHash(Object)>>error: XTLibCryptoHash(Object)>>externalCallFailed XTLibCryptoHash>>EVP_MD_CTX_init: XTLibCryptoHash>>initialize XTHash class>>new XTDigestWriteStream>>algorithm: XTNullWriteStream(XTWriteStream)>>hashing: ALArchive>>digest ALDigestLocator>>keyForResource: ALDigestLocator(ALLocator)>>pathForResource: ALRenderingContext>>registerNavigation: ALAppATag>>navigate: ALCounterComponent>>renderContentOn: [] in [] in ALCounterComponent>>renderOn: BlockClosure>>cull: ALAppHtml5Canvas(ALCanvas)>>renderBlock: BlockClosure>>renderOn: ALAppHtml5Canvas(ALCanvas)>>render: [] in ALBodyTag(ALBrush)>>with: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BlockClosure>>ensure: ALBodyTag(ALBrush)>>with: ALAppHtml5Canvas(ALHtml5Canvas)>>body: [] in ALCounterComponent>>renderOn: BlockClosure>>cull: ALAppHtml5Canvas(ALCanvas)>>renderBlock: BlockClosure>>renderOn: ALAppHtml5Canvas(ALCanvas)>>render: [] in ALHtmlTag(ALBrush)>>with: BlockClosure>>ensure: ALHtmlTag(ALBrush)>>with: ALAppHtml5Canvas(ALHtml5Canvas)>>html: ALCounterComponent>>renderOn: ALHtmlResource>>renderOnStream:locator: [] in ALHtmlResource>>handleGet:locator: [] in ALEntity>>writeBodyInto: BlockClosure>>ensure: ALEntity>>writeBodyInto: ALTerminalRelay>>write:into: ALEntity(ALMimeMessage)>>writeInto: ALResponse(ALHttpMessage)>>writeBodyInto: ALTerminalRelay>>write:into: ALResponse(ALMimeMessage)>>writeInto: ALConnection>>handleRequest ALConnection>>loop [] in [] in ALConnection>>run BlockClosure>>on:do: [] in ALConnection>>run BlockClosure>>ifCurtailed: ALConnection>>run [] in ALConnection>>start [] in BlockClosure>>newProcess |
32 bit centos?
On Jul 26, 2012, at 2:14 PM, Chris Cunnington <[hidden email]> wrote: > I deployed Altitude in CentOS and it produced a debug log, which I've attached below. Altitude needs SHA hashes and asks Xtreams for them. Works in Mac. Seems to fail in CentOS. > > XTHash makes an OS choice. If it's not Win32, then it uses XTLibCryptoHash. That works on Mac. On Linux it throws #externalCallFailed. > > So, the Linux class - XTLibCrytpoHash - fails on Linux, but works on Mac. The Mac class - XTHMAC - isn't used at all. > > Suspecting I may be wrong, and feeling limited by looking only at a command line, I downloaded Virtualbox, loaded CentOS 5.3, Squeak, and Altitude. > > I updated to the latest Squeak build - #12145 and ran the tests for Xtreams-XtrasTests. That package contains XTHMACTest and XTHashTest. All six tests failed. > > They try to find libcrypto, which seems ready to be found at: > > /usr/lib/.libcrypto.so.1.0.0.hmac > /usr/lib/.libcrypto.so.10.hmac > /usr/lib/libcrypto.so.1.0.0 > /usr/lib/libcypto.so.10 > > > I'm going to venture to say that people who use Xtreams in Squeak are more likely to deploy it on Win32 than Linux. Does anybody use Xtreams in Squeak and deploy on Linux? > > Thanks, > Chris > > > > > Error: External module not found > 25 July 2012 2:25:32.041 pm > > VM: unix - Smalltalk > Image: Squeak4.4-alpha [latest update: #12144] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir /home/squeakmap > Trusted Dir /home/squeakmap/secure > Untrusted Dir /home/squeakmap/My Squeak > > XTLibCryptoHash(Object)>>error: > Receiver: a XTLibCryptoHash > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > library: nil > context: a XTEVPMDCTX > algorithm: nil > > XTLibCryptoHash(Object)>>externalCallFailed > Receiver: a XTLibCryptoHash > Arguments and temporary variables: > errCode: 15 > Receiver's instance variables: > library: nil > context: a XTEVPMDCTX > algorithm: nil > > XTLibCryptoHash>>EVP_MD_CTX_init: > Receiver: a XTLibCryptoHash > Arguments and temporary variables: > ctx: a XTEVPMDCTX > Receiver's instance variables: > library: nil > context: a XTEVPMDCTX > algorithm: nil > > XTLibCryptoHash>>initialize > Receiver: a XTLibCryptoHash > Arguments and temporary variables: > > Receiver's instance variables: > library: nil > context: a XTEVPMDCTX > algorithm: nil > > XTHash class>>new > Receiver: XTHash > Arguments and temporary variables: > > Receiver's instance variables: > superclass: Object > methodDict: a MethodDictionary(#algorithm:->(XTHash>>#algorithm: "a CompiledMet...etc... > format: 2 > instanceVariables: nil > organization: ('initialize-release' algorithm: release reset) > ('accessing' bloc...etc... > subclasses: {XTBCryptHash . XTHMAC . XTLibCryptoHash} > name: #XTHash > classPool: nil > sharedPools: nil > environment: Smalltalk globals "a SystemDictionary with lots of globals" > category: #'Xtreams-Xtras' > > XTDigestWriteStream>>algorithm: > Receiver: XTDigestWriteStream > XTNullWriteStream > nil > Arguments and temporary variables: > id: 'sha1' > Receiver's instance variables: > destination: XTNullWriteStream > nil > input: #[62 111 100 121 101 32 123 102 111 110 116 45 115 105 122 101 58 32 51 ...etc... > digest: nil > hash: nil > > XTNullWriteStream(XTWriteStream)>>hashing: > Receiver: XTNullWriteStream > nil > Arguments and temporary variables: > id: 'sha1' > Receiver's instance variables: > destination: nil > > ALArchive>>digest > Receiver: an ALArchive > Arguments and temporary variables: > stream: nil > Receiver's instance variables: > bytes: #[252 253 249 14 65 76 72 116 109 108 82 101 115 111 117 114 99 101 1 1 ...etc... > external: #() > > ALDigestLocator>>keyForResource: > Receiver: an ALDigestLocator > Arguments and temporary variables: > aResource: an ALHtmlResource > Receiver's instance variables: > paths: a Dictionary('3~tHvS3DJ2hB3~7Cg54M3eZW3LU'->/3~tHvS3DJ2hB3~7Cg54M3eZW3LU...etc... > resources: a Dictionary(/->an ALHtmlResource /3~tHvS3DJ2hB3~7Cg54M3eZW3LU->an A...etc... > > ALDigestLocator(ALLocator)>>pathForResource: > Receiver: an ALDigestLocator > Arguments and temporary variables: > aResource: an ALHtmlResource > key: nil > Receiver's instance variables: > paths: a Dictionary('3~tHvS3DJ2hB3~7Cg54M3eZW3LU'->/3~tHvS3DJ2hB3~7Cg54M3eZW3LU...etc... > resources: a Dictionary(/->an ALHtmlResource /3~tHvS3DJ2hB3~7Cg54M3eZW3LU->an A...etc... > > ALRenderingContext>>registerNavigation: > Receiver: an ALRenderingContext > Arguments and temporary variables: > aValuable: [closure] in ALCounterComponent>>renderContentOn: > callback: an ALCallbackResource > Receiver's instance variables: > locator: an ALDigestLocator > resource: an ALHtmlResource > > ALAppATag>>navigate: > Receiver: an ALAppATag > Arguments and temporary variables: > aValuable: [closure] in ALCounterComponent>>renderContentOn: > path: nil > Receiver's instance variables: > canvas: an ALAppHtml5Canvas > attributes: an OrderedCollection() > > ALCounterComponent>>renderContentOn: > Receiver: an ALCounterComponent > Arguments and temporary variables: > html: an ALAppHtml5Canvas > Receiver's instance variables: > counter: 0 > > [] in [] in ALCounterComponent>>renderOn: > Receiver: an ALCounterComponent > Arguments and temporary variables: > html: an ALAppHtml5Canvas > Receiver's instance variables: > counter: 0 > > BlockClosure>>cull: > Receiver: [closure] in [] in ALCounterComponent>>renderOn: > Arguments and temporary variables: > <<error during printing> > Receiver's instance variables: > outerContext: [] in ALCounterComponent>>renderOn: > startpc: 74 > numArgs: 0 > > ALAppHtml5Canvas(ALCanvas)>>renderBlock: > Receiver: an ALAppHtml5Canvas > Arguments and temporary variables: > aBlock: [closure] in [] in ALCounterComponent>>renderOn: > Receiver's instance variables: > stream: XTEncodeWriteStream > XTChunkingWriteStream > XTPositionWriteSubstream > XTEx...etc... > stack: an OrderedCollection(an ALHtmlTag an ALBodyTag) > current: an ALAppATag > context: an ALRenderingContext > form: nil > > BlockClosure>>renderOn: > Receiver: [closure] in [] in ALCounterComponent>>renderOn: > Arguments and temporary variables: > aCanvas: an ALAppHtml5Canvas > Receiver's instance variables: > outerContext: [] in ALCounterComponent>>renderOn: > startpc: 74 > numArgs: 0 > > ALAppHtml5Canvas(ALCanvas)>>render: > Receiver: an ALAppHtml5Canvas > Arguments and temporary variables: > anObject: [closure] in [] in ALCounterComponent>>renderOn: > Receiver's instance variables: > stream: XTEncodeWriteStream > XTChunkingWriteStream > XTPositionWriteSubstream > XTEx...etc... > stack: an OrderedCollection(an ALHtmlTag an ALBodyTag) > current: an ALAppATag > context: an ALRenderingContext > form: nil > > [] in ALBodyTag(ALBrush)>>with: > Receiver: an ALBodyTag > Arguments and temporary variables: > anObject: [closure] in [] in ALCounterComponent>>renderOn: > Receiver's instance variables: > canvas: an ALAppHtml5Canvas > attributes: an OrderedCollection() > > > --- The full stack --- > XTLibCryptoHash(Object)>>error: > XTLibCryptoHash(Object)>>externalCallFailed > XTLibCryptoHash>>EVP_MD_CTX_init: > XTLibCryptoHash>>initialize > XTHash class>>new > XTDigestWriteStream>>algorithm: > XTNullWriteStream(XTWriteStream)>>hashing: > ALArchive>>digest > ALDigestLocator>>keyForResource: > ALDigestLocator(ALLocator)>>pathForResource: > ALRenderingContext>>registerNavigation: > ALAppATag>>navigate: > ALCounterComponent>>renderContentOn: > [] in [] in ALCounterComponent>>renderOn: > BlockClosure>>cull: > ALAppHtml5Canvas(ALCanvas)>>renderBlock: > BlockClosure>>renderOn: > ALAppHtml5Canvas(ALCanvas)>>render: > [] in ALBodyTag(ALBrush)>>with: > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > BlockClosure>>ensure: > ALBodyTag(ALBrush)>>with: > ALAppHtml5Canvas(ALHtml5Canvas)>>body: > [] in ALCounterComponent>>renderOn: > BlockClosure>>cull: > ALAppHtml5Canvas(ALCanvas)>>renderBlock: > BlockClosure>>renderOn: > ALAppHtml5Canvas(ALCanvas)>>render: > [] in ALHtmlTag(ALBrush)>>with: > BlockClosure>>ensure: > ALHtmlTag(ALBrush)>>with: > ALAppHtml5Canvas(ALHtml5Canvas)>>html: > ALCounterComponent>>renderOn: > ALHtmlResource>>renderOnStream:locator: > [] in ALHtmlResource>>handleGet:locator: > [] in ALEntity>>writeBodyInto: > BlockClosure>>ensure: > ALEntity>>writeBodyInto: > ALTerminalRelay>>write:into: > ALEntity(ALMimeMessage)>>writeInto: > ALResponse(ALHttpMessage)>>writeBodyInto: > ALTerminalRelay>>write:into: > ALResponse(ALMimeMessage)>>writeInto: > ALConnection>>handleRequest > ALConnection>>loop > [] in [] in ALConnection>>run > BlockClosure>>on:do: > [] in ALConnection>>run > BlockClosure>>ifCurtailed: > ALConnection>>run > [] in ALConnection>>start > [] in BlockClosure>>newProcess > |
Free forum by Nabble | Edit this page |