Subject: | |
From: | |
Reply To: | |
Date: | Thu, 6 Apr 2000 11:47:33 -0800 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
>I believe the gcc compiler created the *.o object files ok, but with out
>the filecode NMOBJ.
That's correct. But, that's also OK in that the LINKEDITOR really doesn't
care about the NMOBJ filecode. (Actually, please note that there are a couple
of versions of LINKEDIT that do have a problem - that's a known bug and since
been fixed. Also note that as of 6.5, LINKEDIT doesn't complain - at least
on my version of 6.5 :-))
>The ar command is really the C89 script, which tries to LINKEDIT the obj
>files but is complaining about the files not having the filecode NMOBJ
Correct. /SYS/HPBIN/C89 is really a script interpreter provided by MKS
as part of the POSIX environment. I'm basically a lazy person :o so I
took that path of least resistence when I needed to create an ld
workalike and canabalized the /etc/c89.ccg script into an /etc/ld.ccg
script for gcc.
>ar: "functions/crypt.o" is not a valid object module (file code should
>be NMOBJ) - file ignored
This indicates that you did not run the full installation scripts,
because one portion of the installation script is to patch this out
of /etc/ar.ccg. You can do this by hand:
Around line 121 of /etc/ar.ccg, locate the following:
while (mem = read(ARGV)) do
if (!o_t && !access(mem, 4))
println CMDNAME|": cannot access file \""|mem|
"\" - file ignored";
elif (!o_t && filecode(mem) != "NMOBJ")
println CMDNAME|": \""|mem|
"\" is not a valid object module (file code"|
" should be NMOBJ) - file ignored";
else
file_count++;
if (o_t)
println mem -> rfile;
else
println fullpath(mem) -> rfile;
fi
fi
done
Delete the following lines from that script:
elif (!o_t && filecode(mem) != "NMOBJ")
println CMDNAME|": \""|mem|
"\" is not a valid object module (file code"|
" should be NMOBJ) - file ignored";
That should do it!
|
|
|