#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