Trying to rebuild on 10.6

Mark Hattam mark at dxradio.demon.co.uk
Mon Aug 31 18:02:43 PDT 2009


On 1 Sep 2009, at 01:40, Ryan Schmidt wrote:

> On Aug 31, 2009, at 17:31, Mark Hattam wrote:
>
>> [Time Machined the 10.5.8 before I started ... whew !!]
>>
>> Installed Snowleopard on my 3GHz iMac
>>
>> installed XCode 3.2 from the SnowLeopard DVD
>>
>> installed SnowLeopard .dmg of MacPorts 1.8
>>
>> typed the suggested one line upgrade command from http://trac.macports.org/wiki/Migration
>> sudo port upgrade --force installed
>>
>> it started OK, but then stopped ...
>>
>>
>>
>> --->  Activating libiconv @1.13_0
>> --->  Cleaning libiconv
>> --->  Computing dependencies for db46
>> --->  Fetching db46
>> --->  Verifying checksum(s) for db46
>> --->  Extracting db46
>> --->  Applying patches to db46
>> --->  Configuring db46
>> Error: Target org.macports.configure returned: configure failure:  
>> shell command " cd "/opt/local/var/macports/build/ 
>> _opt_local_var_macports_sources_rsync 
>> .macports.org_release_ports_databases_db46/work/db-4.6.21/ 
>> build_unix" && ../dist/configure --prefix=/opt/local --enable-cxx -- 
>> enable-java --includedir=\${prefix}/include/db46 --libdir=\$ 
>> {prefix}/lib/db46 --program-transform-name="s,^db,db46," --enable- 
>> dump185 --disable-tcl " returned error 1
>> Command output: configure: creating ./config.status
>> dyld: Library not loaded: /opt/local/lib/libiconv.2.dylib
>> Referenced from: /opt/local/bin/grep
>
> You have the grep port installed. db46 (and a whole lot of other  
> software) uses grep at some point during configuration and doesn't  
> care what version of grep is used, therefore there is no dependency  
> on the grep port. To be most correct, the port should list  
> "bin:grep:grep" as a build dependency, but probably half our tree  
> has that issue, and grep isn't the only culprit: gawk and gsed are  
> common offenders too.
>
> grep needs libiconv, and your libiconv has already been rebuilt as  
> 64-bit but your grep is still 32-bit. Therefore your grep cannot use  
> it, and tries to use the system's libiconv in /usr/lib. But the  
> system's libiconv is too old, hence the error:
>
>> Reason: Incompatible library version: grep requires version 8.0.0  
>> or later, but libiconv.2.dylib provides version 7.0.0
>
>
> The solution is to upgrade grep (and gawk and gsed if you have them)  
> first. Then clean db46 (or whatever other port you got stuck on) and  
> try again. I will add this information to the Migration wiki page.



I did try a few more upgrades for specific named ports rather than  
"installed" ... but they all errored in much the same way. And so I  
then started on the roll-back to 10.5.8 - TimeMachine did a good job,  
although Mail insisted on rebuilding all my mailboxes (30 mins for 1  
million emails).

my current "port installed" has amongst others ...

   gawk @3.1.7_0 (active)
   grep @2.5.4_0 (active)
   gsed @4.2.1_0 (active)

But gawk and gsed only got there by being dependents of something  
else. grep I think I installed. Is there any way of determining which  
ports were user-installed and which were only dependent-installed?

Mark


More information about the macports-users mailing list