Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Mar 2012 10:00:51 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        Boris Samorodov <bsam@passap.ru>
Cc:        freebsd-current@freebsd.org, Dimitry Andric <dim@freebsd.org>
Subject:   Re: /usr/bin/tar creates invalid lib file (was: Re: /usr/bin/strip: File format not recognized)
Message-ID:  <4F34E618-DB66-464D-B5B2-900960D6C16B@kientzle.com>
In-Reply-To: <4F6D52DF.7080105@passap.ru>
References:  <4F6CD93D.70109@passap.ru> <4F6CEB1F.4040300@FreeBSD.org> <4F6D52DF.7080105@passap.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mar 23, 2012, at 9:51 PM, Boris Samorodov wrote:

> On 24.03.2012 01:29, Dimitry Andric wrote:
>> On 2012-03-23 21:12, Boris Samorodov wrote:
>>> I'm not sure but it seems to me that the question is more about
>>> -current that -ports.
>>>=20
>>> While updating devel/nspr I get this:
>> ...
>>> /usr/bin/strip: /usr/local/lib/libnspr4.so.1: File format not =
recognized
>>=20
>> It builds and installs fine here, both on i386 and amd64, using both =
gcc
>> and clang.
>>=20
>> What is the output of: "file /usr/local/lib/libnspr4.so.1" on your
>> system?
>=20
> I've done some steps to diagnose the case. Seems that /usr/bin/tar
> does not create correct library:
> -----
> % file =
/usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../p=
r/src/./libnspr4.so.1
> =
/usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../p=
r/src/./libnspr4.so.1: ELF 32-bit LSB shared object, Intel 80386, =
version 1 (FreeBSD), dynamically linked, not stripped
> % file /usr/local/lib/libnspr4.so.1
> /usr/local/lib/libnspr4.so.1: data
> % hd -C /usr/local/lib/libnspr4.so.1
> 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 =
|................|
> 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 =
|................|
> *
> % tar --version
> bsdtar 3.0.3 - libarchive 3.0.3
> -----
>=20
> The library (/usr/local/lib/libnspr4.so.1) is created by the command:
> -----
> /usr/bin/tar -C =
/usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib =
--dereference -cf - . |  /usr/bin/tar -C /usr/local/lib -xof -
> -----

Can you send me the output of:

tar -cvf /tmp/test.tar =
/usr/ports/devel/nspr/work/nspr-4.9/mozilla/nsprpub/build/dist/lib/../../p=
r/src/./libnspr4.so.1

(A tar archive containing only that one source file.)

This looks similar to a bug that we found in libarchive recently
I didn't think that bug impacted FreeBSD, but I may have been
wrong=85.  if it did, it will be obvious from the structure of the
created archive.

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F34E618-DB66-464D-B5B2-900960D6C16B>