Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
January 2012
- 118 participants
- 1442 messages
Re: [Pharo-project] Cog+linux: external module not found
by Eliot Miranda
On Mon, Jan 9, 2012 at 11:22 AM, Stéphane Ducasse <stephane.ducasse(a)inria.fr
> wrote:
> Hi guys
>
> I suggest that you both take a good and fresh air. I somehow learned some
> expressions I do not deeply understand
> but I prefer when I do not learn them :). I could not get SOL
>
"Shit out of luck."
> Wikipedia fails on it:
> Le sol représente la couche superficielle, meuble, de la
> croûte terrestre, résultant de la transformation de la roche mère, enrichie
> par des apports organiques. â¦
> I knew that one :)
>
> I'm sure that if you would be around a cup of coffee you would not react
> like that. I can understand both situations and
> I know by experience that email communication is not the best. Nobody
> likes to receive insults in his mailbox.
> So unplugged from keyboard even if I know how it is difficult :).
>
> Stef ZE Wise®
>
>
>
>
>
--
best,
Eliot
Jan. 9, 2012
Re: [Pharo-project] Cog+linux: external module not found
by Eliot Miranda
On Mon, Jan 9, 2012 at 11:06 AM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu>wrote:
> I think you have the situation very much in reverse. You are flying off
> the handle, not me.
>
No, Bill. I'm not interested in a public (or private) argument. But I am
not flying off the handle. Your opening messages in this thread display a
sense of entitlement, i..e that you expect me to debug and/or get Cog
working underneath Pharo on the particular linux distro that you're using,
You also display an ignorance of the community in stating "Is that really
the message we want to send to current and *prospective* users?" when I'm
only peripherally involved with Pharo; I wrote Cog, and work principally in
Newspeak and Squeak. You then accuse me of flying off the handle, when it
was you who used *'s and !!'s, not me. Either calm down or I'll have to
put you in my kill file. When you start providing feedback like Levente,
Mariano, Andreas et al, and stop demanding support I'll be interested in
your collaboration, but right now our exchanges don't feel mutually
beneficial. I'll not be responding to you further in this thread.
> Cog deserves better than to ignore feedback from motivated users.
> Motivated users deserve better than to be insulted for their efforts to
> improve it.
>
>
>
>
>
>
> ------------------------------
> *From:* pharo-project-bounces(a)lists.gforge.inria.fr [
> pharo-project-bounces(a)lists.gforge.inria.fr] on behalf of Eliot Miranda [
> eliot.miranda(a)gmail.com]
> *Sent:* Monday, January 09, 2012 1:57 PM
>
> *To:* Pharo-project(a)lists.gforge.inria.fr
> *Subject:* Re: [Pharo-project] Cog+linux: external module not found
>
> I'm definitely not interested in help from someone who flies off the
> handle like this. Plonk.
>
> On Mon, Jan 9, 2012 at 10:55 AM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu>wrote:
>
>> Eliot,
>>
>> Whining - that's a bit much. In fact it is TOTALLY unjustified.
>>
>> Last year, I spent (end to end) months learning how to get away from
>> creating my own hacked vms - that's how I knew about ldconfig's behavior ,
>> and have come to appreciate that Canonical got this one right.
>>
>> Recently, I spent hours running down why Cog fails to find properly
>> installed libraries on a major Linux platform. I'd say that's "pitching
>> in." It sure isn't whining!!
>>
>> Am I certain of all the details of what should happen and why? No. Am I
>> the best person to tell the vm to stop looking here/there/everywhere and
>> just use the module name as given? Certainly not. I *thought* you might
>> want to do that yourself, so it gets done properly.
>>
>> I also thought you might appreciate some help in debugging a problem.
>> Instead you tell me that I am an SOL whiner. Not good.
>>
>> Bill
>>
>>
>>
>> ------------------------------
>> *From:* pharo-project-bounces(a)lists.gforge.inria.fr [
>> pharo-project-bounces(a)lists.gforge.inria.fr] on behalf of Eliot Miranda [
>> eliot.miranda(a)gmail.com]
>> *Sent:* Monday, January 09, 2012 1:34 PM
>>
>> *To:* Pharo-project(a)lists.gforge.inria.fr
>> *Subject:* Re: [Pharo-project] Cog+linux: external module not found
>>
>>
>>
>> On Sat, Jan 7, 2012 at 5:16 PM, David T. Lewis <lewis(a)mail.msen.com>wrote:
>>
>>> On Sun, Jan 08, 2012 at 12:37:59AM +0000, Schwab,Wilhelm K wrote:
>>> > Eliot,
>>> >
>>> > SOL?? Is that really the message we want to send to current and
>>> *prospective* users? Canonical does something that makes sense from a
>>> security perspective (one needs root privileges to alter the ldconfig
>>> mapping, not to to use it). All the vm needs to do is request the
>>> #moduleName as given, and users of Pharo "SOL" as a result?
>>> >
>>> > Please reconsider.
>>> >
>>> > Bill
>>> >
>>>
>>> I think you are taking the response out of context. The actual statement
>>> was "Then you're SOL :) You'd need to write new support for Ubuntu."
>>>
>>> You might take that as a gentle suggestion to expend a bit of effort
>>> on it yourself. After all, it is open source, and Eliot is only one
>>> person. He can't do everything for everybody without a little help
>>> from the rest of us.
>>>
>>
>> quite. i don't even have an ubuntu VM, let alone the time to work on
>> it. Bill, instead of whining, pitch in, please.
>>
>>
>>>
>>> Dave
>>>
>>>
>>> >
>>> >
>>> >
>>> > ________________________________
>>> > From: pharo-project-bounces(a)lists.gforge.inria.fr [
>>> pharo-project-bounces(a)lists.gforge.inria.fr] on behalf of Eliot Miranda
>>> [eliot.miranda(a)gmail.com]
>>> > Sent: Saturday, January 07, 2012 6:38 PM
>>> > To: Pharo-project(a)lists.gforge.inria.fr
>>> > Subject: Re: [Pharo-project] Cog+linux: external module not found
>>> >
>>> >
>>> >
>>> > On Sat, Jan 7, 2012 at 8:49 AM, Schwab,Wilhelm K <
>>> bschwab(a)anest.ufl.edu<mailto:bschwab@anest.ufl.edu>> wrote:
>>> > Nick,
>>> >
>>> > Partial success. After a false start with getting output from strace
>>> (my fault), it showed me that the vm was looking a lot in the vm's
>>> directory. A symlink by the same name, allowed it to see the library.
>>> Clearly, this is not a fix, because one should not be forced to make links
>>> to any/every library on the system. However, it *was* nice to see the
>>> version string in an inspector :)
>>> >
>>> > Looking at the strace output (relevant parts below), it tries with
>>> prepending lib, appending .so, .so.dylib. It looks in the vm's directory,
>>> and in the root directory, not /usr/lib.
>>> >
>>> > It has been almost a year (based on a dated comment) since I last
>>> really strained my synapses on the workings of ldconfig. On my systems, it
>>> would tell one to look for the library as follows:
>>> >
>>> > ldconfig -p | grep Acces
>>> > libAccesIO-USB.so (libc6) => /usr/lib/libAccesIO-USB.so
>>> >
>>> > #moduleName answers 'libAccesIO-USB.so', and Ian's vm finds it. My
>>> (and I use the term LOOSELY) understanding is that Ubuntu no longer uses
>>> LD_LIBRARY_PATH. dlopen() seems to prefer that one use the names as
>>> reported by ldconfig. The best explanation I have found is that the change
>>> was a security measure.
>>> >
>>> > Then you're SOL :) You'd need to write new support for Ubuntu.
>>> >
>>> >
>>> > How does one get ldconfig to "know" where something lives? Putting a
>>> .so file in /usr/lib (and perhaps other places too) and then running
>>> ldconfig as sudo appears to build a cache. Then ldconfig -p (anyone can
>>> run this) will show the map, and one can grep the result to find something
>>> specifc, as above.
>>> >
>>> > Putting files in /usr/lib is a pain for things under active
>>> development. A file can live anywhere if one puts a .conf file in
>>> /etc/ld.so.confd; the .conf files should contain paths to directories to be
>>> searched for .so files - or at least that's how it *appears* to work. Run
>>> ldconfig as sudo to refresh the mapping, and verify with ldconfig - p.
>>> >
>>> > The fix might be as simply as having the cog vm try passing the
>>> #moduleName to dlopen().
>>> >
>>> > Nick, thanks for the nudge in a working direction. I will probably
>>> symlink another file and see if a mix of hardware and software will get
>>> closer to cooperating with me.
>>> >
>>> > Bill
>>> >
>>>
>>>
>>>
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>
>
> --
> best,
> Eliot
>
>
--
best,
Eliot
Jan. 9, 2012
Re: [Pharo-project] Bug in #pointsTo: ?
by Mariano Martinez Peck
On Mon, Jan 9, 2012 at 8:01 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
> On Mon, 9 Jan 2012, Mariano Martinez Peck wrote:
>
> On Mon, Jan 9, 2012 at 7:13 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
>>
>> On Mon, 9 Jan 2012, Mariano Martinez Peck wrote:
>>>
>>> Hi Levente. Thanks for looking into the issue. I saw your code and there
>>>
>>>> is
>>>> something I don't understand.
>>>>
>>>> pointsTo: anObject
>>>> "Answers true if the garbage collector would fail to collect anObject
>>>> because I hold a reference to it, or false otherwise"
>>>>
>>>> (self instVarsInclude: anObject)
>>>> ifTrue: [
>>>> self class isWeak ifFalse: [ ^true ].
>>>> 1 to: self class instSize do: [ :i |
>>>> (self instVarAt: i) == anObject ifTrue: [ ^true ] ].
>>>> ^false ]
>>>> ifFalse: [ ^self class == anObject and: [ self class isCompact not
>>>> ] ]
>>>>
>>>>
>>>> I don't understand the loop of
>>>>
>>>> 1 to: self class instSize do: [ :i |
>>>> (self instVarAt: i) == anObject ifTrue: [ ^true ] ].
>>>>
>>>>
>>>> In which scenario can (self instVarsInclude: anObject) answer true,
>>>> but the loop false?
>>>>
>>>>
>>> The scenario happens when the receiver has weak slots and the argument is
>>> referenced from one of those weak slots, but not from the other slots.
>>>
>>>
>>> Ok, I see. And moreover, there has to be a GC in the middle, right?
>> so..the scenario is "The scenario happens when the receiver has weak
>> slots,
>> the argument is referenced from one of those weak slots, but not from the
>> other non-weak slots, and also when a GC runs between the invokation to
>> #instVarsInclude: and the loop".
>> is that correct? so that I will add this comment to the code ;)
>>
>
> No, there doesn't have to be a GC.
>
>
>
So..I am puzzle again. I said "In which scenario can (self
instVarsInclude: anObject) answer true, but the loop false? "
you answered: "The scenario happens when the receiver has weak slots and
the argument is referenced from one of those weak slots, but not from the
other slots."
Imagine the receiver has a weak slot XXX that points to anObject. So (self
instVarsInclude: anObject) answers true. How can the loop answer false
without a GC?
why would XXX stop pointing to anObject if there is not GC in the middle ?
thanks
> Levente
>
>
>>
>>
>>> doesn't #instVarsInclude do exactly what you are doing there?
>>>
>>>>
>>>>
>>> Just partially. Since we have no information about which slots hold the
>>> reference to the argument, therefore this loop must be "repeated".
>>>
>>
>>
>> Ok, I see.
>>
>>
>>
>>>
>>>
>>> Anyway, I have integrated your changes in Pharo, but still, I have the
>>>> same
>>>> problem :(
>>>> If I understand correctly, the following shouldn't fail, but it does.
>>>> Here
>>>> is the version of Squeak that fails.
>>>>
>>>>
>>> The assetion fails, because the indirection vector (the Array found by
>>> PointerFinder) holds a reference to the object after the first assignment
>>> to a. If you move the temporary inside the block or use an inlined loop
>>> (e.g. #to:do: with literal block argument), then the assertion won't
>>> fail.
>>> So this is just a normal (maybe surprising) reference to the object.
>>>
>>>
>>> Excellent. Now I got it. Thank you very much for your help Levente. Now
>> PointerFinderTest are green :)
>>
>>
>>
>>> Levente
>>>
>>>
>>> | a |
>>>> 10 timesRepeat: [
>>>> a := Date new.
>>>> Smalltalk garbageCollect.
>>>> self assert: (PointerFinder pointersTo: a) isEmpty
>>>> ]
>>>>
>>>> Thanks a lot,
>>>>
>>>>
>>>> On Mon, Jan 9, 2012 at 2:40 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
>>>>
>>>> On Sun, 8 Jan 2012, Mariano Martinez Peck wrote:
>>>>
>>>>
>>>>> What I don't understand is why in Squeak it does work.
>>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>>> Because #pointsTo: is not used in Squeak (yet). As usual I dug
>>>>>>>> deeper
>>>>>>>>
>>>>>>> than
>>>>>>> I should have, so I'll publish a few changes soon.
>>>>>>>
>>>>>>>
>>>>>>> Ok, you are right. Squeak #inboundPointersExcluding: is using
>>>>>>>
>>>>>>> #instVarsInclude: rather than #pointsTo. And that solves the
>>>>>> problem in
>>>>>> Pharo as well. But still, I would like to understand why we get those
>>>>>> method contexts with #pointsTo.
>>>>>>
>>>>>>
>>>>>> Because #pointsTo: is a normal message send, it even sends other
>>>>> methods,
>>>>> so it will create contexts.
>>>>>
>>>>>
>>>>> Thanks Levente for your help. If you find something let us know, I
>>>>> want
>>>>> to
>>>>>
>>>>> learn :)
>>>>>>
>>>>>>
>>>>>> I pushed my changes to the Squeak Inbox, which fully works around
>>>>> this
>>>>> issue. The changes about weak references can simply be removed if you
>>>>> don't
>>>>> like them, the rest will just work without them.
>>>>>
>>>>>
>>>>> Levente
>>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Levente
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks in advance Levente!
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> it will create at least one new MethodContext which is not included
>>>>>>>> in
>>>>>>>>
>>>>>>>> that list.
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Levente
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Levente
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Thanks again.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Levente
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Do you mean what I understand :)? that some tools compiled
>>>>>>>>>>>>> methods?
>>>>>>>>>>>>> :)
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Stef
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://marianopeck.wordpress.**************com <
>>>>>>>>>>>>>> http://marianopeck.wordpress.
>>>>>>>>>>>>>> ****
>>>>>>>>>>>>>> com <http://marianopeck.wordpress.**********com<
>>>>>>>>>>>>>> http://marianopeck.****
>>>>>>>>>>>>>> wordpress.com <http://marianopeck.wordpress.******com<
>>>>>>>>>>>>>> http://marianopeck.**wordpress**.com <http://wordpress.com><
>>>>>>>>>>>>>> http://marianopeck.**wordpress.com<http://marianopeck.wordpress.com>
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>
>>>>>>>>>>>> http://marianopeck.wordpress.************com <
>>>>>>>>>>>> http://marianopeck.wordpress.
>>>>>>>>>>>> ****
>>>>>>>>>>>> com <http://marianopeck.wordpress.********com<
>>>>>>>>>>>> http://marianopeck.****
>>>>>>>>>>>> wordpress.com <http://marianopeck.wordpress.****com<
>>>>>>>>>>>> http://marianopeck.**wordpress.com<http://marianopeck.wordpress.com>
>>>>>>>>>>>> >
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Mariano
>>>>>>>>>> http://marianopeck.wordpress.**********com <
>>>>>>>>>> http://marianopeck.wordpress.
>>>>>>>>>> ****
>>>>>>>>>> com <http://marianopeck.wordpress.******com<http://marianopeck.**
>>>>>>>>>> wordpress.com <http://marianopeck.wordpress.**com<http://marianopeck.wordpress.com>
>>>>>>>>>> >>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>
>>>>>>>> Mariano
>>>>>>>> http://marianopeck.wordpress.********com <
>>>>>>>> http://marianopeck.wordpress.
>>>>>>>> ****
>>>>>>>> com <http://marianopeck.wordpress.****com<http://marianopeck.**
>>>>>>>> wordpress.com <http://marianopeck.wordpress.com>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> --
>>>>>> Mariano
>>>>>> http://marianopeck.wordpress.******com <http://marianopeck.wordpress.
>>>>>> ****
>>>>>> com <http://marianopeck.wordpress.**com<http://marianopeck.wordpress.com>
>>>>>> >>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>> --
>>>> Mariano
>>>> http://marianopeck.wordpress.****com <http://marianopeck.wordpress.**
>>>> com <http://marianopeck.wordpress.com>>
>>>>
>>>>
>>>>
>>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.**com <http://marianopeck.wordpress.com>
>>
>>
>
--
Mariano
http://marianopeck.wordpress.com
Jan. 9, 2012
Re: [Pharo-project] Cog+linux: external module not found
by Stéphane Ducasse
Hi guys
I suggest that you both take a good and fresh air. I somehow learned some expressions I do not deeply understand
but I prefer when I do not learn them :). I could not get SOL
Wikipedia fails on it:
Le sol représente la couche superficielle, meuble, de la croûte terrestre, résultant de la transformation de la roche mère, enrichie par des apports organiques. â¦
I knew that one :)
I'm sure that if you would be around a cup of coffee you would not react like that. I can understand both situations and
I know by experience that email communication is not the best. Nobody likes to receive insults in his mailbox.
So unplugged from keyboard even if I know how it is difficult :).
Stef ZE Wise®
Jan. 9, 2012
[Pharo-project] [update 1.4] #14281
by stephane ducasse
14281
-----
- Issue 2560: Convenient methods from Grease for Strings. Thanks Sven van Caekenberghe. Part Two.
http://code.google.com/p/pharo/issues/detail?id=2560
Jan. 9, 2012
Re: [Pharo-project] Bug in #pointsTo: ?
by Stéphane Ducasse
mariano could you update the comments to reflect this discussion.
I would like that the next guy that looks at the code can learn and not be puzzled.
Stef
On Jan 9, 2012, at 7:42 PM, Mariano Martinez Peck wrote:
>
>
> On Mon, Jan 9, 2012 at 7:13 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
> On Mon, 9 Jan 2012, Mariano Martinez Peck wrote:
>
> Hi Levente. Thanks for looking into the issue. I saw your code and there is
> something I don't understand.
>
> pointsTo: anObject
> "Answers true if the garbage collector would fail to collect anObject
> because I hold a reference to it, or false otherwise"
>
> (self instVarsInclude: anObject)
> ifTrue: [
> self class isWeak ifFalse: [ ^true ].
> 1 to: self class instSize do: [ :i |
> (self instVarAt: i) == anObject ifTrue: [ ^true ] ].
> ^false ]
> ifFalse: [ ^self class == anObject and: [ self class isCompact not
> ] ]
>
>
> I don't understand the loop of
>
> 1 to: self class instSize do: [ :i |
> (self instVarAt: i) == anObject ifTrue: [ ^true ] ].
>
>
> In which scenario can (self instVarsInclude: anObject) answer true,
> but the loop false?
>
> The scenario happens when the receiver has weak slots and the argument is referenced from one of those weak slots, but not from the other slots.
>
>
> Ok, I see. And moreover, there has to be a GC in the middle, right? so..the scenario is "The scenario happens when the receiver has weak slots, the argument is referenced from one of those weak slots, but not from the other non-weak slots, and also when a GC runs between the invokation to #instVarsInclude: and the loop".
> is that correct? so that I will add this comment to the code ;)
>
>
> doesn't #instVarsInclude do exactly what you are doing there?
>
> Just partially. Since we have no information about which slots hold the
> reference to the argument, therefore this loop must be "repeated".
>
> Ok, I see.
>
>
>
>
> Anyway, I have integrated your changes in Pharo, but still, I have the same
> problem :(
> If I understand correctly, the following shouldn't fail, but it does. Here
> is the version of Squeak that fails.
>
> The assetion fails, because the indirection vector (the Array found by PointerFinder) holds a reference to the object after the first assignment to a. If you move the temporary inside the block or use an inlined loop (e.g. #to:do: with literal block argument), then the assertion won't fail. So this is just a normal (maybe surprising) reference to the object.
>
>
> Excellent. Now I got it. Thank you very much for your help Levente. Now PointerFinderTest are green :)
>
>
> Levente
>
>
> | a |
> 10 timesRepeat: [
> a := Date new.
> Smalltalk garbageCollect.
> self assert: (PointerFinder pointersTo: a) isEmpty
> ]
>
> Thanks a lot,
>
>
> On Mon, Jan 9, 2012 at 2:40 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
>
> On Sun, 8 Jan 2012, Mariano Martinez Peck wrote:
>
> What I don't understand is why in Squeak it does work.
>
>
>
> Because #pointsTo: is not used in Squeak (yet). As usual I dug deeper
> than
> I should have, so I'll publish a few changes soon.
>
>
> Ok, you are right. Squeak #inboundPointersExcluding: is using
> #instVarsInclude: rather than #pointsTo. And that solves the problem in
> Pharo as well. But still, I would like to understand why we get those
> method contexts with #pointsTo.
>
>
> Because #pointsTo: is a normal message send, it even sends other methods,
> so it will create contexts.
>
>
> Thanks Levente for your help. If you find something let us know, I want to
> learn :)
>
>
> I pushed my changes to the Squeak Inbox, which fully works around this
> issue. The changes about weak references can simply be removed if you don't
> like them, the rest will just work without them.
>
>
> Levente
>
>
> Thanks
>
>
>
> Levente
>
>
> Thanks in advance Levente!
>
>
>
>
>
> it will create at least one new MethodContext which is not included in
>
> that list.
>
>
> Levente
>
>
>
>
>
>
>
> Levente
>
>
>
> Thanks again.
>
>
>
>
> Levente
>
>
>
>
>
> Do you mean what I understand :)? that some tools compiled
> methods?
> :)
>
>
>
> Stef
>
>
>
>
>
> --
>
> Mariano
> http://marianopeck.wordpress.**********com <
> http://marianopeck.wordpress.
> ****
> com <http://marianopeck.wordpress.******com<http://marianopeck.**
> wordpress.com <http://marianopeck.wordpress.**com<http://marianopeck.wordpress.com>
>
>
>
>
>
>
>
> --
>
> Mariano
> http://marianopeck.wordpress.********com <
> http://marianopeck.wordpress.
> ****
> com <http://marianopeck.wordpress.****com<http://marianopeck.**
> wordpress.com <http://marianopeck.wordpress.com>>
>
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.******com <http://marianopeck.wordpress.
> ****
> com <http://marianopeck.wordpress.**com<http://marianopeck.wordpress.com>
>
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.****com <http://marianopeck.wordpress.**
> com <http://marianopeck.wordpress.com>>
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.**com <http://marianopeck.wordpress.com>
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
Jan. 9, 2012
Re: [Pharo-project] Cog+linux: external module not found
by Schwab,Wilhelm K
I think you have the situation very much in reverse. You are flying off the handle, not me.
Cog deserves better than to ignore feedback from motivated users. Motivated users deserve better than to be insulted for their efforts to improve it.
________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [pharo-project-bounces(a)lists.gforge.inria.fr] on behalf of Eliot Miranda [eliot.miranda(a)gmail.com]
Sent: Monday, January 09, 2012 1:57 PM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] Cog+linux: external module not found
I'm definitely not interested in help from someone who flies off the handle like this. Plonk.
On Mon, Jan 9, 2012 at 10:55 AM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu<mailto:bschwab@anest.ufl.edu>> wrote:
Eliot,
Whining - that's a bit much. In fact it is TOTALLY unjustified.
Last year, I spent (end to end) months learning how to get away from creating my own hacked vms - that's how I knew about ldconfig's behavior , and have come to appreciate that Canonical got this one right.
Recently, I spent hours running down why Cog fails to find properly installed libraries on a major Linux platform. I'd say that's "pitching in." It sure isn't whining!!
Am I certain of all the details of what should happen and why? No. Am I the best person to tell the vm to stop looking here/there/everywhere and just use the module name as given? Certainly not. I *thought* you might want to do that yourself, so it gets done properly.
I also thought you might appreciate some help in debugging a problem. Instead you tell me that I am an SOL whiner. Not good.
Bill
________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr<mailto:pharo-project-bounces@lists.gforge.inria.fr> [pharo-project-bounces(a)lists.gforge.inria.fr<mailto:pharo-project-bounces@lists.gforge.inria.fr>] on behalf of Eliot Miranda [eliot.miranda(a)gmail.com<mailto:eliot.miranda@gmail.com>]
Sent: Monday, January 09, 2012 1:34 PM
To: Pharo-project(a)lists.gforge.inria.fr<mailto:Pharo-project@lists.gforge.inria.fr>
Subject: Re: [Pharo-project] Cog+linux: external module not found
On Sat, Jan 7, 2012 at 5:16 PM, David T. Lewis <lewis(a)mail.msen.com<mailto:lewis@mail.msen.com>> wrote:
On Sun, Jan 08, 2012 at 12:37:59AM +0000, Schwab,Wilhelm K wrote:
> Eliot,
>
> SOL?? Is that really the message we want to send to current and *prospective* users? Canonical does something that makes sense from a security perspective (one needs root privileges to alter the ldconfig mapping, not to to use it). All the vm needs to do is request the #moduleName as given, and users of Pharo "SOL" as a result?
>
> Please reconsider.
>
> Bill
>
I think you are taking the response out of context. The actual statement
was "Then you're SOL :) You'd need to write new support for Ubuntu."
You might take that as a gentle suggestion to expend a bit of effort
on it yourself. After all, it is open source, and Eliot is only one
person. He can't do everything for everybody without a little help
from the rest of us.
quite. i don't even have an ubuntu VM, let alone the time to work on it. Bill, instead of whining, pitch in, please.
Dave
>
>
>
> ________________________________
> From: pharo-project-bounces(a)lists.gforge.inria.fr<mailto:pharo-project-bounces@lists.gforge.inria.fr> [pharo-project-bounces(a)lists.gforge.inria.fr<mailto:pharo-project-bounces@lists.gforge.inria.fr>] on behalf of Eliot Miranda [eliot.miranda(a)gmail.com<mailto:eliot.miranda@gmail.com>]
> Sent: Saturday, January 07, 2012 6:38 PM
> To: Pharo-project(a)lists.gforge.inria.fr<mailto:Pharo-project@lists.gforge.inria.fr>
> Subject: Re: [Pharo-project] Cog+linux: external module not found
>
>
>
> On Sat, Jan 7, 2012 at 8:49 AM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu<mailto:bschwab@anest.ufl.edu><mailto:bschwab@anest.ufl.edu<mailto:bschwab@anest.ufl.edu>>> wrote:
> Nick,
>
> Partial success. After a false start with getting output from strace (my fault), it showed me that the vm was looking a lot in the vm's directory. A symlink by the same name, allowed it to see the library. Clearly, this is not a fix, because one should not be forced to make links to any/every library on the system. However, it *was* nice to see the version string in an inspector :)
>
> Looking at the strace output (relevant parts below), it tries with prepending lib, appending .so, .so.dylib. It looks in the vm's directory, and in the root directory, not /usr/lib.
>
> It has been almost a year (based on a dated comment) since I last really strained my synapses on the workings of ldconfig. On my systems, it would tell one to look for the library as follows:
>
> ldconfig -p | grep Acces
> libAccesIO-USB.so (libc6) => /usr/lib/libAccesIO-USB.so
>
> #moduleName answers 'libAccesIO-USB.so', and Ian's vm finds it. My (and I use the term LOOSELY) understanding is that Ubuntu no longer uses LD_LIBRARY_PATH. dlopen() seems to prefer that one use the names as reported by ldconfig. The best explanation I have found is that the change was a security measure.
>
> Then you're SOL :) You'd need to write new support for Ubuntu.
>
>
> How does one get ldconfig to "know" where something lives? Putting a .so file in /usr/lib (and perhaps other places too) and then running ldconfig as sudo appears to build a cache. Then ldconfig -p (anyone can run this) will show the map, and one can grep the result to find something specifc, as above.
>
> Putting files in /usr/lib is a pain for things under active development. A file can live anywhere if one puts a .conf file in /etc/ld.so.confd; the .conf files should contain paths to directories to be searched for .so files - or at least that's how it *appears* to work. Run ldconfig as sudo to refresh the mapping, and verify with ldconfig - p.
>
> The fix might be as simply as having the cog vm try passing the #moduleName to dlopen().
>
> Nick, thanks for the nudge in a working direction. I will probably symlink another file and see if a mix of hardware and software will get closer to cooperating with me.
>
> Bill
>
--
best,
Eliot
--
best,
Eliot
Jan. 9, 2012
Re: [Pharo-project] How can I get account on Jenkins?
by Stéphane Ducasse
excellent then!
>> I will check. I'm not sure that without an inria account you can access it.
>
> Yes, an account for Jenkins is possible. An account on the unix machine not,
> but all that is needed is editing scripts and that we do via Git.
>
> Works fine for Mac VM, for example.
Jan. 9, 2012
Re: [Pharo-project] Bug in #pointsTo: ?
by Levente Uzonyi
On Mon, 9 Jan 2012, Mariano Martinez Peck wrote:
> On Mon, Jan 9, 2012 at 7:13 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
>
>> On Mon, 9 Jan 2012, Mariano Martinez Peck wrote:
>>
>> Hi Levente. Thanks for looking into the issue. I saw your code and there
>>> is
>>> something I don't understand.
>>>
>>> pointsTo: anObject
>>> "Answers true if the garbage collector would fail to collect anObject
>>> because I hold a reference to it, or false otherwise"
>>>
>>> (self instVarsInclude: anObject)
>>> ifTrue: [
>>> self class isWeak ifFalse: [ ^true ].
>>> 1 to: self class instSize do: [ :i |
>>> (self instVarAt: i) == anObject ifTrue: [ ^true ] ].
>>> ^false ]
>>> ifFalse: [ ^self class == anObject and: [ self class isCompact not
>>> ] ]
>>>
>>>
>>> I don't understand the loop of
>>>
>>> 1 to: self class instSize do: [ :i |
>>> (self instVarAt: i) == anObject ifTrue: [ ^true ] ].
>>>
>>>
>>> In which scenario can (self instVarsInclude: anObject) answer true,
>>> but the loop false?
>>>
>>
>> The scenario happens when the receiver has weak slots and the argument is
>> referenced from one of those weak slots, but not from the other slots.
>>
>>
> Ok, I see. And moreover, there has to be a GC in the middle, right?
> so..the scenario is "The scenario happens when the receiver has weak slots,
> the argument is referenced from one of those weak slots, but not from the
> other non-weak slots, and also when a GC runs between the invokation to
> #instVarsInclude: and the loop".
> is that correct? so that I will add this comment to the code ;)
No, there doesn't have to be a GC.
Levente
>
>
>>
>> doesn't #instVarsInclude do exactly what you are doing there?
>>>
>>
>> Just partially. Since we have no information about which slots hold the
>> reference to the argument, therefore this loop must be "repeated".
>
>
> Ok, I see.
>
>
>>
>>
>>
>>> Anyway, I have integrated your changes in Pharo, but still, I have the
>>> same
>>> problem :(
>>> If I understand correctly, the following shouldn't fail, but it does. Here
>>> is the version of Squeak that fails.
>>>
>>
>> The assetion fails, because the indirection vector (the Array found by
>> PointerFinder) holds a reference to the object after the first assignment
>> to a. If you move the temporary inside the block or use an inlined loop
>> (e.g. #to:do: with literal block argument), then the assertion won't fail.
>> So this is just a normal (maybe surprising) reference to the object.
>>
>>
> Excellent. Now I got it. Thank you very much for your help Levente. Now
> PointerFinderTest are green :)
>
>
>>
>> Levente
>>
>>
>>> | a |
>>> 10 timesRepeat: [
>>> a := Date new.
>>> Smalltalk garbageCollect.
>>> self assert: (PointerFinder pointersTo: a) isEmpty
>>> ]
>>>
>>> Thanks a lot,
>>>
>>>
>>> On Mon, Jan 9, 2012 at 2:40 PM, Levente Uzonyi <leves(a)elte.hu> wrote:
>>>
>>> On Sun, 8 Jan 2012, Mariano Martinez Peck wrote:
>>>
>>>>
>>>> What I don't understand is why in Squeak it does work.
>>>>
>>>>>
>>>>>>
>>>>>>>
>>>>>>> Because #pointsTo: is not used in Squeak (yet). As usual I dug deeper
>>>>>> than
>>>>>> I should have, so I'll publish a few changes soon.
>>>>>>
>>>>>>
>>>>>> Ok, you are right. Squeak #inboundPointersExcluding: is using
>>>>>>
>>>>> #instVarsInclude: rather than #pointsTo. And that solves the problem in
>>>>> Pharo as well. But still, I would like to understand why we get those
>>>>> method contexts with #pointsTo.
>>>>>
>>>>>
>>>> Because #pointsTo: is a normal message send, it even sends other methods,
>>>> so it will create contexts.
>>>>
>>>>
>>>> Thanks Levente for your help. If you find something let us know, I want
>>>> to
>>>>
>>>>> learn :)
>>>>>
>>>>>
>>>> I pushed my changes to the Squeak Inbox, which fully works around this
>>>> issue. The changes about weak references can simply be removed if you
>>>> don't
>>>> like them, the rest will just work without them.
>>>>
>>>>
>>>> Levente
>>>>
>>>>
>>>> Thanks
>>>>>
>>>>>
>>>>>
>>>>> Levente
>>>>>>
>>>>>>
>>>>>> Thanks in advance Levente!
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> it will create at least one new MethodContext which is not included
>>>>>>> in
>>>>>>>
>>>>>>> that list.
>>>>>>>>
>>>>>>>>
>>>>>>>> Levente
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Levente
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks again.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Levente
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Do you mean what I understand :)? that some tools compiled
>>>>>>>>>>>> methods?
>>>>>>>>>>>> :)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Stef
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Mariano
>>>>>>>>>>>>>>
>>>>>>>>>>>>> http://marianopeck.wordpress.************com <
>>>>>>>>>>>>> http://marianopeck.wordpress.
>>>>>>>>>>>>> ****
>>>>>>>>>>>>> com <http://marianopeck.wordpress.********com<
>>>>>>>>>>>>> http://marianopeck.****
>>>>>>>>>>>>> wordpress.com <http://marianopeck.wordpress.****com<
>>>>>>>>>>>>> http://marianopeck.**wordpress.com<http://marianopeck.wordpress.com>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Mariano
>>>>>>>>>>> http://marianopeck.wordpress.**********com <
>>>>>>>>>>> http://marianopeck.wordpress.
>>>>>>>>>>> ****
>>>>>>>>>>> com <http://marianopeck.wordpress.******com<http://marianopeck.**
>>>>>>>>>>> wordpress.com <http://marianopeck.wordpress.**com<http://marianopeck.wordpress.com>
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>
>>>>>>>>> Mariano
>>>>>>>>> http://marianopeck.wordpress.********com <
>>>>>>>>> http://marianopeck.wordpress.
>>>>>>>>> ****
>>>>>>>>> com <http://marianopeck.wordpress.****com<http://marianopeck.**
>>>>>>>>> wordpress.com <http://marianopeck.wordpress.com>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> --
>>>>>>> Mariano
>>>>>>> http://marianopeck.wordpress.******com <http://marianopeck.wordpress.
>>>>>>> ****
>>>>>>> com <http://marianopeck.wordpress.**com<http://marianopeck.wordpress.com>
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>> --
>>>>> Mariano
>>>>> http://marianopeck.wordpress.****com <http://marianopeck.wordpress.**
>>>>> com <http://marianopeck.wordpress.com>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> Mariano
>>> http://marianopeck.wordpress.**com <http://marianopeck.wordpress.com>
>>>
>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
Jan. 9, 2012
Re: [Pharo-project] Cog+linux: external module not found
by Eliot Miranda
I'm definitely not interested in help from someone who flies off the handle
like this. Plonk.
On Mon, Jan 9, 2012 at 10:55 AM, Schwab,Wilhelm K <bschwab(a)anest.ufl.edu>wrote:
> Eliot,
>
> Whining - that's a bit much. In fact it is TOTALLY unjustified.
>
> Last year, I spent (end to end) months learning how to get away from
> creating my own hacked vms - that's how I knew about ldconfig's behavior ,
> and have come to appreciate that Canonical got this one right.
>
> Recently, I spent hours running down why Cog fails to find properly
> installed libraries on a major Linux platform. I'd say that's "pitching
> in." It sure isn't whining!!
>
> Am I certain of all the details of what should happen and why? No. Am I
> the best person to tell the vm to stop looking here/there/everywhere and
> just use the module name as given? Certainly not. I *thought* you might
> want to do that yourself, so it gets done properly.
>
> I also thought you might appreciate some help in debugging a problem.
> Instead you tell me that I am an SOL whiner. Not good.
>
> Bill
>
>
>
> ------------------------------
> *From:* pharo-project-bounces(a)lists.gforge.inria.fr [
> pharo-project-bounces(a)lists.gforge.inria.fr] on behalf of Eliot Miranda [
> eliot.miranda(a)gmail.com]
> *Sent:* Monday, January 09, 2012 1:34 PM
>
> *To:* Pharo-project(a)lists.gforge.inria.fr
> *Subject:* Re: [Pharo-project] Cog+linux: external module not found
>
>
>
> On Sat, Jan 7, 2012 at 5:16 PM, David T. Lewis <lewis(a)mail.msen.com>wrote:
>
>> On Sun, Jan 08, 2012 at 12:37:59AM +0000, Schwab,Wilhelm K wrote:
>> > Eliot,
>> >
>> > SOL?? Is that really the message we want to send to current and
>> *prospective* users? Canonical does something that makes sense from a
>> security perspective (one needs root privileges to alter the ldconfig
>> mapping, not to to use it). All the vm needs to do is request the
>> #moduleName as given, and users of Pharo "SOL" as a result?
>> >
>> > Please reconsider.
>> >
>> > Bill
>> >
>>
>> I think you are taking the response out of context. The actual statement
>> was "Then you're SOL :) You'd need to write new support for Ubuntu."
>>
>> You might take that as a gentle suggestion to expend a bit of effort
>> on it yourself. After all, it is open source, and Eliot is only one
>> person. He can't do everything for everybody without a little help
>> from the rest of us.
>>
>
> quite. i don't even have an ubuntu VM, let alone the time to work on
> it. Bill, instead of whining, pitch in, please.
>
>
>>
>> Dave
>>
>>
>> >
>> >
>> >
>> > ________________________________
>> > From: pharo-project-bounces(a)lists.gforge.inria.fr [
>> pharo-project-bounces(a)lists.gforge.inria.fr] on behalf of Eliot Miranda [
>> eliot.miranda(a)gmail.com]
>> > Sent: Saturday, January 07, 2012 6:38 PM
>> > To: Pharo-project(a)lists.gforge.inria.fr
>> > Subject: Re: [Pharo-project] Cog+linux: external module not found
>> >
>> >
>> >
>> > On Sat, Jan 7, 2012 at 8:49 AM, Schwab,Wilhelm K <
>> bschwab(a)anest.ufl.edu<mailto:bschwab@anest.ufl.edu>> wrote:
>> > Nick,
>> >
>> > Partial success. After a false start with getting output from strace
>> (my fault), it showed me that the vm was looking a lot in the vm's
>> directory. A symlink by the same name, allowed it to see the library.
>> Clearly, this is not a fix, because one should not be forced to make links
>> to any/every library on the system. However, it *was* nice to see the
>> version string in an inspector :)
>> >
>> > Looking at the strace output (relevant parts below), it tries with
>> prepending lib, appending .so, .so.dylib. It looks in the vm's directory,
>> and in the root directory, not /usr/lib.
>> >
>> > It has been almost a year (based on a dated comment) since I last
>> really strained my synapses on the workings of ldconfig. On my systems, it
>> would tell one to look for the library as follows:
>> >
>> > ldconfig -p | grep Acces
>> > libAccesIO-USB.so (libc6) => /usr/lib/libAccesIO-USB.so
>> >
>> > #moduleName answers 'libAccesIO-USB.so', and Ian's vm finds it. My
>> (and I use the term LOOSELY) understanding is that Ubuntu no longer uses
>> LD_LIBRARY_PATH. dlopen() seems to prefer that one use the names as
>> reported by ldconfig. The best explanation I have found is that the change
>> was a security measure.
>> >
>> > Then you're SOL :) You'd need to write new support for Ubuntu.
>> >
>> >
>> > How does one get ldconfig to "know" where something lives? Putting a
>> .so file in /usr/lib (and perhaps other places too) and then running
>> ldconfig as sudo appears to build a cache. Then ldconfig -p (anyone can
>> run this) will show the map, and one can grep the result to find something
>> specifc, as above.
>> >
>> > Putting files in /usr/lib is a pain for things under active
>> development. A file can live anywhere if one puts a .conf file in
>> /etc/ld.so.confd; the .conf files should contain paths to directories to be
>> searched for .so files - or at least that's how it *appears* to work. Run
>> ldconfig as sudo to refresh the mapping, and verify with ldconfig - p.
>> >
>> > The fix might be as simply as having the cog vm try passing the
>> #moduleName to dlopen().
>> >
>> > Nick, thanks for the nudge in a working direction. I will probably
>> symlink another file and see if a mix of hardware and software will get
>> closer to cooperating with me.
>> >
>> > Bill
>> >
>>
>>
>>
>
>
> --
> best,
> Eliot
>
>
--
best,
Eliot
Jan. 9, 2012