[MacPorts] #44346: Selfupdate fails with Undefined symbols for architecture x86_64: "_rl_username_completion_function"

MacPorts noreply at macports.org
Wed Jul 16 07:01:06 PDT 2014


#44346: Selfupdate fails with Undefined symbols for architecture x86_64:
"_rl_username_completion_function"
---------------------------------+--------------------------------
  Reporter:  bugmail-macports@…  |      Owner:  macports-tickets@…
      Type:  defect              |     Status:  new
  Priority:  Normal              |  Milestone:
 Component:  base                |    Version:  2.3.1
Resolution:                      |   Keywords:
      Port:                      |
---------------------------------+--------------------------------

Comment (by bugmail-macports@…):

 Thanks for your answer.
 Indeed I have a couple of readline.h around, but not in /usr/local:

 {{{
 locate readline.h
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/editline/readline.h
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/readline/readline.h
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/editline/readline.h
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/readline/readline.h
 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/include/editline/readline.h
 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/include/readline/readline.h
 /opt/local/include/editline/readline.h
 /opt/local/include/readline/readline.h
 /opt/local/share/doc/readline/html/readline.html
 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base/src/pextlib1.0/readline.h
 /usr/include/editline/readline.h
 /usr/include/readline/readline.h
 }}}

 The ones in /usr/include/editline/ and /opt/local/include/*line/ all have
 the same signature (that of the Xcode for MacOSX10.9.sdk):

 {{{
 /*      $NetBSD: readline.h,v 1.33 2012/05/15 17:30:04 christos Exp $   */
 }}}

 {{{
 SHA1(/opt/local/include/editline/readline.h)=
 36d79499fa4b1cb5885596d8b6feae802283a0c3
 SHA1(/usr/include/readline/readline.h)=
 36d79499fa4b1cb5885596d8b6feae802283a0c3
 SHA1(/usr/include/editline/readline.h)=
 36d79499fa4b1cb5885596d8b6feae802283a0c3
 }}}
 while that in /opt/local/include/readline comes from the FSF:
 {{{
 #define RL_READLINE_VERSION     0x0603          /* Readline 6.3 */
 }}}
 {{{
 SHA1(/opt/local/include/readline/readline.h)=
 eb43dd1ba2d57d996666c22cb13d31d9fedd485c
 }}}

 It's a big mess, not surprising it doesn't work.

 I also have multiple libreadline:

 {{{
 locate libreadline
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/libreadline.dylib
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/libreadline.dylib
 /Library/Frameworks/R.framework/Versions/2.15/Resources/lib/libreadline.5.2.dylib
 /Library/Frameworks/R.framework/Versions/2.15/Resources/lib/libreadline.dylib
 /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libreadline.5.2.dylib
 /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libreadline.dylib
 /Library/Frameworks/R.framework/Versions/3.1/Resources/lib/libreadline.5.2.dylib
 /Library/Frameworks/R.framework/Versions/3.1/Resources/lib/libreadline.dylib
 /opt/local/lib/libreadline.6.2.dylib
 /opt/local/lib/libreadline.6.3.dylib
 /opt/local/lib/libreadline.6.dylib
 /opt/local/lib/libreadline.a
 /opt/local/lib/libreadline.dylib
 /usr/lib/libreadline.dylib
 }}}

 The one in /usr/lib doesn't contain _rl_username_completion_function. I
 attach it in nm.txt.


 Ok, then I tried to move /opt/local/include/*line and /usr/include/*line
 away but I get a different error:

 {{{
 -I/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base/src
 -I.
 -I/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base/vendor
 /vendor-destroot//opt/local/libexec/macports/include -fno-common
 sha256cmd.c -o sha256cmd.o
 /usr/bin/cc -c -DUSE_TCL_STUBS -DTCL_NO_DEPRECATED -g -O2 -std=c99 -Wextra
 -Wall -pedantic     -DHAVE_CONFIG_H
 -I/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base/src
 -I/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base/src
 -I.
 -I/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base/vendor
 /vendor-destroot//opt/local/libexec/macports/include -fno-common
 readline.c -o readline.o
 readline.c: In function 'completion_generator':
 readline.c:66:6: error: 'completion_interp' undeclared (first use in this
 function)
   if (completion_interp && generator_word) {
       ^
 }}}
 Apparently it is missing some headers... which one should I have kept?

-- 
Ticket URL: <https://trac.macports.org/ticket/44346#comment:2>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list