|
|
1.1 root 1: From: coho!daveg (Dave Gagne)
2: Subject: Re: Problems with building emacs on SunOS 4.0 (EXPORT)
3: Summary: SunOS 4.0_Export "cc -Bstatic" don't work.
4: Organization: UBC Dept. of Electrical Engineering, Vancouver, Canada
5:
6: > Has anyone else seen similar problems?
7:
8: Yes indeed. Anyone who does not live in the jolly US of A.
9:
10: What you are encountering is a screw-up in SunOS 4.0_Export. This
11: problem only occurs in the "EXPORT" version of SunOS 4.0: ie the
12: software which Sun ships outside of the USA. The problem has something
13: to do with Sun not wanting to ship their DES chips outside of the good
14: 'ole USA. What we poor foreigners get instead is some buggered up
15: software.
16:
17: What all this means is that "cc -Bstatic ..." WILL NOT WORK ON SUNOS
18: 4.0 EXPORT without a little help from "ar". The static C-library is
19: /lib/libc.a, and this is where the problem occurs. There are a bunch of
20: .o files in there relating to DES stuff (des_crypt.o, des_soft.o, _crypt.o,
21: etc). All of them will case cc -Bstatic to die as you found with the
22: errors:
23:
24: > _edata: ld: user attempt to redefine loader-defined symbol
25: > _end: user attempt to redefine loader-defined symbol
26: > _etext: /lib/libc.a(des_crypt.o): multiply defined
27:
28: In order to make cc -Bstatic useful, you must remove all the
29: brain-damaged .o files from /lib/libc.a. To do this use
30:
31: ar d /lib/libc.a des_crypt.o des_soft.o _crypt.o ....
32:
33: (Make a backup of /lib/libc.a first, you may decide you need the "real"
34: thing someday). Note that there are a bunch of these files, I can't
35: remember all of them. You will find them quick enough by trying to
36: compile ANY C program, even one which does NOTHING.
37:
38: After you have done this, Emacs should compile OK. I was able to get
39: both the "normal" text version and the X-windows (X11R2) version to
40: compile OK. It seems to me that the Suntools version may not have worked,
41: but I may just be halucinating.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.