The libiconv update ended up requiring a major update to libc, including strings and stdtime. Additionally, locales/ctype handling had to be updated as well as all of these things are interdependent. The patch involves 831 files and is 3.6M in size. I'd like to thank Joris for reviewing the libc changes and identifying some unnecessary changes that we ended up removing.
For likely several reasons, a full buildworld will be required again. This will probably break many previously built packages on 3.6. We can't have both ports libiconv and native libiconv headers existing together. All of ports needs to be rebuilt. It will be a couple of days for the prebuilt packages to get put into place. Unfortunately this is one of those risks for running on the bleeding edge (and it may even happen again if we turn on library versioning before 3.6 is released!). If you don't need to update to HEAD for other reasons, I'd recommend waiting a couple of days to do so. On a related topic, if you are updating to head from a verson older than say mid-May, you need to update in this order: make buildworld make buildkernel make installworld make installkernel *reboot* make upgrade Somewhere in the late May timeframe, it become required to update the kernel along with the world. If you fail to do this, a lot of commands will fail with some sort of "file descriptor" error. Normally you can just roll back the world as this is automatically saved at installworld, but if you do it after this commit, you'll have serious problems because of the change in headers (particulary sys/types). I ran into this myself and I had to download a couple of headers to get back on track. This is probably going to be a problem for people trying to upgrade from 3.4 to 3.6, I think a lot of people could run into this file descriptor issue if they don't build world and kernel together. John
