Gentoo Archives: gentoo-osx

From: Grobian <grobian@g.o>
To: gentoo-osx@l.g.o
Subject: [gentoo-osx] Readline issues
Date: Sat, 20 Aug 2005 15:26:08

as you all might know, readline is not existant on your OSX box.  At 
least it looks like that.  Apple supplies libedit and by default 
symlinks it to readline in /usr/lib thereby triggering our collision 
protect when emerging readline:

% la /usr/lib/libreadline.dylib
lrwxr-xr-x   1 root  wheel  13 Aug 20 14:17 /usr/lib/libreadline.dylib 
-> libedit.dylib

Not very interesting are this link and the libedit library, as they 
don't seem to care to link some readline.h file in 
/usr/include/readline/readline.h too.  So far, no big news I guess. 

% locate readline.h

This output looked very interesting, and scanning the readline.h file in 
  MacOSX10.4u.sdk it gave me the impression that this was dealing with 
an up-to-date version of libedit: one that has a compatibility layer 
with readline.  At least the rl_* functions are declared out there.  So 
I stepped into those shoes and decided to patch up libxml to use 
readline from /Developer/SDKs/MacOSX10.4u.sdk/.  Well, ok, because the 
configure script seems to plainly ignore whatever you tell it I just 
compiled the single file that failed due to a readline dep by hand, and 
it was a success, that is after that running make again, everything 
finished happily to compile.  "make check" was pretty happy too.  Running:

% ./.libs/tester --shell test/slashdot.xml
/ >

even gave me an editable prompt with history (!).

Moral of the story: GNU is not Linux.  Ehm, no.
- libedit appears to be a 'good enough' replacement for some tools, good 
enough to make >=readline-4.1 applications compile
- libedit is in portage
- libedit is supplied with OSX
- libedit is even completer (with readline.h) supplied with Apple's SDKs.
- there unfortunately is no virtual/readline in town, so emerging 
libedit doesn't give you readline, while in fact it does.
- assumming we would just lie some more to portage about what it has and 
what it doesn't have, we would have to add the readline.h file to 
/usr/include and make a package.provided.

I think all is dirty, but not being able to compile libxml because the 
testing program -- which a regular user will never use -- uses readline 
for its --shell mode which it doesn't even use in make check stinks too.

Besides that I'd like to go a bit broader here for a sec.  GPL is 
considered to be a virus by many people, and shouldn't this 
virtual/readline be a part of portage instead of assuming you use GNU's 

Feel free to tell me I should just wait till we can simply install 
readline.  (then still I'd like to use libedit I think)

Fabian Groffen
eBuild && Porting
Gentoo for Mac OS X
gentoo-osx@g.o mailing list


Subject Author
Re: [gentoo-osx] Readline issues "Mike Z." <shootingstar@×××××××××.au>