Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4478

Thrift will not build with dlang 2.078 or later

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.11.0
    • Fix Version/s: 0.12.0
    • Component/s: D - Library
    • Labels:
      None

      Description

      I tried to move the ubuntu-artful dlang version up from 2.076.0 to 2.078.1 and the build failed here:

      dmd -L-fuse-ld=gold -L-levent ../libthriftd-event.a -L-fuse-ld=gold -L-lssl -L-lcrypto ../libthriftd-ssl.a -w -wi -O -release -inline -I../../../lib/d/src -Igen-d ../../../lib/d/libthriftd.a -ofserialization_benchmark serialization_benchmark.d gen-d/DebugProtoTest_types.d
      thrift_test_client.d(128): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      thrift_test_client.d(128): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      serialization_benchmark.d(16): Deprecation: alias std.datetime.AutoStart is deprecated - Use std.datetime.stopwatch.AutoStart.
      serialization_benchmark.d(16): Deprecation: alias std.datetime.AutoStart is deprecated - Use std.datetime.stopwatch.AutoStart.
      serialization_benchmark.d(16): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      serialization_benchmark.d(16): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      thrift_test_client.d(338): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      thrift_test_client.d(338): Deprecation: alias std.datetime.AutoStart is deprecated - Use std.datetime.stopwatch.AutoStart.
      thrift_test_client.d(338): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      serialization_benchmark.d(42): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      serialization_benchmark.d(60): Deprecation: struct std.datetime.StopWatch is deprecated - Use std.datetime.stopwatch.StopWatch.
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)])'
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)])'
      ../../../lib/d/src/thrift/codegen/base.d(466): Error: template instance object.__equals!(const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)]), const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)])) error instantiating
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!string[int])'
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!string[int])'
      ../../../lib/d/src/thrift/codegen/base.d(466): Error: template instance object.__equals!(const(HashSet!string[int]), const(HashSet!string[int])) error instantiating
      Makefile:803: recipe for target 'thrift_test_client' failed
      make[5]: *** [thrift_test_client] Error 1
      make[5]: *** Waiting for unfinished jobs....
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)])'
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)])'
      ../../../lib/d/src/thrift/codegen/base.d(466): Error: template instance object.__equals!(const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)]), const(HashSet!(string[immutable(Insanity)][])[int][immutable(HashSet!int)])) error instantiating
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!string[int])'
      /usr/include/dmd/druntime/import/object.d(3461): Error: no property 'tupleof' for type 'const(HashSet!string[int])'
      ../../../lib/d/src/thrift/codegen/base.d(466): Error: template instance object.__equals!(const(HashSet!string[int]), const(HashSet!string[int])) error instantiating
      Makefile:806: recipe for target 'thrift_test_server' failed
      make[5]: *** [thrift_test_server] Error 1
      make[5]: Leaving directory '/thrift/src/lib/d/test'
      

      When I backed it down to 2.077.1, things worked again.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                nsuke Nobuaki Sukegawa
                Reporter:
                jking3 James E. King III
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: