Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#31772 closed defect (invalid)

libiconv @1.14_0 install error - /usr/bin/tar: +CONTENTS: Not found in archive

Reported by: tjfulle@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc:
Port: libiconv

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Updated MacPorts today by

sudo port selfupdate
sudo port upgrade outdated

Upgrading outdated ports failed when installing libiconv @1.14_0 with the following error:

--->  Installing libiconv @1.14_0
Error: Target org.macports.install returned: /usr/bin/tar: +CONTENTS: Not found in archive
/usr/bin/tar: Error exit delayed from previous errors
Log for libiconv is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_libiconv/libiconv/main.log
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

I have tried the following to fix the problem

sudo rm /opt/local/var/macports/software/libiconv/libiconv-1.14_0.darwin_10.x86_64.tbz2
sudo port clean libiconv
sudo port install libiconv

and the problem persists. I am unable to update or install other ports because of this problem. Is there a way to bypass installing libiconv?

Relevant sections of the log file follow, the entire log file is attached.

System:

  • Mac Pro
  • 2 x 2.4 GHz Quad-Core Intel Xeon
  • 6 GB 1066 MHz DDR3
  • Mac OSX 10.6.8
  • gcc version 4.2.1 (Apple Inc. build 5664)

Log File:

:msg:main --->  Computing dependencies for libiconv:info:main .
:msg:main 
:msg:archivefetch --->  Fetching archive for libiconv
:info:archivefetch --->  libiconv-1.14_0.darwin_10.x86_64.tbz2 doesn't seem to exist in /opt/local/var/macports/software/libiconv
:msg:archivefetch --->  Attempting to fetch libiconv-1.14_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/libiconv
:msg:archivefetch --->  Attempting to fetch libiconv-1.14_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/libiconv
:notice:install --->  Installing libiconv @1.14_0
:error:install Target org.macports.install returned: /usr/bin/tar: +CONTENTS: Not found in archive
/usr/bin/tar: Error exit delayed from previous errors
:debug:install Backtrace: /usr/bin/tar: +CONTENTS: Not found in archive
/usr/bin/tar: Error exit delayed from previous errors
    while executing
"exec [findBinary tar ${portutil::autoconf::tar_path}] -xOj${qflag}f $location +CONTENTS"
    (procedure "extract_contents" line 6)
    invoked from within
"extract_contents $location $portarchivetype"
    (procedure "portinstall::install_main" line 19)
    invoked from within
"$procedure $targetname"
:info:install Warning: the following items did not execute (for libiconv): org.macports.activate org.macports.install
:notice:install Log for libiconv is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_libiconv/libiconv/main.log

Attachments (1)

main.log (4.8 KB) - added by tjfulle@… 13 years ago.

Download all attachments as: .zip

Change History (12)

Changed 13 years ago by tjfulle@…

Attachment: main.log added

comment:1 Changed 13 years ago by mf2k (Frank Schima)

Cc: tjfulle@… removed
Keywords: libiconv install error removed
Owner: changed from macports-tickets@… to ryandesign@…
Priority: HighNormal

Are you really on Macports 2.0.1? selfupdate should have updated you.

comment:2 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

I've just downloaded the file http://packages.macports.org/libiconv/libiconv-1.14_0.darwin_10.x86_64.tbz2 and decompressed it, and it does contain a +CONTENTS file as it should, so I don't think the problem is with the file. Is there perhaps something the matter with your /usr/bin/tar or /usr/bin/bzip2 commands? Do they otherwise function normally?

comment:3 in reply to:  1 Changed 13 years ago by tjfulle@…

Replying to macsforever2000@…:

Are you really on Macports 2.0.1? selfupdate should have updated you.

My mistake, I am indeed at 2.03

comment:4 in reply to:  2 ; Changed 13 years ago by tjfulle@…

Replying to ryandesign@…:

I've just downloaded the file http://packages.macports.org/libiconv/libiconv-1.14_0.darwin_10.x86_64.tbz2 and decompressed it, and it does contain a +CONTENTS file as it should, so I don't think the problem is with the file. Is there perhaps something the matter with your /usr/bin/tar or /usr/bin/bzip2 commands? Do they otherwise function normally?

I also downloaded http://packages.macports.org/libiconv/libiconv-1.14_0.darwin_10.x86_64.tbz2 and untarred the archive:

% tar -xvf libiconv-1.14_0.darwin_10.x86_64.tbz2
% ls

+COMMENT   +CONTENTS  +DESC      +PORTFILE  +STATE     opt/

Clearly, the archive contains the +COMMENT file.

Suspecting something else might be wrong with the archive, I copied the @13.1_0 archive (previously installed) to the @14.0

% sudo cp libiconv-1.13.1_0.darwin_10.x86_64.tbz2 libiconv-1.14_0.darwin_10.x86_64.tbz2
% sudo port install libiconv

with the same results

Error: Target org.macports.install returned: /usr/bin/tar: +CONTENTS: Not found in archive
/usr/bin/tar: Error exit delayed from previous errors
Log for libiconv is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_libiconv/libiconv/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

I then suspected a permissions issue because /opt/local/var/macports/software/libiconv had the following ownership: macports:wheel. Almost every other directory in /opt/local/var/macports is owned by me. I changed the ownership

% sudo chown -R tjfulle:admin /opt/local/var/macports/software/libiconv
% sudo port install libiconv

and the install failed with the same message. I'm at a bit of a loss...

comment:5 Changed 13 years ago by mf2k (Frank Schima)

Version: 2.0.12.0.3

comment:6 in reply to:  4 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to tjfulle@…:

Suspecting something else might be wrong with the archive, I copied the @13.1_0 archive (previously installed) to the @14.0

% sudo cp libiconv-1.13.1_0.darwin_10.x86_64.tbz2 libiconv-1.14_0.darwin_10.x86_64.tbz2
% sudo port install libiconv

with the same results

I looked up previous tickets about "+CONTENTS: Not found in archive" and found this:

  • #30831: unresolved
  • #30942: it was a bad archive; re-downloading it fixed it

So, try deleting the archive in /opt/local/var/macports/software/libiconv and letting MacPorts download it again.

comment:7 Changed 13 years ago by tjfulle@…

Removed /opt/local/var/macports/software/libiconv, cleaned, and tried reinstalling with the same +CONTENTS: Not found in archive error.

Is there a way to manually install libiconv so that I can get past this error? My install of macports is totally crippled until I can get it past this.

comment:8 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

No, a downloaded archive can't be installed manually; MacPorts must install it so all the files go in the right places, and so that MacPorts updates its registry to record the fact that all the files have gone in the right places.

I've just tested on my system, and it works fine. Please verify that the tbz2 file that got downloaded on your system has the same size and sha256 hash as on my system:

$ cd /opt/local/var/macports/software/libiconv
$ ls -l libiconv-1.14_0.darwin_10.x86_64.tbz2
-rw-r--r--  1 macports  wheel  1521741 Nov  3 06:47 libiconv-1.14_0.darwin_10.x86_64.tbz2
$ openssl dgst -sha256 libiconv-1.14_0.darwin_10.x86_64.tbz2
SHA256(libiconv-1.14_0.darwin_10.x86_64.tbz2)= d629f4c663d81ff92faca3dad6c2dcecb207ddf33f01f7d4d4f061e288c327cc
$ 

Also please show me the same information for your bzip2, tar, bsdtar and gnutar commands, to make sure they're sane. Here's what I have on my 10.6.8 system:

$ ls -l {/opt/local,/usr}/bin/{bzip2,{,bsd,gnu}tar}
ls: /opt/local/bin/bsdtar: No such file or directory
ls: /opt/local/bin/tar: No such file or directory
-rwxr-xr-x  1 root  wheel   90132 Sep 27  2010 /opt/local/bin/bzip2
-rwxr-xr-x  1 root  wheel  905992 Mar 15  2011 /opt/local/bin/gnutar
-rwxr-xr-x  1 root  wheel  191920 Jun 24  2010 /usr/bin/bsdtar
-rwxr-xr-x  3 root  wheel  121968 Dec 15  2010 /usr/bin/bzip2
-rwxr-xr-x  1 root  wheel  991552 Jul 14  2009 /usr/bin/gnutar
lrwxr-xr-x  1 root  wheel       6 Nov  8  2009 /usr/bin/tar -> bsdtar
$ openssl dgst -sha256 {/opt/local,/usr}/bin/{bzip2,{,bsd,gnu}tar}
SHA256(/opt/local/bin/bzip2)= 61dc3c6d36208c47a7c8ac19d66a6085c1e767a99d8ea267be417298781245d2
/opt/local/bin/tar: No such file or directory
/opt/local/bin/bsdtar: No such file or directory
SHA256(/opt/local/bin/gnutar)= 27933c35ecc502f5ddc832d871a049d66d3c0b17bb4bff703c748cc16156eafe
SHA256(/usr/bin/bzip2)= 96d00a42f02838bac12d31822417ce35bcd1ab94d615cc9b6632fd76993a3c56
SHA256(/usr/bin/tar)= df10bbc93f9d04f77048e3d3ab6ae3d2085a537a5613c7981db64494a3c9ec76
SHA256(/usr/bin/bsdtar)= df10bbc93f9d04f77048e3d3ab6ae3d2085a537a5613c7981db64494a3c9ec76
SHA256(/usr/bin/gnutar)= b02067331cb0451a8a572907eb49489354fcc13e3563d832005145148fedcb23
$ 

comment:9 Changed 13 years ago by tjfulle@…

ryandesign,

your last post led me to the solution to the problem. Upon executing

% ls -l {/opt/local,/usr}/bin/{bzip2,{,bsd,gnu}tar}
ls: /opt/local/bin/bsdtar: No such file or directory
ls: /opt/local/bin/gnutar: No such file or directory
ls: /opt/local/bin/tar: No such file or directory
-rwxr-xr-x  1 tjfulle  admin   42040 Apr 21  2011 /opt/local/bin/bzip2*
-rwxr-xr-x  1 root     wheel  191920 Jun 24  2010 /usr/bin/bsdtar*
-rwxr-xr-x  3 root     wheel  121968 Apr 22  2011 /usr/bin/bzip2*
-rwxr-xr-x  1 root     wheel  987408 Apr  7  2010 /usr/bin/gnutar*
lrwxr-xr-x  1 root     wheel       6 Dec  9  2010 /usr/bin/tar -> gnutar

I noticed that /usr/bin/tar -> /usr/bin/gnutar, and not /usr/bin/bsdtar as is standard (other software I work with requires /usr/bin/tar be gnutar). I restored the symbolic link /usr/bin/tar -> /usr/bin/bsdtar and libinconv installs just fine. It is interesting that this problem had never surfaced in the past, since swapping /usr/bin/tar from bsdtar to gnutar is one of the first things that I did with this new computer.

Thanks to all for the help. Unless someone wants to track down why gnutar chokes on installing libiconv, I would consider this issue resolved.

comment:10 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Glad you figured it out.

Yes, replacing /usr/bin/tar with gnutar is not a good idea on OS X. I would encourage you to keep /usr/bin/tar as a symlink to bsdtar as Apple intended. Our recommended solution for getting gnutar into your PATH as "tar" is to install the gnutar port and add /opt/local/libexec/gnubin to your PATH. Note that some other gnu ports also install unprefixed binaries into /opt/local/libexec/gnubin so you'll get those as well.

comment:11 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

FYI, MacPorts 2.1.0 will be compatible with gnutar as well as bsdtar; see #34080.

Note: See TracTickets for help on using tickets.