================================================================
Dear Bug Team!
When using the menu: Options -> Advanced(Customize) -> Emacs ->
Packages -> Packages..., xemacs dies with the following error.
ld.so.1: xemacs: fatal: relocation error: file
/usr/local/lib/libpng.so.3: symbol inflateInit_: referenced symbol not found
Killed
This symbol should be found in zlib. The strange thing to me is that
when xemacs is dumped on x86, the reference to zlib is removed. On
sparc, zlib still exists in the dumped xemacs executable. The only
difference in my sparc build is that "-march=i386 -mcpu=pentium3" is
replaced with "-mtune=ultrasparc".
------------------------------------------------------------------------
On Solaris 8/x86:
gcc -pipe -march=i386 -mcpu=pentium3 -g -O2 -z ignore -L/usr/local/lib
-L/usr/ccs/lib -Xlinker
-R/usr/ccs/lib:/usr/local/lib:/usr/dt/lib:/usr/openwin/lib:/usr/opt/bin/../lib/gcc-lib/i386-pc-solaris2.8/3.2.2/../../..:/usr/local/lib/gcc-lib/i386-pc-solaris2.8/3.2.2/../../..
-L/usr/dt/lib -L/usr/openwin/lib -o temacs abbrev.o alloc.o
blocktype.o buffer.o bytecode.o callint.o callproc.o casefiddle.o
casetab.o chartab.o cmdloop.o cmds.o console.o console-stream.o data.o
device.o dired.o doc.o doprnt.o dynarr.o editfns.o elhash.o emacs.o
eval.o events.o sunpro.o filelock.o unexsol2-6.o balloon_help.o
balloon-x.o tooltalk.o dragdrop.o eldap.o dgif_lib.o gif_io.o menubar.o
scrollbar.o dialog.o toolbar.o menubar-x.o scrollbar-x.o dialog-x.o
toolbar-x.o gui-x.o realpath.o inline.o sunplay.o console-tty.o
device-tty.o event-tty.o frame-tty.o objects-tty.o redisplay-tty.o cm.o
terminfo.o event-unixoid.o sysdll.o emodules.o process-unix.o
event-stream.o extents.o faces.o fileio.o filemode.o floatfns.o fns.o
font-lock.o frame.o general.o glyphs.o glyphs-eimage.o glyphs-widget.o
gui.o gutter.o hash.o imgproc.o indent.o insdel.o intl.o keymap.o
line-number.o lread.o lstream.o macros.o marker.o md5.o minibuf.o
objects.o opaque.o print.o process.o profile.o rangetab.o redisplay.o
redisplay-output.o regex.o search.o select.o signal.o sound.o
specifier.o strftime.o symbols.o syntax.o sysdep.o undo.o console-x.o
device-x.o event-Xt.o frame-x.o glyphs-x.o objects-x.o redisplay-x.o
select-x.o xgccache.o widget.o window.o lastfile.o gmalloc.o vm-limit.o
ralloc.o EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o
TransientEmacsShell.o EmacsManager.o ../lwlib/liblw.a -lXm -ltiff
-lpng -ljpeg -lXpm -lDtSvc -ltt -lXmu -lXt -lXext -lX11 -lSM -lICE
-lcurses /usr/demo/SOUND/lib/libaudio.a -lldap -lm -lz -lsocket -lnsl
-lelf -lgen -ldl
$ ldd /usr/local/bin/xemacs
libXm.so.4 => /usr/dt/lib/libXm.so.4
libtiff.so => /usr/local/lib/libtiff.so
libpng.so.3 => /usr/local/lib/libpng.so.3
libjpeg.so.62 => /usr/local/lib/libjpeg.so.62
libXpm.so.4.11 => /usr/local/lib/libXpm.so.4.11
libDtSvc.so.1 => /usr/dt/lib/libDtSvc.so.1
libtt.so.2 => /usr/dt/lib/libtt.so.2
libXmu.so.4 => /usr/openwin/lib/libXmu.so.4
libXt.so.4 => /usr/openwin/lib/libXt.so.4
libXext.so.0 => /usr/openwin/lib/libXext.so.0
libX11.so.4 => /usr/openwin/lib/libX11.so.4
libcurses.so.1 => /usr/lib/libcurses.so.1
libldap.so.4 => /usr/lib/libldap.so.4
libm.so.1 => /usr/lib/libm.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libSM.so.6 => /usr/openwin/lib/libSM.so.6
libICE.so.6 => /usr/openwin/lib/libICE.so.6
libdga.so.1 => /usr/openwin/lib/libdga.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libmp.so.2 => /usr/lib/libmp.so.2
On Solaris 8/Sparc
: ldd /usr/local/bin/xemacs
libXm.so.4 => /usr/dt/lib/libXm.so.4
libtiff.so => /usr/local/lib/libtiff.so
libpng.so.3 => /usr/local/lib/libpng.so.3
libjpeg.so.62 => /usr/local/lib/libjpeg.so.62
libXpm.so.4.11 => /usr/local/lib/libXpm.so.4.11
libDtSvc.so.1 => /usr/dt/lib/libDtSvc.so.1
libtt.so.2 => /usr/dt/lib/libtt.so.2
libXmu.so.4 => /usr/lib/libXmu.so.4
libXt.so.4 => /usr/lib/libXt.so.4
libXext.so.0 => /usr/lib/libXext.so.0
libX11.so.4 => /usr/lib/libX11.so.4
libSM.so.6 => /usr/lib/libSM.so.6
libICE.so.6 => /usr/lib/libICE.so.6
libcurses.so.1 => /usr/lib/libcurses.so.1
libldap.so.4 => /usr/lib/libldap.so.4
libm.so.1 => /usr/lib/libm.so.1
libz.so => /usr/local/lib/libz.so
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libelf.so.1 => /usr/lib/libelf.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libdga.so.1 => /usr/openwin/lib/libdga.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
------------------------------------------------------------------------
I received the following errors when building xemacs on x86, but not
on sparc:
doprnt.c: In function `get_doprnt_args':
doprnt.c:366: first argument to `va_arg' not of type `va_list'
doprnt.c:372: first argument to `va_arg' not of type `va_list'
doprnt.c:377: first argument to `va_arg' not of type `va_list'
doprnt.c:380: first argument to `va_arg' not of type `va_list'
doprnt.c:383: first argument to `va_arg' not of type `va_list'
doprnt.c:385: first argument to `va_arg' not of type `va_list'
doprnt.c: In function `emacs_doprnt_lisp_2':
doprnt.c:746: first argument to `va_arg' not of type `va_list'
doprnt.c: In function `emacs_doprnt_string_lisp_2':
doprnt.c:837: first argument to `va_arg' not of type `va_list'
make[1]: *** [doprnt.o] Error
I used the patch supplied in the bug report dated "Thu, 16 Jan 2003
16:01:19 +0900" with the subject "varargs, GCC, Solaris 2.8 -- need
configure test" to get past the error, but I have no idea if that is
the right thing to do.
Also, a request was made to post the output from gcc on a broken GCC
on Solaris:
#include <stdarg.h>
int testfunc (char *spec, va_list vargs)
{
int i = va_arg (vargs, int);
return i;
}
Both sparc and x86 gave no output:
$ cat > /tmp/testfunc.c
#include <stdarg.h>
int testfunc (char *spec, va_list vargs)
{
int i = va_arg (vargs, int);
return i;
}
$ gcc -c /tmp/testfunc.c
$
------------------------------------------------------------------------
I hope this helps,
Thanks,
Jim
================================================================
System Info to help track down your bug:
---------------------------------------
uname -a: SunOS sol8-build 5.8 Generic_108529-14 i86pc i386 i86pc
./configure '--cflags=-pipe -march=i386 -mcpu=pentium3 -g -O2'
'--libs=-lz' '--prefix=/usr/local' '--site-prefixes=/usr/local'
'--with-cde' '--with-dialogs=motif' '--with-dragndrop' '--with-jpeg'
'--with-menubars=lucid' '--with-png' '--with-scrollbars=motif'
'--with-tiff' '--with-toolbars' '--with-tooltalk' '--with-widgets=motif'
'--with-workshop' '--with-xpm' '--with-x11' '--without-database'
XEmacs 21.4.12 "Portable Code" configured for `i386-pc-solaris2.8'.
Compilation / Installation:
Source code location:
/home/users/jmorris/rpm/BUILD/xemacs-21.4.12
Installation prefix: /usr/local
Additional prefixes: /usr/local
Runtime library search path:
/usr/ccs/lib:/usr/local/lib:/usr/dt/lib:/usr/openwin/lib:/usr/opt/bin/../lib/gcc-lib/i386-pc-solaris2.8/3.2.2/../../..:/usr/local/lib/gcc-lib/i386-pc-solaris2.8/3.2.2/../../..
Operating system description file: `s/sol2.h'
Machine description file: `m/intel386.h'
Compiler: gcc -pipe -march=i386
-mcpu=pentium3 -g -O2
Relocating allocator for buffers: yes
GNU version of malloc: yes
Window System:
Compiling in support for the X window system:
- X Windows headers location: /usr/dt/include
/usr/openwin/include
- X Windows libraries location: /usr/dt/lib
/usr/openwin/lib
- Handling WM_COMMAND properly.
Using Lucid menubars.
Using Motif scrollbars.
Using Motif dialog boxes.
Using Motif native widgets.
Compiling in support for Drag'n'Drop (EXPERIMENTAL).
- Drag'n'Drop prototype: CDE.
TTY:
Images:
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Sound:
Compiling in support for sound (native).
Databases:
Compiling in support for LDAP.
Internationalization:
Mail:
Compiling in support for "dot-locking" mail spool file locking method.
Other Features:
Inhibiting IPv6 canonicalization at startup.
Compiling in support for ToolTalk.
Compiling in support for Sun WorkShop.
Compiling in support for dynamic shared object modules.
Load-Path Lisp Shadows:
----------------------
nil
Installed XEmacs Packages:
-------------------------
((net-utils:version 1.31 :type single-file)
(mail-lib :version 1.56 :type regular))
Installed Modules:
-----------------
Features:
--------
(mail-abbrevs xemacsbug shadow sendmail rfc822 cus-face
net-utils-autoloads mail-lib-autoloads lisp-autoloads loadhist
auto-show fontl-hooks x-iso8859-1 gutter-items menubar-items x-menubar
dragdrop mode-motion mouse itimer auto-save lisp-mode easymenu
iso8859-1 page buff-menu lib-complete help-nomule cus-file derived
frame text-props obsolete cus-start custom widget cl-extra mini-cl cl
cl-19 packages backquote very-early-lisp sparcworks tooltalk
motif-scrollbars cut-buffer lucid-menubars motif-dialogs x
c-balloon-help tty-frames tty toolbar native-sound scrollbar
unix-processes multicast network-streams subprocesses modules
menu-accelerator-support menubar md5 xemacs gutter tiff png gif jpeg
xpm xbm cde lisp-float-type usg-unix-v dragdrop-api dialog devices
window-system base64)
Recent keystrokes:
-----------------
misc-user
Recent messages (most recent first):
-----------------------------------
Loading xemacsbug...done
Loading xemacsbug...
Loading cus-face...done
Loading cus-face...