January 02, 2013
Jonathan M Davis:

> Why?

Because the two numbers "2.060" and "2.061" look very very similar, so people that see them risk thinking they are just two nearly identical releases of the same compiler. But many months have passed between those two versions, many bugs have being removed, several features have being introduced, and so on (just look at the difference in the zip size between the two versions), so it's better for the users to be aware that some probably some user code will need to be fixed or improved to run on the 2.061.

Bye,
bearophile
January 02, 2013
On Wednesday, January 02, 2013 10:19:54 bearophile wrote:
> Jonathan M Davis:
> > Why?
> 
> Because the two numbers "2.060" and "2.061" look very very similar, so people that see them risk thinking they are just two nearly identical releases of the same compiler. But many months have passed between those two versions, many bugs have being removed, several features have being introduced, and so on (just look at the difference in the zip size between the two versions), so it's better for the users to be aware that some probably some user code will need to be fixed or improved to run on the 2.061.

And how is that any different from any other release?

- Jonathan M Davis
January 02, 2013
Jonathan M Davis:

> And how is that any different from any other release?

How much time used to pass between two adjacent releases, in past?

Bye,
bearophile
January 02, 2013
On 2013-01-02 00:46, Walter Bright wrote:

> 2. the OS X package hasn't been built yet (problems with the package
> script).

What isn't working? Is there something I can do to help?

-- 
/Jacob Carlborg
January 02, 2013
On 2013-01-02 12:55, bearophile wrote:
> Jonathan M Davis:
>
>> And how is that any different from any other release?
>
> How much time used to pass between two adjacent releases, in past?
>
> Bye,
> bearophile

Around a month, perhaps.

-- 
/Jacob Carlborg
January 02, 2013
On 2013-01-02 00:46, Walter Bright wrote:

> 2. the OS X package hasn't been built yet (problems with the package
> script).

I think this will fix the problem:

https://github.com/D-Programming-Language/installer/pull/9

I don't know if this is the problem you encountered but:

PackageMaker is apparently not included with Xcode anymore. It's not included in the auxiliary package which can be downloaded here:

https://developer.apple.com/downloads/index.action

The script now assumes PackageMaker is installed either in /Applications/PackageMaker.app/Contents/MacOS/PackageMaker or, as before, /Developer/usr/bin/packagemaker.

-- 
/Jacob Carlborg
January 02, 2013
On Wednesday, 2 January 2013 at 08:20:41 UTC, Jonathan M Davis wrote:
> On Wednesday, January 02, 2013 09:12:49 bearophile wrote:
>> I have to warn people that if they want to suddenly switch from
>> 2.060 to 2.061 with no intermediate steps, probably some of their
>> code will break, and they will have to work to fix it.
>
> Why?
>
> - Jonathan M davis

I have noticed my project doesn't compile with 2.061 when it did with 2.060. I am using a few different static libraries, one of them is thrift.

I had to recompile the libraries I use with 2.061 which meant I had to rebuild thrift and the thrift generated libraries. Once I did that I could compile just fine. But before that I got the errors below.

I am on 64-bit Ubuntu (AMD64).

/persist/apps/lib/libthriftd.a(base_1_403.o): In function `_D6thrift4base10TException6__ctorMFAyaAyamC6object9ThrowableZC6thrift4base10TException':
src/thrift/base.d:(.text._D6thrift4base10TException6__ctorMFAyaAyamC6object9ThrowableZC6thrift4base10TException+0x31): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception'
/persist/apps/lib/libthriftd.a(format_19a_f6c.o): In function `_D3std6format62__T11formatRangeTS3std5array16__T8AppenderTAaZ8AppenderTAyaTaZ11formatRangeFKS3std5array16__T8AppenderTAaZ8AppenderKAyaKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
/persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format62__T11formatRangeTS3std5array16__T8AppenderTAaZ8AppenderTAyaTaZ11formatRangeFKS3std5array16__T8AppenderTAaZ8AppenderKAyaKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x519): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception'
/persist/apps/lib/libthriftd.a(format_518_1094.o): In function `_D3std6format81__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC3std6socket7AddressTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC3std6socket7AddressKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
/persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format81__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC3std6socket7AddressTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC3std6socket7AddressKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x370): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception'
/persist/apps/lib/libthriftd.a(format_528_117d.o): In function `_D3std6format72__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC9ExceptionTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC9ExceptionKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
/persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format72__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTAC9ExceptionTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKAC9ExceptionKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x370): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception'
/persist/apps/lib/libthriftd.a(format_555_f95.o): In function `_D3std6format327__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6ResultTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joinerFS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultAyaZS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6Result6ResultKS3std6format18__T10FormatSpecTaZ10FormatSpecZv':
/persist/apps/dmd/linux/bin64/../../src/phobos/std/format.d:(.text._D3std6format327__T11formatRangeTS3std5array17__T8AppenderTAyaZ8AppenderTS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6ResultTaZ11formatRangeFKS3std5array17__T8AppenderTAyaZ8AppenderKS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joinerFS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultAyaZS3std9algorithm235__T6joinerTS3std9algorithm191__T9MapResultS1123std10functional85__T8unaryFunVAyaa32_7465787428612e5f302c20603a2022602c20612e5f312e6d73672c2060226029Z8unaryFunTS3std5range43__T3ZipTAC3std6socket7AddressTAC9ExceptionZ3ZipZ9MapResultTAyaZ6joiner6Result6ResultKS3std6format18__T10FormatSpecTaZ10FormatSpecZv+0x5bc): undefined reference to `_D6object9Exception6__ctorMFAyaAyamC6object9ThrowableZC9Exception'
collect2: ld returned 1 exit status
--- errorlevel 1
January 02, 2013
Am Wed, 02 Jan 2013 15:14:53 +0100
schrieb "David Eagen" <davideagen@mailinator.com>:

> On Wednesday, 2 January 2013 at 08:20:41 UTC, Jonathan M Davis wrote:
> > On Wednesday, January 02, 2013 09:12:49 bearophile wrote:
> >> I have to warn people that if they want to suddenly switch from
> >> 2.060 to 2.061 with no intermediate steps, probably some of
> >> their
> >> code will break, and they will have to work to fix it.
> >
> > Why?
> >
> > - Jonathan M davis
> 
> I have noticed my project doesn't compile with 2.061 when it did with 2.060. I am using a few different static libraries, one of them is thrift.
> 
> I had to recompile the libraries I use with 2.061 which meant I had to rebuild thrift and the thrift generated libraries. Once I did that I could compile just fine. But before that I got the errors below.
> 
> I am on 64-bit Ubuntu (AMD64).
> 

That's unfortunately normal for every dmd release. We try to stay API compatible, but ABI usually breaks with every compiler/druntime/phobos update. This means you can't mix object/library files compiled with different compiler versions.

(An example of a ABI breaking change is everything which changes the mangled name: adding the safe/trusted attribute, pure, nothrow, property)
January 02, 2013
On 1/2/2013 4:12 AM, Jacob Carlborg wrote:
> On 2013-01-02 00:46, Walter Bright wrote:
>
>> 2. the OS X package hasn't been built yet (problems with the package
>> script).
>
> What isn't working? Is there something I can do to help?
>

The various packages are all built on Ubuntu. The OS X one failed because it couldn't find ruby, and ruby does not work on Ubuntu (at least my version of Ubuntu - there is no ruby package for it).

Looks like my mistake is I should have run it on OS X.
January 02, 2013
On 1/2/2013 7:27 AM, Johannes Pfau wrote:
> That's unfortunately normal for every dmd release. We try to stay API
> compatible, but ABI usually breaks with every compiler/druntime/phobos
> update. This means you can't mix object/library files compiled with
> different compiler versions.

I go to some effort to avoid binary breakage with D1, but there's too much changing to make this work with D2 yet, so I settle for trying to not break source compatibility.