slefupdate failure
Ryan Schmidt
ryandesign at macports.org
Sun Apr 1 15:02:28 PDT 2007
On Apr 1, 2007, at 15:37, Massimo Di Stefano wrote:
>> Il giorno 01/apr/07, alle ore 01:15, Ryan Schmidt ha scritto:
>>
>>> On Mar 31, 2007, at 11:27, Elias Pipping wrote:
>>>
>>>> On Mar 31, 2007, at 4:59 PM, Massimo Di Stefano wrote:
>>>>
>>>>> ld: Undefined symbols:
>>>>> _rl_completion_matches
>>>>> _rl_filename_completion_function
>>>>> _rl_username_completion_function
>>>>> /usr/bin/libtool: internal link edit command failed
>>>>
>>>> Is it possible that you have readline installed in /usr/local ?
>>>
>>> To complete Elias's thought: If you do have readline in /usr/
>>> local, that's a problem for MacPorts. Get rid of that version of
>>> readline, if you're not using it for anything. If you are using
>>> it, then you'll need to temporarily move it out of the way, do
>>> your thing with MacPorts, then move your readline back in place.
>>> But note that you may very well need to do this each time you
>>> want to use any part of MacPorts, which will get tedious.
>>
>> i never installed readline from source, in usr/local
>>
>> i do not know if this can be an incompatibily with other unix-tools
>> like fink or some frameworks that i've installed.
>>
>>
>>
>> i've tried to "comment #" the fink path in my .bash_profile
>> and than i restarted term.app and launch again the sefupdate
>> command, but nothing changes.
>>
>> have you a suggestion a bout on "how check the problem" ?
>
> The error message really does point to a rogue readline somewhere
> in your path. To see everywhere that you have readline on your
> system, try this:
>
> find / -name '*readline*' 2>/dev/null
>
>
> this is the log :
Ok, so you can see that you have many copies of the readline
libraries on your system. You have a static (.a) and dynamic (.dylib)
pair in /scisoft/i386/lib:
> /scisoft/i386/lib/libreadline.5.1.dylib
> /scisoft/i386/lib/libreadline.5.dylib
> /scisoft/i386/lib/libreadline.a
> /scisoft/i386/lib/libreadline.dylib
You have a couple dynamic versions and a static version from Fink:
> /sw/lib/libreadline.4.2.dylib
> /sw/lib/libreadline.4.3.dylib
> /sw/lib/libreadline.4.dylib
> /sw/lib/libreadline.5.0.dylib
> /sw/lib/libreadline.5.dylib
> /sw/lib/libreadline.a
> /sw/lib/libreadline.dylib
You have a static version from Apple:
> /usr/lib/libreadline.dylib
You have a dynamic version in /usr/local/grasslib/lib:
> /usr/local/grasslib/lib/libreadline.5.2.dylib
> /usr/local/grasslib/lib/libreadline.5.dylib
> /usr/local/grasslib/lib/libreadline.dylib
And you do have a static version in /usr/local/lib, as was our
suspicion initially:
> /usr/local/lib/libreadline.a
My guess is that either the one in /usr/local/lib or one of the ones
in /sw/lib are being picked up by MacPorts, and that these readlines
are not behaving the way MacPorts expect them to. As I said before:
Move those out of the way (for example you could rename /usr/local
to /usr/local-disabled, or /sw to /sw-disabled), then try your thing
with MacPorts. Once you've succeeded doing whatever you were doing
with MacPorts, you can move the disabled readline back where it was
(understanding, however, that it may continue to interfere with your
use of MacPorts until you remove it completely).
More information about the macports-users
mailing list