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
Message-Id: 43074B5B.10607@gentoo.org
OSXians,

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. 
However:

% locate readline.h
/Developer/SDKs/MacOSX10.2.8.sdk/usr/include/mysql/readline.h
/Developer/SDKs/MacOSX10.4.0.sdk/usr/include/readline/readline.h
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/readline/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 
readline?

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

Replies

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