You never provided an implementation for virtual ~Interval(); and several other functions. You must provide an implementation for all non-pure virtual functions you declare. In particular, G++ emits the vtable along with the implementation of the first-declared non-inline function in a class. Omitting its implementation means you won’t have a vtable, and thus won’t be able to construct the class (hence these errors).
In short, define every function you declare, except for pure virtuals. There are some cases where it’s justified to leave out the definition for a declared function, but they are very rare.