Opened 14 years ago

Closed 14 years ago

#11742 closed defect (invalid)

"port selfupdate" fails

Reported by: Uncle.Niccolo@… Owned by: markd@…
Priority: Not set Milestone:
Component: base Version: 1.4
Keywords: selfupdate failure Cc: jmpp@…
Port:

Description

updating to 1.4 with "sudo port selfupdate" fails with compilation error.

Reason is that configure claims that the routines rl_filename_completion_function rl_username_completion_function rl_completion_matches are present in OS X 10.4, resulting in a link error when building pextlib1.0 Only the functions without the leading rl_ are present, but even then compiling base/pextlib1.0/readline.c fails, since the prototypes from /usr/include/readline/readline.h are (for whatever reason) not found.

This happened during update on 10.4.9 on PPC and Intel Macs

Attachments (1)

dump.txt (18.6 KB) - added by towynlin@… 14 years ago.
Terminal output for selfupdate and find readline

Download all attachments as: .zip

Change History (10)

comment:1 Changed 14 years ago by jmpp@…

Most likely you have a readline installation other than the OS provided one, what you report is a common failure. One, however, that's outside the scope of MacPorts. Can you please provide the output of sudo find /usr -name "*readline*" and sudo find /opt -name "*readline*"? That is, search for readline headers and libraries under both the /usr and /opt trees. I'l mark this ticket as invalid if suspicions are confirmed.

-jmpp

comment:2 Changed 14 years ago by jmpp@…

Cc: jmpp@… added

comment:3 Changed 14 years ago by jmpp@…

Milestone: MacPorts 1.4MacPorts 1.4.1

Changed 14 years ago by towynlin@…

Attachment: dump.txt added

Terminal output for selfupdate and find readline

comment:4 Changed 14 years ago by towynlin@…

Having the same problem -- using OS 10.4.9 on PPC. Attempting to selfupdate from 1.320 to 1.400. Attached file dump.txt -- readline found in both /usr and /opt trees. I tried uninstalling and cleaning the readline port and received the same error. Reinstalled it.

comment:5 Changed 14 years ago by towynlin@…

Just saw this page: http://rob.cogit8.org/blog/2006/nov/06/macports-and-removing-fink/

and ran these commands as advised:

sudo rm /usr/local/lib/libreadline*
sudo rm -rf /usr/local/include/readline

which solved my problem -- I didn't understand from jmpp's comment that things in /usr were the problem... "the OS provided" readline, I would assume, would be in /usr, not /opt. I couldn't find any way to edit the wiki -- since this is "a common failure" it would be great if someone with wiki editing privileges would add this solution to either the Problem HotList or the FAQ.

comment:6 Changed 14 years ago by pipping@…

Milestone: MacPorts 1.4.1MacPorts 1.4.2

comment:7 Changed 14 years ago by pipping@…

Milestone: MacPorts 1.4.2MacPorts 1.4.3

comment:8 Changed 14 years ago by kballard (Lily Ballard)

Milestone: MacPorts 1.4.3Needs developer review

comment:9 Changed 14 years ago by jmpp@…

Milestone: Needs developer review
Priority: BlockerNot set
Resolution: invalid
severity: SeriousNormal
Status: newclosed

Sorry for taking so long to get back to you on this guys, but this is an invalid report per the output in the dump.txt file, which clearly reveals the presence of user installed readline library in the /usr/local/ tree:

/usr/local/include/readline
/usr/local/include/readline/readline.h
/usr/local/lib/libreadline.a
/usr/local/man/man3/readline.3

Removing all these files should buy you back the ability to compile MacPorts and selfupdate, as explained in the link pasted above: http://rob.cogit8.org/blog/2006/nov/06/macports-and-removing-fink/. Deactivating the MacPorts installed readline files, at least during MacPorts installation, might also help.

-jmpp

Note: See TracTickets for help on using tickets.