why nobody listens to me? :���( :���( 

I said you need to load the Alien-MacOSX* packages, not a configuration :)

now you have a configuration, you can check it in my previous mail.

Esteban 

ps: btw, there is a problem with callbacks I will fix now��� these packages has not been used since a lot of time...


On 26 Oct 2016, at 10:53, Dimitris Chloupis <kilon.alios@gmail.com> wrote:

Unfortunately does not load it says that a package conflicts with Alien-core :(

"PackageConflictError: Package/Tag can not be added because it conflicts with package Alien tag Core
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
Debug
[ (packageName includes: $-)
    ifFalse: [ ^ self ].
^ self
    validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
    tagName:
        (packageName copyAfterLast: $-)
            , (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [ (packageName includes: $-)...
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
RPackageOrganizer>>validateCanBeAddedPackage:
RPackageOrganizer>>registerPackage:
RPackage>>register
[ (RPackage named: aString asSymbol) register ] in RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named: aString asSymbol) register ]
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>registerPackageNamed:
MCVersionLoader>>ensurePackage:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
    title: 'Loading ' , version info name asString;
    run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version package....
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
    title: 'Loading ' , version info name asString;
    run ] in MCVersionLoader>>load in Block: Debug
[ (packageName includes: $-)
    ifFalse: [ ^ self ].
^ self
    validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
    tagName:
        (packageName copyAfterLast: $-)
            , (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [ (packageName includes: $-)...
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
RPackageOrganizer>>validateCanBeAddedPackage:
RPackageOrganizer>>registerPackage:
RPackage>>register
[ (RPackage named: aString asSymbol) register ] in RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named: aString asSymbol) register ]
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>registerPackageNamed:
MCVersionLoader>>ensurePackage:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
    title: 'Loading ' , version info name asString;
    run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version package....
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
    title: 'Loading ' , version info name asString;
    run ] in MCVersionLoader>>load in Block: RPackageConflictError: Package/Tag can not be added because it conflicts with package Alien tag Core
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
[ (packageName includes: $-)
    ifFalse: [ ^ self ].
^ self
    validateCanBeAddedPackageName: (packageName copyUpToLast: $-)
    tagName:
        (packageName copyAfterLast: $-)
            , (tagName ifNotNil: [ '-' , tagName ] ifNil: [ '' ]) ] in RPackageOrganizer>>validateCanBeAddedPackageName:tagName: in Block: [ (packageName includes: $-)...
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>validateCanBeAddedPackageName:tagName:
RPackageOrganizer>>validateCanBeAddedPackage:
RPackageOrganizer>>registerPackage:
RPackage>>register
[ (RPackage named: aString asSymbol) register ] in RPackageOrganizer>>registerPackageNamed: in Block: [ (RPackage named: aString asSymbol) register ]
IdentityDictionary(Dictionary)>>at:ifAbsent:
RPackageOrganizer>>packageNamed:ifAbsent:
RPackageOrganizer>>registerPackageNamed:
MCVersionLoader>>ensurePackage:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
    title: 'Loading ' , version info name asString;
    run ] in MCVersionLoader>>load in Block: [ self ensurePackage: version package....
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
    title: 'Loading ' , version info name asString;
    run ] in MCVersionLoader>>load in Block: "

On Wed, Oct 26, 2016 at 11:39 AM Esteban Lorenzano <estebanlm@gmail.com> wrote:
you do not need UFFI for that, you already have the Alien-MacOS* packages (not loaded by default, but you can find it at www.squeaksource.com/Alien, I need to prepare a configuration and add a catalog entry for it).

then you can do nice things like this: 


 

:)



On 26 Oct 2016, at 05:03, Dimitris Chloupis <kilon.alios@gmail.com> wrote:

Is there any information how to use UFI for calling dynamically shared ObjC libraries ?

<Screen Shot 2016-10-26 at 10.37.54.png><Screen Shot 2016-10-26 at 10.37.54.png>