Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
GeneralPortable MacsHardwareNetworking
Applications
Mac ApplicationsEudoraFirefox / MozillaInternet ExplorerOutlook ExpressMS OfficeEntourageExcelPowerPointWordVirtual PCMedia PlayerOther MS Products
Programming
Mac ProgrammingCodeWarriorPerl
Country Specific
Australian Mac GroupUK Mac Group

Mac Forum / Programming / Mac Programming / July 2005



Tip: Looking for answers? Try searching our database.

Link problem on Tiger(10.4.2)

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
snoopy10 - 28 Jul 2005 11:10 GMT
Hi,
I decided to go for Tiger and the installation went fine on my
powerbook G4. But  :(  when I tried to recompiled my own c/c++
software I got the following error:

ld: Undefined symbols:
_rl_insert_text

If I understood well this function belongs to a gnu readline library.
I tried to look for it on tiger and I found :

/usr/lib/libreadline.dylib (which is a system link to another system
link  libedit.dylib and finally points to  libedit.2.dylib) :?

So it's a dynamic library.
But why it was working on 10.3.8 and not anymore. This is a basic
library!

Is someone met such similar problem? and how to link with such
libraries(if it is really this one I should link)
thanks.

* posted via http://www.mymac.ws
* please report abuse to http://xinbox.com/mymac
Patrick Machielse - 28 Jul 2005 13:34 GMT
> ld: Undefined symbols:
> _rl_insert_text
[quoted text clipped - 8 lines]
> But why it was working on 10.3.8 and not anymore. This is a basic
> library!

If you use 'nm' to look at libedit.2.dylib you'll see that it only
contains _rl_insert, not _rl_insert_text.

If you need _rl_insert_text you'll have to install libreadline, like you
did on Panther.

patrick
PS. I know nothing about libreadline or libedit...
snoopy10 - 28 Jul 2005 16:14 GMT
> If you use 'nm' to look at libedit.2.dylib you'll see that it only
> contains _rl_insert, not _rl_insert_text.

> If you need _rl_insert_text you'll have to install libreadline, like
> you
> did on Panther.

> patrick
> PS. I know nothing about libreadline or libedit...

Thanks Patrick.
I couldn't remember this so useful "nm" command! :-)
Using nm, this _rl_insert_text routine is not  in libreadline.dylib
and it's normal in fact. _rl_insert is the standard one but  one
component of my project, not developped by myself uses a
_rl_insert_text which refers to _rl_insert and builds it's own
readline library. At least now I understand the failure.( On Panther
I did not install any readline library)

So what could be changed between Tiger and Panther is the way for
checking the libraries during the link.  Maybe on Panther my
"libreadline.a" was checked first and did not use the Panther's
readline library, so the component was  happy because in my
libreadline.a, the _rl_insert_text is included!

That's one explaination. At the meantime I realized I could get rid
of this readline library at least on the OS X platform!  8)

Thanks a lot for your quick and helpful answer.
:))

* posted via http://www.mymac.ws
* please report abuse to http://xinbox.com/mymac
Tom Harrington - 28 Jul 2005 16:25 GMT
> Hi,
> I decided to go for Tiger and the installation went fine on my
[quoted text clipped - 13 lines]
> But why it was working on 10.3.8 and not anymore. This is a basic
> library!

Maybe, but it's not one that's included with Mac OS X.  You must have
installed GNU readline with 10.3.8, possibly using Fink or Darwin Ports.  
Either would help you get it back.

Signature

Tom "Tom" Harrington
Macaroni, Automated System Maintenance for Mac OS X.
Version 2.0:  Delocalize, Repair Permissions, lots more.
See http://www.atomicbird.com/

 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.