So, to solve the old question, I just solved / solved this problem.
As MisterEd says, you need the GNU readline library. However, when you create Term::Readline::Gnu , you also need to make sure that the GNU readline library library is compatible with your perl architecture, since perl compiles it using compilers compiled with.
On OS X, if you install alternate perl using a port or fink, you will get a perl binary compiled only for your architecture (i386 OR x86_64). In this case, the answer of MisterEd is A-OK.
However, as you can see from the above, the questionnaire uses Perl, which was compiled as a universal binary (-arch i386 -arch x86_64) - possibly the default Perl system. In my case, I used perlbrew to create a newer version of perl, but I needed it to be universal, so I could send things to other OS X machines, so I did some work to make a universal build.
In these cases, you need to compile the Gnu Readline library manually with some additional keys. I have done this:
GNU readline:
./configure CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5" \ LDFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5" ./configure \ --prefix=/usr/local; make
Now, for some reason, make failed in one of the last steps, creating a shared .dylib library, but at that moment it already created libreadline.a, which I copied to / usr / local / lib.
Term :: Readline :: Gnu:
Then I downloaded .tar.gz for Term :: Readline :: Gnu and did:
perl Makefile.PL --libdir='/usr/local/lib'; make; make install
Colin
source share