[vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Rick Flower
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
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Karsten Kusche
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
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Rick Flower
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
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Travis Griggs-3

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
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Karsten Kusche
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
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Maarten Mostert-2
In reply to this post by Travis Griggs-3

Hi Travis,

It would be really Cool If some day soon you guys would find the time to bring the Cairo OSX port to the same level as the windows one. (Easy installation endless context creations etc ).

Regards,

@+Maarten,



> Message du 27/05/09 10:30

> De : "Travis Griggs"
> A : "Visualworks Mailing List"
> Copie à :
> Objet : Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...
>
>
>
> 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
>
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problem loading Cairo libs on OSX after fresh install of Cairo + VW's Cairo package...

Rick Flower
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