Subject: Re: make build error
To: None <jkunz@unixag-kl.fh-kl.de,cmcmanis@mcmanis.com>
From: Chuck McManis <cmcmanis@mcmanis.com>
List: port-vax
Date: 04/28/2000 09:33:26
At 05:45 PM 4/28/00 +0200, jkunz@unixag-kl.fh-kl.de wrote:
>I have the same error:
>
>ld: /usr/src/current/dest/usr/lib: malformed input file (not rel or archive)
>collect2: ld returned 1 exit status
>
>while building 1.4X (last week) with 1.4X (this week). So I think there
>is something else broken.
This is caused by the fact that bsd.prog.mk was changed to include the
options "-W1,-rpath-link,$DESTDIR/usr/lib". This passes the option
-rpath-link to ld which on the VAX hasn't a clue what to do about it and so
the VAX takes the next argument as link file and it happens to be a
directory and you get the message above.
Unfortunately, I just checked and the fix for this isn't in ld yet, this is
the patch:
Index: ld.c
===================================================================
RCS file: /cvsroot/gnusrc/gnu/usr.bin/ld/ld/ld.c,v
retrieving revision 1.68
diff -c -r1.68 ld.c
*** ld.c 2000/01/13 00:05:32 1.68
--- ld.c 2000/04/28 16:26:14
***************
*** 693,698 ****
--- 693,700 ----
/* Ignore "-rpath" and hope ld.so.conf will cover our sins. */
if (!strcmp(&arg[1], "rpath"))
return 2;
+ if (!strcmp(&arg[1], "rpath-link"))
+ return 2;
return 1;
case 's':
***************
*** 918,923 ****
--- 920,930 ----
return;
}
if (strcmp(swt + 1, "rpath") == 0) {
+ if (warn_forwards_compatible_inexact)
+ warnx("%s %s ignored", swt, arg);
+ goto do_rpath;
+ }
+ if (strcmp(swt + 1, "rpath-link") == 0) {
if (warn_forwards_compatible_inexact)
warnx("%s %s ignored", swt, arg);
goto do_rpath;
============================================================================
You will need to apply this patch, make ld and install it, or you have to
edit the bsd.prog.mk file to not pass the rpath link stuff.
--Chuck