Discussion:
VIM 7.0 + SXCR 56 = Build Problems
Shawn Walker
2007-02-14 09:19:19 UTC
Permalink
Using vim 7.0 tarball and SXCR 56:

I was able to configure vim to be built with Sun Studio and it finished compiling perfectly. However, in the final build step when it goes to create the executable, it spews this:

Undefined first referenced
symbol in file
XmeXpmReadFileToPixmap objects/gui_xmebw.o
XmeXpmFreeAttributes objects/gui_xmebw.o
XmeXpmCreatePixmapFromData objects/gui_x11.o
XmeXpmReadFileToImage objects/gui_x11.o

I have looked everywhere for these functions, while they are reference in /usrt/dt/include/Xm/XpmP.h, they don't appear to actually be present in any of the files found in /usr/dt/lib!

What am I missing?

-Shawn


This message posted from opensolaris.org
Alan Coopersmith
2007-02-14 16:10:58 UTC
Permalink
Post by Shawn Walker
Undefined first referenced
symbol in file
XmeXpmReadFileToPixmap objects/gui_xmebw.o
XmeXpmFreeAttributes objects/gui_xmebw.o
XmeXpmCreatePixmapFromData objects/gui_x11.o
XmeXpmReadFileToImage objects/gui_x11.o
I have looked everywhere for these functions, while they are reference in /usrt/dt/include/Xm/XpmP.h, they don't appear to actually be present in any of the files found in /usr/dt/lib!
What am I missing?
Motif used to include a private copy of libXpm and that header
renamed the libXpm functions to find the Motif copies. In
Nevada, Motif was updated to just use libXpm now that it ships
on Solaris (has since S9). Some software written for releases
before we shipped libXpm cheated and used the Motif private copies
- for things like vim, where you have the source, finding the code
that uses it and switching it back to using libXpm directly (as it
presumably does on everything but Solaris) is the best answer.

For code without source, dropping a bunch of filter symbols into
libXm to redirect to libXpm is something I've thought of doing,
but not had time to get to yet.
--
-Alan Coopersmith- alan.coopersmith-xsfywfwIY+***@public.gmane.org
Sun Microsystems, Inc. - X Window System Engineering
Shawn Walker
2007-02-15 06:36:29 UTC
Permalink
Post by Shawn Walker
Post by Shawn Walker
I was able to configure vim to be built with Sun
Studio and it finished compiling perfectly. However,
in the final build step when it goes to create the
Post by Shawn Walker
Undefined first referenced
symbol in file
XmeXpmReadFileToPixmap
objects/gui_xmebw.o
ttributes objects/gui_xmebw.o
Post by Shawn Walker
XmeXpmCreatePixmapFromData
objects/gui_x11.o
eadFileToImage objects/gui_x11.o
Post by Shawn Walker
I have looked everywhere for these functions, while
they are reference in /usrt/dt/include/Xm/XpmP.h,
they don't appear to actually be present in any of
the files found in /usr/dt/lib!
Post by Shawn Walker
What am I missing?
Motif used to include a private copy of libXpm and
that header
renamed the libXpm functions to find the Motif
copies. In
Nevada, Motif was updated to just use libXpm now that
it ships
on Solaris (has since S9). Some software written
for releases
before we shipped libXpm cheated and used the Motif
private copies
- for things like vim, where you have the source,
finding the code
that uses it and switching it back to using libXpm
directly (as it
presumably does on everything but Solaris) is the
best answer.
For code without source, dropping a bunch of filter
symbols into
libXm to redirect to libXpm is something I've thought
of doing,
but not had time to get to yet.
--
-Alan Coopersmith-
Sun Microsystems, Inc. - X Window System
em Engineering
Thanks, that explains a lot. It also explains this little blurb I managed to find on vim.org:
http://www.vim.org/htmldoc/workshop.html
Post by Shawn Walker
5. Obtaining the latest version of the XPM library *workshop-xpm*
The XPM library is required to show images within Vim with Motif or Athena.
Without it the toolbar and signs will be disabled.
The XPM library is provide by Arnaud Le Hors of the French National Institute
for Research in Computer Science and Control. It can be downloaded from
Post by Shawn Walker
http://koala.ilog.fr/ftp/pub/xpm. The current release, as of this writing, is
xpm-3.4k-solaris.tgz, which is a gzip'ed tar file. If you create the directory
/usr/local/xpm and untar the file there you can use the uncommented lines in
the Makefile without changing them. If you use another xpm directory you will
need to change the XPM_DIR in src/Makefile.
Thanks,
-Shawn


This message posted from opensolaris.org

Loading...