hi, i've realised that when compiling vim with a motif gui on macosx, the compile doesn't link in -lXpm which it needs hence my problem. here's a little patch for any other wierdo with the same problem.
cheers, raf --- src/Makefile.orig 2010-06-08 10:36:42.000000000 +1000 +++ src/Makefile 2010-06-08 10:34:13.000000000 +1000 @@ -1155,7 +1155,7 @@ MOTIF_DEFS = -DFEAT_GUI_MOTIF $(NARROW_P MOTIF_IPATH = $(GUI_INC_LOC) MOTIF_LIBS_DIR = $(GUI_LIB_LOC) MOTIF_LIBS1 = -MOTIF_LIBS2 = $(MOTIF_LIBNAME) -lXt +MOTIF_LIBS2 = $(MOTIF_LIBNAME) -lXt -lXpm MOTIF_INSTALL = install_normal install_gui_extra MOTIF_TARGETS = installglinks MOTIF_MAN_TARGETS = yes raf wrote: > hi, > > i've just got a shiny new corei7 macbookpro with macosx-10.6.3 > and i'm trying to compile an x11-motif vim-7.2.436 on it with: > > >configure \ > > --disable-darwin \ > > --with-x \ > > --enable-gui=motif \ > > --enable-multibyte \ > > --with-mac-arch=current \ > > --with-features=huge > > (having first installed openmotif via macports) > > the configure output is attached in case it helps. > > and i get the following compile error: > > > gcc -L/opt/local/lib -L/opt/local/lib -R/opt/local/lib -L/usr/local/lib > > -o vim objects/buffer.o objects/charset.o objects/diff.o > > objects/digraph.o objects/edit.o objects/eval.o objects/ex_cmds.o > > objects/ex_cmds2.o objects/ex_docmd.o objects/ex_eval.o objects/ex_getln.o > > objects/fileio.o objects/fold.o objects/getchar.o objects/hardcopy.o > > objects/hashtab.o objects/if_cscope.o objects/if_xcmdsrv.o objects/main.o > > objects/mark.o objects/memfile.o objects/memline.o objects/menu.o > > objects/message.o objects/misc1.o objects/misc2.o objects/move.o > > objects/mbyte.o objects/normal.o objects/ops.o objects/option.o > > objects/os_unix.o objects/pathdef.o objects/popupmnu.o objects/quickfix.o > > objects/regexp.o objects/screen.o objects/search.o objects/spell.o > > objects/syntax.o objects/tag.o objects/term.o objects/ui.o objects/undo.o > > objects/window.o objects/gui.o objects/gui_motif.o objects/gui_x11.o > > objects/pty.o objects/gui_beval.o objects/gui_xmdlg.o objects/gui_xmebw.o > > objects/netbeans.o objects/version.o -lXp -lXmu -lXext -lXm -lXt > > -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -ldl -lm -lncurses -liconv > >Undefined symbols: > > "_XpmReadFileToPixmap", referenced from: > > _check_xpm in gui_motif.o > > "_XpmFreeAttributes", referenced from: > > _check_xpm in gui_motif.o > > _gui_mch_init in gui_x11.o > > "_XpmReadFileToImage", referenced from: > > _gui_mch_register_sign in gui_x11.o > > "_XpmCreatePixmapFromData", referenced from: > > _gui_mch_dialog in gui_motif.o > > _gui_mch_init in gui_x11.o > >ld: symbol(s) not found > >collect2: ld returned 1 exit status > >make[1]: *** [vim] Error 1 > >make: *** [first] Error 2 > > i have the following copies of libXpm: > > >$ locate libXpm > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.11.0.dylib > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.dylib > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.11.0.dylib > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.dylib > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.dylib > >/usr/X11/lib/libXpm.4.11.0.dylib > >/usr/X11/lib/libXpm.4.dylib > >/usr/X11/lib/libXpm.dylib > > (although i expect that only the one in /usr/X11 matters) > > and they all contain all of the missing symbols: > > >$ a=/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib > >$ b=/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.dylib > >$ c=/usr/X11/lib/libXpm.4.dylib > >$ for lib in $a $b $c; do nm $lib | grep _XpmReadFileToPixmap; done > >0000000000003870 T _XpmReadFileToPixmap > >00000000000036ab T _XpmReadFileToPixmap > >00000000000036a7 T _XpmReadFileToPixmap > >$ for lib in $a $b $c; do nm $lib | grep _XpmFreeAttributes; done > >0000000000000e30 T _XpmFreeAttributes > >0000000000000e6a T _XpmFreeAttributes > >0000000000000e66 T _XpmFreeAttributes > >$ for lib in $a $b $c; do nm $lib | grep _XpmReadFileToImage; done > >0000000000003730 T _XpmReadFileToImage > >000000000000354e T _XpmReadFileToImage > >000000000000354a T _XpmReadFileToImage > >$ for lib in $a $b $c; do nm $lib | grep _XpmCreatePixmapFromData; done > >0000000000002dd0 T _XpmCreatePixmapFromData > >0000000000002ce1 T _XpmCreatePixmapFromData > >0000000000002cdd T _XpmCreatePixmapFromData > > the libraries all have lots of architectures: > > >$ for lib in $a $b $c; do file $lib; done > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib: Mach-O universal > >binary with 4 architectures > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >ppc7400): Mach-O dynamically linked shared library stub ppc > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >ppc64): Mach-O 64-bit dynamically linked shared library stub ppc64 > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >i386): Mach-O dynamically linked shared library stub i386 > >/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >x86_64): Mach-O 64-bit dynamically linked shared library stub x86_64 > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.dylib: Mach-O universal > >binary with 3 architectures > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >x86_64): Mach-O 64-bit dynamically linked shared library stub x86_64 > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >i386): Mach-O dynamically linked shared library stub i386 > >/Developer/SDKs/MacOSX10.6.sdk/usr/X11/lib/libXpm.4.dylib (for architecture > >ppc7400): Mach-O dynamically linked shared library stub ppc > >/usr/X11/lib/libXpm.4.dylib: Mach-O universal binary with 3 architectures > >/usr/X11/lib/libXpm.4.dylib (for architecture x86_64): Mach-O 64-bit > >dynamically linked shared library x86_64 > >/usr/X11/lib/libXpm.4.dylib (for architecture i386): Mach-O dynamically > >linked shared library i386 > >/usr/X11/lib/libXpm.4.dylib (for architecture ppc7400): Mach-O dynamically > >linked shared library ppc > > i'm assuming that i'm compiling for x86_64 by default although uname says > i386: > >$ uname -a > >Darwin neddy 10.3.1 Darwin Kernel Version 10.3.1: Mon Mar 22 15:13:15 PDT > >2010; root:xnu-1504.3.52~1/RELEASE_I386 i386 > > any idea what i'm doing wrong? > > cheers, > raf > > p.s. i also tried to install the motif variant of the vim macport > (vim @7.2.433_0+motif+x11) and it installed "successfully" but > without motif support in it. > > -- > You received this message from the "vim_dev" maillist. > Do not top-post! Type your reply below the text you are replying to. > For more information, visit http://www.vim.org/maillist.php > /usr/local/src/vim72/src > configure: creating cache auto/config.cache > checking whether make sets $(MAKE)... yes > checking for gcc... gcc > checking for C compiler default output file name... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ISO C89... none needed > checking how to run the C preprocessor... gcc -E > checking for grep that handles long lines and -e... /usr/bin/grep > checking for egrep... /usr/bin/grep -E > checking for library containing strerror... none required > checking for gawk... gawk > checking for strip... strip > checking for ANSI C header files... yes > checking for sys/wait.h that is POSIX.1 compatible... yes > configure: checking for buggy tools... > - sh is 'GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0) > Copyright (C) 2007 Free Software Foundation, Inc.' - probably OK. > checking for BeOS... no > checking for QNX... no > checking for Darwin (Mac OS X)... yes > checking --disable-darwin argument... yes, Darwin support excluded > checking --with-mac-arch argument... current > checking --with-developer-dir argument... not present > checking for xcode-select... /usr/bin/xcode-select > checking for developer dir using xcode-select... /Developer > checking --with-local-dir argument... Defaulting to /usr/local > checking --with-vim-name argument... Defaulting to vim > checking --with-ex-name argument... Defaulting to ex > checking --with-view-name argument... Defaulting to view > checking --with-global-runtime argument... no > checking --with-modified-by argument... no > checking if character set is EBCDIC... no > checking --disable-selinux argument... no > checking for is_selinux_enabled in -lselinux... no > checking --with-features argument... huge > checking --with-compiledby argument... no > checking --disable-xsmp argument... no > checking --disable-xsmp-interact argument... no > checking --enable-mzschemeinterp argument... no > checking --enable-perlinterp argument... no > checking --enable-pythoninterp argument... no > checking --enable-tclinterp argument... no > checking --enable-rubyinterp argument... no > checking --enable-cscope argument... no > checking --enable-workshop argument... no > checking --disable-netbeans argument... no > checking for socket in -lsocket... no > checking for gethostbyname in -lnsl... no > checking whether compiling netbeans integration is possible... yes > checking --enable-sniff argument... no > checking --enable-multibyte argument... yes > checking --enable-hangulinput argument... no > checking --enable-xim argument... defaulting to auto > checking --enable-fontset argument... no > checking for xmkmf... /opt/local/bin/xmkmf > checking for X... libraries /opt/local/lib, headers /opt/local/include > checking whether -R must be followed by a space... no > checking for gethostbyname... yes > checking for connect... yes > checking for remove... yes > checking for shmat... yes > checking for IceConnectionNumber in -lICE... yes > checking if X11 header files can be found... yes > checking for _XdmcpAuthDoIt in -lXdmcp... yes > checking for IceOpenConnection in -lICE... yes > checking for XpmCreatePixmapFromData in -lXpm... no > checking if X11 header files implicitly declare return values... no > checking size of wchar_t is 2 bytes... no > checking --enable-gui argument... Motif GUI support > checking for location of Motif GUI includes... /opt/local/include > checking --with-motif-lib argument... no > checking for location of Motif GUI libs... /opt/local/lib > checking for XShapeQueryExtension in -lXext... yes > checking for wslen in -lw... no > checking for dlsym in -ldl... yes > checking for XmuCreateStippledPixmap in -lXmu... yes > checking for XpEndJob in -lXp... yes > checking for extra X11 defines... no > checking X11/SM/SMlib.h usability... yes > checking X11/SM/SMlib.h presence... yes > checking for X11/SM/SMlib.h... yes > checking X11/xpm.h usability... yes > checking X11/xpm.h presence... yes > checking for X11/xpm.h... yes > checking X11/Sunkeysym.h usability... yes > checking X11/Sunkeysym.h presence... yes > checking for X11/Sunkeysym.h... yes > checking for XIMText in X11/Xlib.h... yes > X GUI selected; xim has been enabled > checking for X11/Xmu/Editres.h... yes > checking Xm/Xm.h usability... yes > checking Xm/Xm.h presence... yes > checking for Xm/Xm.h... yes > checking Xm/XpmP.h usability... yes > checking Xm/XpmP.h presence... yes > checking for Xm/XpmP.h... yes > checking Xm/JoinSideT.h usability... yes > checking Xm/JoinSideT.h presence... yes > checking for Xm/JoinSideT.h... yes > checking Xm/TraitP.h usability... yes > checking Xm/TraitP.h presence... yes > checking for Xm/TraitP.h... yes > checking Xm/Manager.h usability... yes > checking Xm/Manager.h presence... yes > checking for Xm/Manager.h... yes > checking Xm/UnhighlightT.h usability... yes > checking Xm/UnhighlightT.h presence... yes > checking for Xm/UnhighlightT.h... yes > checking Xm/Notebook.h usability... yes > checking Xm/Notebook.h presence... yes > checking for Xm/Notebook.h... yes > checking for XpmAttributes_21 in Xm/XpmP.h... no > checking whether toupper is broken... no > checking whether __DATE__ and __TIME__ work... yes > checking whether __attribute__((unused)) is allowed... yes > checking elf.h usability... no > checking elf.h presence... no > checking for elf.h... no > checking for dirent.h that defines DIR... yes > checking for library containing opendir... none required > checking stdarg.h usability... yes > checking stdarg.h presence... yes > checking for stdarg.h... yes > checking stdlib.h usability... yes > checking stdlib.h presence... yes > checking for stdlib.h... yes > checking string.h usability... yes > checking string.h presence... yes > checking for string.h... yes > checking sys/select.h usability... yes > checking sys/select.h presence... yes > checking for sys/select.h... yes > checking sys/utsname.h usability... yes > checking sys/utsname.h presence... yes > checking for sys/utsname.h... yes > checking termcap.h usability... yes > checking termcap.h presence... yes > checking for termcap.h... yes > checking fcntl.h usability... yes > checking fcntl.h presence... yes > checking for fcntl.h... yes > checking sgtty.h usability... yes > checking sgtty.h presence... yes > checking for sgtty.h... yes > checking sys/ioctl.h usability... yes > checking sys/ioctl.h presence... yes > checking for sys/ioctl.h... yes > checking sys/time.h usability... yes > checking sys/time.h presence... yes > checking for sys/time.h... yes > checking sys/types.h usability... yes > checking sys/types.h presence... yes > checking for sys/types.h... yes > checking termio.h usability... no > checking termio.h presence... no > checking for termio.h... no > checking iconv.h usability... yes > checking iconv.h presence... yes > checking for iconv.h... yes > checking langinfo.h usability... yes > checking langinfo.h presence... yes > checking for langinfo.h... yes > checking math.h usability... yes > checking math.h presence... yes > checking for math.h... yes > checking unistd.h usability... yes > checking unistd.h presence... yes > checking for unistd.h... yes > checking stropts.h usability... no > checking stropts.h presence... no > checking for stropts.h... no > checking errno.h usability... yes > checking errno.h presence... yes > checking for errno.h... yes > checking sys/resource.h usability... yes > checking sys/resource.h presence... yes > checking for sys/resource.h... yes > checking sys/systeminfo.h usability... no > checking sys/systeminfo.h presence... no > checking for sys/systeminfo.h... no > checking locale.h usability... yes > checking locale.h presence... yes > checking for locale.h... yes > checking sys/stream.h usability... no > checking sys/stream.h presence... no > checking for sys/stream.h... no > checking termios.h usability... yes > checking termios.h presence... yes > checking for termios.h... yes > checking libc.h usability... yes > checking libc.h presence... yes > checking for libc.h... yes > checking sys/statfs.h usability... no > checking sys/statfs.h presence... no > checking for sys/statfs.h... no > checking poll.h usability... yes > checking poll.h presence... yes > checking for poll.h... yes > checking sys/poll.h usability... yes > checking sys/poll.h presence... yes > checking for sys/poll.h... yes > checking pwd.h usability... yes > checking pwd.h presence... yes > checking for pwd.h... yes > checking utime.h usability... yes > checking utime.h presence... yes > checking for utime.h... yes > checking sys/param.h usability... yes > checking sys/param.h presence... yes > checking for sys/param.h... yes > checking libintl.h usability... no > checking libintl.h presence... no > checking for libintl.h... no > checking libgen.h usability... yes > checking libgen.h presence... yes > checking for libgen.h... yes > checking util/debug.h usability... no > checking util/debug.h presence... no > checking for util/debug.h... no > checking util/msg18n.h usability... no > checking util/msg18n.h presence... no > checking for util/msg18n.h... no > checking frame.h usability... no > checking frame.h presence... no > checking for frame.h... no > checking sys/acl.h usability... yes > checking sys/acl.h presence... yes > checking for sys/acl.h... yes > checking sys/access.h usability... no > checking sys/access.h presence... no > checking for sys/access.h... no > checking sys/sysinfo.h usability... no > checking sys/sysinfo.h presence... no > checking for sys/sysinfo.h... no > checking wchar.h usability... yes > checking wchar.h presence... yes > checking for wchar.h... yes > checking wctype.h usability... yes > checking wctype.h presence... yes > checking for wctype.h... yes > checking for sys/ptem.h... no > checking for sys/sysctl.h... yes > checking for pthread_np.h... no > checking strings.h usability... yes > checking strings.h presence... yes > checking for strings.h... yes > checking if strings.h can be included after string.h... yes > checking whether gcc needs -traditional... no > checking for an ANSI C-conforming const... yes > checking for working volatile... yes > checking for mode_t... yes > checking for off_t... yes > checking for pid_t... yes > checking for size_t... yes > checking for uid_t in sys/types.h... yes > checking whether time.h and sys/time.h may both be included... yes > checking for ino_t... yes > checking for dev_t... yes > checking for rlim_t... yes > checking for stack_t... yes > checking whether stack_t has an ss_base field... no > checking --with-tlib argument... empty: automatic terminal library selection > checking for tgetent in -lncurses... yes > checking whether we talk terminfo... yes > checking what tgetent() returns for an unknown terminal... non-zero > checking whether termcap.h contains ospeed... yes > checking whether termcap.h contains UP, BC and PC... yes > checking whether tputs() uses outfuntype... no > checking whether sys/select.h and sys/time.h may both be included... yes > checking for /dev/ptc... no > checking for SVR4 ptys... yes > checking for ptyranges... pqrstuvw / 0123456789abcdef > checking default tty permissions/group... can't determine - assume ptys are > world accessible > world > checking return type of signal handlers... void > checking for struct sigcontext... yes > checking getcwd implementation is broken... no > checking for bcmp... yes > checking for fchdir... yes > checking for fchown... yes > checking for fsync... yes > checking for getcwd... yes > checking for getpseudotty... no > checking for getpwnam... yes > checking for getpwuid... yes > checking for getrlimit... yes > checking for gettimeofday... yes > checking for getwd... yes > checking for lstat... yes > checking for memcmp... yes > checking for memset... yes > checking for mkdtemp... yes > checking for nanosleep... yes > checking for opendir... yes > checking for putenv... yes > checking for qsort... yes > checking for readlink... yes > checking for select... yes > checking for setenv... yes > checking for setpgid... yes > checking for setsid... yes > checking for sigaltstack... yes > checking for sigstack... no > checking for sigset... yes > checking for sigsetjmp... yes > checking for sigaction... yes > checking for sigvec... yes > checking for strcasecmp... yes > checking for strerror... yes > checking for strftime... yes > checking for stricmp... no > checking for strncasecmp... yes > checking for strnicmp... no > checking for strpbrk... yes > checking for strtol... yes > checking for tgetent... yes > checking for towlower... yes > checking for towupper... yes > checking for iswupper... yes > checking for usleep... yes > checking for utime... yes > checking for utimes... yes > checking for _LARGEFILE_SOURCE value needed for large files... no > checking for special C compiler options needed for large files... no > checking for _FILE_OFFSET_BITS value needed for large files... no > checking for st_blksize... yes > checking whether stat() ignores a trailing slash... no > checking for iconv_open()... yes; with -liconv > checking for nl_langinfo(CODESET)... yes > checking for strtod in -lm... yes > checking for strtod() and other floating point functions... yes > checking --disable-acl argument... no > checking for acl_get_file in -lposix1e... no > checking for acl_get_file in -lacl... no > checking for POSIX ACL support... yes > checking for Solaris ACL support... no > checking for AIX ACL support... no > checking --disable-gpm argument... no > checking for gpm... no > checking --disable-sysmouse argument... no > checking for sysmouse... no > checking for FD_CLOEXEC... yes > checking for rename... yes > checking for sysctl... yes > checking for sysinfo... not usable > checking for sysinfo.mem_unit... no > checking for sysconf... not usable > checking size of int... 4 > checking whether memmove handles overlaps... yes > checking whether X_LOCALE needed... yes > checking for _xpg4_setrunelocale in -lxpg4... no > checking how to create tags... ctags -t > checking how to run man with a section nr... man -s > checking --disable-nls argument... no > checking for msgfmt... msgfmt > checking for NLS... gettext() doesn't work > checking dlfcn.h usability... yes > checking dlfcn.h presence... yes > checking for dlfcn.h... yes > checking for dlopen()... yes > checking for dlsym()... yes > checking setjmp.h usability... yes > checking setjmp.h presence... yes > checking for setjmp.h... yes > checking for GCC 3 or later... yes > checking whether we need -D_FORTIFY_SOURCE=1... yes > configure: updating cache auto/config.cache > configure: creating auto/config.status > config.status: creating auto/config.mk > config.status: creating auto/config.h -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php
