Thread View: gnu.g++
1 messages
1 total messages
Started by Jim Knutson
Tue, 26 Sep 1989 19:18
G++ and Sunview under SunOS 4.0.*
Author: Jim Knutson
Date: Tue, 26 Sep 1989 19:18
Date: Tue, 26 Sep 1989 19:18
55 lines
2009 bytes
2009 bytes
Description:
There is a problem with using sunview code and any loader which
doesn't know how to deal with shared libraries in SunOS 4.0.*.
In particular, g++, the Gnu C++ compiler.
The sunwindow static libraries, /usr/lib/sunwindow.a and
/usr/lib/libsunwindow_p.a, contain a reference to __DYNAMIC in
the pf.o module. Apparently, this is used to test for and
implement, shared fonts. Doing a static load using Sun's loader
works because it understands the __DYNAMIC symbol and takes care
of it.
Repeat-By:
Fix the sunview header files to work for g++.
Compile the following program
#include "sunview.h"
main()
{
Frame base;
base = window_create(0, FRAME, FRAME_LABEL, "hello world!", 0);
window_main_loop(base);
}
% g++ sunview.cc -lsuntool -lsunwindow -lpixrect
... warning messages ...
pf.o: Undefined symbol __DYNAMIC referenced from text
Fix:
I reported this to Sun, but they called it a feature, not a bug,
so I don't know if it will ever get fixed by Sun.
To detect which libraries have the problem use:
nm /usr/lib/lib*.a >/tmp/nm.all
and look for references to __DYNAMIC. Ideally, there should
be none.
There are two ways that I have found to fix the probem.
1. Use ar to remove pf.o from /usr/lib/libsunwindow*.a. This
is ok since there is another copy in libpixrect.a without
the __DYNAMIC reference.
2. Force the loading of the libpixrect copy of pf.o by changing
the library load order.
g++ sunview.cc -lsuntool -lpixrect -lsunwindow -lpixrect
Jim Knutson
knutson@mcc.com
cs.utexas.edu!milano!knutson
--
Jim Knutson
knutson@mcc.com
cs.utexas.edu!milano!knutson
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads