Hi all..
In an effort to play around with Cairo I'm finding that when its time to load the Cairo shared library (libcairo.dylib for OSX) that I get the following error care of VW's ExternalLibrary>>primLoadLibrary: method. If it helps, this machine is running OS-X 10.5.6 and VW 7.6 NSObjectFileImageInappropriateFile Below is a truncated stack report if it helps.. Any ideas? Unhandled exception: Could not load library ExternalLibrary>>primLoadLibrary: ExternalLibrary>>load PlatformExternalLibraryHolder(ExternalLibraryHolder)>>load PlatformExternalLibraryHolder>>load PlatformExternalLibraryHolder(ExternalLibraryHolder)>>mapAddressForName: ExternalMethod class>>mapAddressFor:library: optimized [] in [] in ExternalMethod class>>mapAddressFor: BlockClosure>>on:do: optimized [] in ExternalMethod class>>mapAddressFor: [] in LinkedOrderedCollection>>detect:ifNone: LinkedOrderedCollection(OrderedCollection)>>do: LinkedOrderedCollection>>ownDo: LinkedOrderedCollection>>performDo:block:path: LinkedOrderedCollection>>do: LinkedOrderedCollection>>detect:ifNone: ExternalMethod class>>mapAddressFor: ExternalMethod class>>virtualHandleForClass:external: ExternalMethod>>unlinkedCall:arguments: optimized [] in CairoGraphics.PDFSurface>>initPath:pointWidth:pointHeight: CairoGraphics.PDFSurface(CairoGraphics.ManagedHandle)>>handleValue: CairoGraphics.PDFSurface>>initPath:pointWidth:pointHeight: CairoGraphics.PDFSurface class>>path:pointWidth:pointHeight: Reports.ReportDepthExampleforCairo class>>example1View UndefinedObject>>unboundMethod UndefinedObject(Object)>>performMethod:arguments: UndefinedObject(Object)>>performMethod: TextEditorController(ParagraphEditor)>>evaluateCompiled: optimized [] in ParagraphEditor>>evaluateSelection BlockClosure>>ensure: Cursor>>showWhile: TextEditorController(ParagraphEditor)>>evaluateSelection optimized [] in ParagraphEditor>>doIt BlockClosure>>on:do: TextEditorController(ParagraphEditor)>>doIt WorkspacePage>>doIt Workbook(AbstractWorkspace)>>smalltalkDoIt optimized [] in ApplicationModel>>actionFor: optimized [] in ToolBar>>newButtonFor: PluggableAdaptor>>setValue: PluggableAdaptor(ValueModel)>>value: TriggerButtonController>>pressAction TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: TriggerButtonTracker>>finishSelectionFor: TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: RedButtonReleasedEvent>>dispatchTo: TriggerButtonTracker(SelectionTracker)>>handleEvent: EventDispatcher>>dispatch:to: EventDispatcher>>dispatchEvent: RedButtonReleasedEvent(Event)>>dispatch RedButtonReleasedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority: ---------------------------------------------------------------------- ExternalLibrary>>primLoadLibrary: Receiver: an ExternalLibrary Instance Variables: handle = nil name = #'libcairo.dylib' owners = a WeakArray[1] Arguments: libraryName = a ByteArray[14] Temporaries: errorCode = a SystemError(#'generic error','NSObjectFileImageInappropriateFile') Context PC = 13 ---------------------------------------------------------------------- ExternalLibrary>>load Receiver: an ExternalLibrary Instance Variables: handle = nil name = #'libcairo.dylib' owners = a WeakArray[1] Temporaries: nameOrNil = a ByteArray[14] Context PC = 17 ---------------------------------------------------------------------- PlatformExternalLibraryHolder(ExternalLibraryHolder)>>load Receiver: a PlatformExternalLibraryHolder Instance Variables: name = 'libcairo.dylib' directories = a LinkedOrderedCollection[0] library = nil owner = CairoGraphics.LibCairo platformID = #osx Temporaries: fullName = 'libcairo.dylib' Context PC = 42 ---------------------------------------------------------------------- PlatformExternalLibraryHolder>>load Receiver: a PlatformExternalLibraryHolder Instance Variables: name = 'libcairo.dylib' directories = a LinkedOrderedCollection[0] library = nil owner = CairoGraphics.LibCairo platformID = #osx Context PC = 11 ---------------------------------------------------------------------- PlatformExternalLibraryHolder(ExternalLibraryHolder)>>mapAddressForName: Receiver: a PlatformExternalLibraryHolder Instance Variables: name = 'libcairo.dylib' directories = a LinkedOrderedCollection[0] library = nil owner = CairoGraphics.LibCairo platformID = #osx Arguments: nameID = #cairo_pdf_surface_create Context PC = 9 ---------------------------------------------------------------------- ExternalMethod class>>mapAddressFor:library: Receiver: an ExternalMethod class Instance Variables: superclass = CompiledMethod methodDict = a MethodDictionary[38] format = 20493 subclasses = nil instanceVariables = an Array[10] organization = ('initialize-release' #for: #for:selector: #releaseHandle #updateLayoutCache) ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) ('accessing' #argumentKinds #datumClass #external #handle #libraries #methodSelector #name #ordinal #ordinal: #owner #referentAddress #resultType #specifierFlags #structArgSize #structReturnSize #virtuals) ('testing' #isLinkedFor: #isVirtual) ('copying' #postCopy #withAdditionalProperties:) ('comparing' #=) ('tracing' #traceWalkFrom:) ('binary storage' #isCodeReaderEquivalentTo: #postLoad #postReadGeneralStructureOn: #storeGeneralStructureOn:) ('private' #computeStructReturnSize #copyStateFromOldVersion: #findVirtualHandleForClass: #referentAddress: #virtuals:) name = #ExternalMethod classPool = a NameSpaceOfClass[0] environment = a NameSpace[54] Arguments: anExternal = ExternalMethod CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: aLibrary = a PlatformExternalLibraryHolder(named: libcairo.dylib platform: osx) Temporaries: aHandle = nil Context PC = 27 ---------------------------------------------------------------------- optimized [] in [] in ExternalMethod class>>mapAddressFor: Receiver: an UndefinedObject Temporaries: .super = ExternalMethod .anExternal = ExternalMethod CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: .aLibrary = a PlatformExternalLibraryHolder(named: libcairo.dylib platform: osx) Context PC = 8 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in ExternalMethod class>>mapAddressFor: outerContext = nil copiedValues = an Array[3] Arguments: anExceptionSelector = an ExceptionSet[0] handlerBlock = BlockClosure [] in [] in ExternalMethod class>>mapAddressFor: Context PC = 18 ---------------------------------------------------------------------- optimized [] in ExternalMethod class>>mapAddressFor: Receiver: an UndefinedObject Arguments: aLibrary = a PlatformExternalLibraryHolder(named: libcairo.dylib platform: osx) Temporaries: .anExternal = ExternalMethod CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: .super = ExternalMethod Context PC = 16 ---------------------------------------------------------------------- [] in LinkedOrderedCollection>>detect:ifNone: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 backup = an OrderedCollection[0] Arguments: each = a PlatformExternalLibraryHolder(named: libcairo.dylib platform: osx) Temporaries: .aBlock = BlockClosure [] in ExternalMethod class>>mapAddressFor: Context PC = 6 ---------------------------------------------------------------------- LinkedOrderedCollection(OrderedCollection)>>do: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 backup = an OrderedCollection[0] Arguments: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: Temporaries: index = 2 Context PC = 17 ---------------------------------------------------------------------- LinkedOrderedCollection>>ownDo: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 backup = an OrderedCollection[0] Arguments: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: Context PC = 6 ---------------------------------------------------------------------- LinkedOrderedCollection>>performDo:block:path: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 backup = an OrderedCollection[0] Arguments: doSelector = #ownDo: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: aPath = an IdentitySet[1] Context PC = 15 ---------------------------------------------------------------------- LinkedOrderedCollection>>do: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 backup = an OrderedCollection[0] Arguments: aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: Context PC = 8 ---------------------------------------------------------------------- LinkedOrderedCollection>>detect:ifNone: Receiver: a LinkedOrderedCollection Instance Variables: firstIndex = 1 lastIndex = 4 backup = an OrderedCollection[0] Arguments: aBlock = BlockClosure [] in ExternalMethod class>>mapAddressFor: exceptionBlock = BlockClosure [] in ExternalMethod class>>mapAddressFor: Context PC = 8 ---------------------------------------------------------------------- ExternalMethod class>>mapAddressFor: Receiver: an ExternalMethod class Instance Variables: superclass = CompiledMethod methodDict = a MethodDictionary[38] format = 20493 subclasses = nil instanceVariables = an Array[10] organization = ('initialize-release' #for: #for:selector: #releaseHandle #updateLayoutCache) ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) ('accessing' #argumentKinds #datumClass #external #handle #libraries #methodSelector #name #ordinal #ordinal: #owner #referentAddress #resultType #specifierFlags #structArgSize #structReturnSize #virtuals) ('testing' #isLinkedFor: #isVirtual) ('copying' #postCopy #withAdditionalProperties:) ('comparing' #=) ('tracing' #traceWalkFrom:) ('binary storage' #isCodeReaderEquivalentTo: #postLoad #postReadGeneralStructureOn: #storeGeneralStructureOn:) ('private' #computeStructReturnSize #copyStateFromOldVersion: #findVirtualHandleForClass: #referentAddress: #virtuals:) name = #ExternalMethod classPool = a NameSpaceOfClass[0] environment = a NameSpace[54] Arguments: anExternal = ExternalMethod CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: Context PC = 22 ---------------------------------------------------------------------- ExternalMethod class>>virtualHandleForClass:external: Receiver: an ExternalMethod class Instance Variables: superclass = CompiledMethod methodDict = a MethodDictionary[38] format = 20493 subclasses = nil instanceVariables = an Array[10] organization = ('initialize-release' #for: #for:selector: #releaseHandle #updateLayoutCache) ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) ('accessing' #argumentKinds #datumClass #external #handle #libraries #methodSelector #name #ordinal #ordinal: #owner #referentAddress #resultType #specifierFlags #structArgSize #structReturnSize #virtuals) ('testing' #isLinkedFor: #isVirtual) ('copying' #postCopy #withAdditionalProperties:) ('comparing' #=) ('tracing' #traceWalkFrom:) ('binary storage' #isCodeReaderEquivalentTo: #postLoad #postReadGeneralStructureOn: #storeGeneralStructureOn:) ('private' #computeStructReturnSize #copyStateFromOldVersion: #findVirtualHandleForClass: #referentAddress: #virtuals:) name = #ExternalMethod classPool = a NameSpaceOfClass[0] environment = a NameSpace[54] Arguments: theClass = CairoGraphics.LibCairo anExternal = ExternalMethod CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: Temporaries: aHandle = nil actualClass = CairoGraphics.LibCairo errorClass = CairoGraphics.LibCairo Context PC = 27 ---------------------------------------------------------------------- ExternalMethod>>unlinkedCall:arguments: Receiver: an ExternalMethod Instance Variables: bytes = a ByteArray[11] mclass = CairoGraphics.LibCairo sourceCode = 1267765380 handle = nil specifierFlags = 18 argumentKinds = a ByteArray[4] structArgSize = 0 structReturnSize = 0 datumClass = CDatum resultType = unsigned int virtuals = nil methodSelector = #cairo_pdf_surface_create:with:with: external = #cairo_pdf_surface_create Arguments: receiver = a CairoGraphics.LibCairo arguments = an Array[3] Context PC = 8 ---------------------------------------------------------------------- optimized [] in CairoGraphics.PDFSurface>>initPath:pointWidth:pointHeight: Receiver: an UndefinedObject Temporaries: .super = a CairoGraphics.PDFSurface .resolvedPath = '/tmp/cairotest.pdf' .aWidthInPoints = 1 .aHeightInPoints = 1 Context PC = 10 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Hi Rick,
if you installed the libraries with mac ports you might have to enter the library directory in the LibCairo class declaration. The default location is /opt/local/lib and if this folder is not in your PATH you need to add it manually either to the class or to the PATH. Kind Regards Karsten Rick Flower wrote: > Hi all.. > > In an effort to play around with Cairo I'm finding that when its time to > load > the Cairo shared library (libcairo.dylib for OSX) that I get the > following error > care of VW's ExternalLibrary>>primLoadLibrary: method. If it helps, this > machine is running OS-X 10.5.6 and VW 7.6 > > NSObjectFileImageInappropriateFile > > Below is a truncated stack report if it helps.. Any ideas? > > Unhandled exception: Could not load library > ExternalLibrary>>primLoadLibrary: > ExternalLibrary>>load > PlatformExternalLibraryHolder(ExternalLibraryHolder)>>load > PlatformExternalLibraryHolder>>load > PlatformExternalLibraryHolder(ExternalLibraryHolder)>>mapAddressForName: > ExternalMethod class>>mapAddressFor:library: > optimized [] in [] in ExternalMethod class>>mapAddressFor: > BlockClosure>>on:do: > optimized [] in ExternalMethod class>>mapAddressFor: > [] in LinkedOrderedCollection>>detect:ifNone: > LinkedOrderedCollection(OrderedCollection)>>do: > LinkedOrderedCollection>>ownDo: > LinkedOrderedCollection>>performDo:block:path: > LinkedOrderedCollection>>do: > LinkedOrderedCollection>>detect:ifNone: > ExternalMethod class>>mapAddressFor: > ExternalMethod class>>virtualHandleForClass:external: > ExternalMethod>>unlinkedCall:arguments: > optimized [] in CairoGraphics.PDFSurface>>initPath:pointWidth:pointHeight: > CairoGraphics.PDFSurface(CairoGraphics.ManagedHandle)>>handleValue: > CairoGraphics.PDFSurface>>initPath:pointWidth:pointHeight: > CairoGraphics.PDFSurface class>>path:pointWidth:pointHeight: > Reports.ReportDepthExampleforCairo class>>example1View > UndefinedObject>>unboundMethod > UndefinedObject(Object)>>performMethod:arguments: > UndefinedObject(Object)>>performMethod: > TextEditorController(ParagraphEditor)>>evaluateCompiled: > optimized [] in ParagraphEditor>>evaluateSelection > BlockClosure>>ensure: > Cursor>>showWhile: > TextEditorController(ParagraphEditor)>>evaluateSelection > optimized [] in ParagraphEditor>>doIt > BlockClosure>>on:do: > TextEditorController(ParagraphEditor)>>doIt > WorkspacePage>>doIt > Workbook(AbstractWorkspace)>>smalltalkDoIt > optimized [] in ApplicationModel>>actionFor: > optimized [] in ToolBar>>newButtonFor: > PluggableAdaptor>>setValue: > PluggableAdaptor(ValueModel)>>value: > TriggerButtonController>>pressAction > TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: > TriggerButtonTracker>>finishSelectionFor: > TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: > RedButtonReleasedEvent>>dispatchTo: > TriggerButtonTracker(SelectionTracker)>>handleEvent: > EventDispatcher>>dispatch:to: > EventDispatcher>>dispatchEvent: > RedButtonReleasedEvent(Event)>>dispatch > RedButtonReleasedEvent(Event)>>dispatchForWindowManager: > optimized [] in WindowManager>>safelyDispatchForWindowManager: > BlockClosure>>on:do: > WindowManager>>safelyDispatchForWindowManager: > WindowManager>>processNextEvent > optimized [] in [] in WindowManager>>newProcess > BlockClosure>>on:do: > optimized [] in WindowManager>>newProcess > BlockClosure>>on:do: > optimized [] in Process class>>forBlock:priority: > > ---------------------------------------------------------------------- > ExternalLibrary>>primLoadLibrary: > Receiver: > an ExternalLibrary > Instance Variables: > handle = nil > name = #'libcairo.dylib' > owners = a WeakArray[1] > Arguments: > libraryName = a ByteArray[14] > Temporaries: > errorCode = a SystemError(#'generic > error','NSObjectFileImageInappropriateFile') > Context PC = 13 > > ---------------------------------------------------------------------- > ExternalLibrary>>load > Receiver: > an ExternalLibrary > Instance Variables: > handle = nil > name = #'libcairo.dylib' > owners = a WeakArray[1] > Temporaries: > nameOrNil = a ByteArray[14] > Context PC = 17 > > ---------------------------------------------------------------------- > PlatformExternalLibraryHolder(ExternalLibraryHolder)>>load > Receiver: > a PlatformExternalLibraryHolder > Instance Variables: > name = 'libcairo.dylib' > directories = a LinkedOrderedCollection[0] > library = nil > owner = CairoGraphics.LibCairo > platformID = #osx > Temporaries: > fullName = 'libcairo.dylib' > Context PC = 42 > > ---------------------------------------------------------------------- > PlatformExternalLibraryHolder>>load > Receiver: > a PlatformExternalLibraryHolder > Instance Variables: > name = 'libcairo.dylib' > directories = a LinkedOrderedCollection[0] > library = nil > owner = CairoGraphics.LibCairo > platformID = #osx > Context PC = 11 > > ---------------------------------------------------------------------- > PlatformExternalLibraryHolder(ExternalLibraryHolder)>>mapAddressForName: > Receiver: > a PlatformExternalLibraryHolder > Instance Variables: > name = 'libcairo.dylib' > directories = a LinkedOrderedCollection[0] > library = nil > owner = CairoGraphics.LibCairo > platformID = #osx > Arguments: > nameID = #cairo_pdf_surface_create > Context PC = 9 > > ---------------------------------------------------------------------- > ExternalMethod class>>mapAddressFor:library: > Receiver: > an ExternalMethod class > Instance Variables: > superclass = CompiledMethod > methodDict = a MethodDictionary[38] > format = 20493 > subclasses = nil > instanceVariables = an Array[10] > organization = ('initialize-release' #for: #for:selector: > #releaseHandle #updateLayoutCache) > ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) > ('accessing' #argumentKinds #datumClass #external #handle #libraries > #methodSelector #name #ordinal #ordinal: #owner #referentAddress > #resultType #specifierFlags #structArgSize #structReturnSize #virtuals) > ('testing' #isLinkedFor: #isVirtual) > ('copying' #postCopy #withAdditionalProperties:) > ('comparing' #=) > ('tracing' #traceWalkFrom:) > ('binary storage' #isCodeReaderEquivalentTo: #postLoad > #postReadGeneralStructureOn: #storeGeneralStructureOn:) > ('private' #computeStructReturnSize #copyStateFromOldVersion: > #findVirtualHandleForClass: #referentAddress: #virtuals:) > > name = #ExternalMethod > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[54] > Arguments: > anExternal = ExternalMethod > CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: > aLibrary = a PlatformExternalLibraryHolder(named: libcairo.dylib > platform: osx) > Temporaries: > aHandle = nil > Context PC = 27 > > ---------------------------------------------------------------------- > optimized [] in [] in ExternalMethod class>>mapAddressFor: > Receiver: > an UndefinedObject > Temporaries: > .super = ExternalMethod > .anExternal = ExternalMethod > CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: > .aLibrary = a PlatformExternalLibraryHolder(named: libcairo.dylib > platform: osx) > Context PC = 8 > > ---------------------------------------------------------------------- > BlockClosure>>on:do: > Receiver: > a BlockClosure > Instance Variables: > method = CompiledBlock [] in [] in ExternalMethod class>>mapAddressFor: > outerContext = nil > copiedValues = an Array[3] > Arguments: > anExceptionSelector = an ExceptionSet[0] > handlerBlock = BlockClosure [] in [] in ExternalMethod > class>>mapAddressFor: > Context PC = 18 > > ---------------------------------------------------------------------- > optimized [] in ExternalMethod class>>mapAddressFor: > Receiver: > an UndefinedObject > Arguments: > aLibrary = a PlatformExternalLibraryHolder(named: libcairo.dylib > platform: osx) > Temporaries: > .anExternal = ExternalMethod > CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: > .super = ExternalMethod > Context PC = 16 > > ---------------------------------------------------------------------- > [] in LinkedOrderedCollection>>detect:ifNone: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 4 > backup = an OrderedCollection[0] > Arguments: > each = a PlatformExternalLibraryHolder(named: libcairo.dylib > platform: osx) > Temporaries: > .aBlock = BlockClosure [] in ExternalMethod class>>mapAddressFor: > Context PC = 6 > > ---------------------------------------------------------------------- > LinkedOrderedCollection(OrderedCollection)>>do: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 4 > backup = an OrderedCollection[0] > Arguments: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > Temporaries: > index = 2 > Context PC = 17 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>ownDo: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 4 > backup = an OrderedCollection[0] > Arguments: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > Context PC = 6 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>performDo:block:path: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 4 > backup = an OrderedCollection[0] > Arguments: > doSelector = #ownDo: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > aPath = an IdentitySet[1] > Context PC = 15 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>do: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 4 > backup = an OrderedCollection[0] > Arguments: > aBlock = BlockClosure [] in LinkedOrderedCollection>>detect:ifNone: > Context PC = 8 > > ---------------------------------------------------------------------- > LinkedOrderedCollection>>detect:ifNone: > Receiver: > a LinkedOrderedCollection > Instance Variables: > firstIndex = 1 > lastIndex = 4 > backup = an OrderedCollection[0] > Arguments: > aBlock = BlockClosure [] in ExternalMethod class>>mapAddressFor: > exceptionBlock = BlockClosure [] in ExternalMethod class>>mapAddressFor: > Context PC = 8 > > ---------------------------------------------------------------------- > ExternalMethod class>>mapAddressFor: > Receiver: > an ExternalMethod class > Instance Variables: > superclass = CompiledMethod > methodDict = a MethodDictionary[38] > format = 20493 > subclasses = nil > instanceVariables = an Array[10] > organization = ('initialize-release' #for: #for:selector: > #releaseHandle #updateLayoutCache) > ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) > ('accessing' #argumentKinds #datumClass #external #handle #libraries > #methodSelector #name #ordinal #ordinal: #owner #referentAddress > #resultType #specifierFlags #structArgSize #structReturnSize #virtuals) > ('testing' #isLinkedFor: #isVirtual) > ('copying' #postCopy #withAdditionalProperties:) > ('comparing' #=) > ('tracing' #traceWalkFrom:) > ('binary storage' #isCodeReaderEquivalentTo: #postLoad > #postReadGeneralStructureOn: #storeGeneralStructureOn:) > ('private' #computeStructReturnSize #copyStateFromOldVersion: > #findVirtualHandleForClass: #referentAddress: #virtuals:) > > name = #ExternalMethod > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[54] > Arguments: > anExternal = ExternalMethod > CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: > Context PC = 22 > > ---------------------------------------------------------------------- > ExternalMethod class>>virtualHandleForClass:external: > Receiver: > an ExternalMethod class > Instance Variables: > superclass = CompiledMethod > methodDict = a MethodDictionary[38] > format = 20493 > subclasses = nil > instanceVariables = an Array[10] > organization = ('initialize-release' #for: #for:selector: > #releaseHandle #updateLayoutCache) > ('address mapping' #mapAddress #mapAddressFor: #unlinkedCall:arguments:) > ('accessing' #argumentKinds #datumClass #external #handle #libraries > #methodSelector #name #ordinal #ordinal: #owner #referentAddress > #resultType #specifierFlags #structArgSize #structReturnSize #virtuals) > ('testing' #isLinkedFor: #isVirtual) > ('copying' #postCopy #withAdditionalProperties:) > ('comparing' #=) > ('tracing' #traceWalkFrom:) > ('binary storage' #isCodeReaderEquivalentTo: #postLoad > #postReadGeneralStructureOn: #storeGeneralStructureOn:) > ('private' #computeStructReturnSize #copyStateFromOldVersion: > #findVirtualHandleForClass: #referentAddress: #virtuals:) > > name = #ExternalMethod > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[54] > Arguments: > theClass = CairoGraphics.LibCairo > anExternal = ExternalMethod > CairoGraphics.LibCairo>>cairo_pdf_surface_create:with:with: > Temporaries: > aHandle = nil > actualClass = CairoGraphics.LibCairo > errorClass = CairoGraphics.LibCairo > Context PC = 27 > > ---------------------------------------------------------------------- > ExternalMethod>>unlinkedCall:arguments: > Receiver: > an ExternalMethod > Instance Variables: > bytes = a ByteArray[11] > mclass = CairoGraphics.LibCairo > sourceCode = 1267765380 > handle = nil > specifierFlags = 18 > argumentKinds = a ByteArray[4] > structArgSize = 0 > structReturnSize = 0 > datumClass = CDatum > resultType = unsigned int > virtuals = nil > methodSelector = #cairo_pdf_surface_create:with:with: > external = #cairo_pdf_surface_create > Arguments: > receiver = a CairoGraphics.LibCairo > arguments = an Array[3] > Context PC = 8 > > ---------------------------------------------------------------------- > optimized [] in CairoGraphics.PDFSurface>>initPath:pointWidth:pointHeight: > Receiver: > an UndefinedObject > Temporaries: > .super = a CairoGraphics.PDFSurface > .resolvedPath = '/tmp/cairotest.pdf' > .aWidthInPoints = 1 > .aHeightInPoints = 1 > Context PC = 10 > > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > > -- Karsten Kusche - Dipl.Inf. - [hidden email] Tel: +49 3496 21 43 29 Georg Heeg eK - Köthen Handelsregister: Amtsgericht Dortmund A 12812 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Karsten wrote:
> Hi Rick, > > if you installed the libraries with mac ports you might have to enter > the library directory in the LibCairo class declaration. The default > location is /opt/local/lib and if this folder is not in your PATH you > need to add it manually either to the class or to the PATH. Thanks Karsten -- you're correct -- I did install via macports.. I looked in the class you mention and see the following -- can I just add the path here or should it be elsewhere within the class? I didn't see the hard-coded path you mentioned above elsewhere within the class.. Thanks again! osxLibrary <library: #osx> ^'libcairo.dylib' _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
On May 26, 2009, at 11:37 PM, Rick Flower wrote: > Karsten wrote: >> Hi Rick, >> >> if you installed the libraries with mac ports you might have to enter >> the library directory in the LibCairo class declaration. The default >> location is /opt/local/lib and if this folder is not in your PATH you >> need to add it manually either to the class or to the PATH. > Thanks Karsten -- you're correct -- I did install via macports.. I > looked in the class you mention and see the following -- can I just > add > the path here or should it be elsewhere within the class? I didn't > see > the hard-coded path you mentioned above elsewhere within the class.. > Thanks again! If you want to make a cairo library generally available to your programs you have a couple of choices. 1) Code the path explicitly. This supposes you know where it's at, and are going to manage it. This may be completely appropriate for a specific application, but not for the general package. 2) Help the OS find your libraries. I *believe* if you place them coincident to the image/run directory it will find them there. I know this works on Windows, I haven't actually walked that path with OSX yet. 3) Help the OS find your libraries in another way. Use a script to run your program, in that script set DYLD_FALLBACK_LIBRARY_PATH to include /opt/local/lib. 4) Help the OS always find your libraries in yet another way. Do the same as #3, but in your .profile. Since I use macports for a number of things, #4 is the mechanism I use/ prefer. I have at one point or another, used both #1 and #3 as well. -- Travis Griggs Objologist "An idea, like a ghost, must be spoken to a little before it will explain itself." - Charles Dickens _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Rick Flower
Hi Rick,
the class definition has some attributes like #libraryFiles and #libraryDirectories. #libraryDirectories is where oyu need to set the array to #('/opt/local/lib'). Kind Regards Karsten Rick Flower wrote: > Karsten wrote: >> Hi Rick, >> >> if you installed the libraries with mac ports you might have to enter >> the library directory in the LibCairo class declaration. The default >> location is /opt/local/lib and if this folder is not in your PATH you >> need to add it manually either to the class or to the PATH. > Thanks Karsten -- you're correct -- I did install via macports.. I > looked in the class you mention and see the following -- can I just > add the path here or should it be elsewhere within the class? I > didn't see the hard-coded path you mentioned above elsewhere within > the class.. Thanks again! > > osxLibrary > <library: #osx> > ^'libcairo.dylib' -- Karsten Kusche - Dipl.Inf. - [hidden email] Tel: +49 3496 21 43 29 Georg Heeg eK - Köthen Handelsregister: Amtsgericht Dortmund A 12812 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Travis Griggs-3
Hi Travis, > Message du 27/05/09 10:30 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Karsten Kusche
Karsten wrote:
> Hi Rick, > > the class definition has some attributes like #libraryFiles and > #libraryDirectories. #libraryDirectories is where oyu need to set the > array to #('/opt/local/lib'). By the way -- just a quick followup.. I changed my .profile to set DYLD_FALLBACK_LIBRARY_PATH and logged out and back in.. No change.. I also set #libraryDirectories within the libCairo class but no change.. In the end I forced the issue by doing the following which does work : osxLibrary <library: #osx> ^'/opt/local/lib/libcairo.dylib' Very much a hack.. Not sure why OSX is unhappy with this arrangement.. At least I can proceed from here on out.. Thanks all! _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |