Sachverhalt:
A.
Mit Ehe- und Erbvertrag vom 15. Oktober 2008 setzten C.B._ und B._ je A._ als Willensvollstrecker ein. Am 10. Oktober 2012 verstarb C.B._. Gesetzliche Erben sind nebst der Ehefrau B._ die gemeinsamen Töchter D.B._ und E.B._ sowie der Sohn F.B._ aus erster Ehe.
B.
Mit Gesuch vom 15. Juli 2013 verlangte B._ beim Obergericht des Kantons Solothurn die Absetzung des Willensvollstreckers.
Mit Schreiben vom 19. Juli 2014 gab A._ bekannt, dass die Parteien einen Teilungsvertrag abgeschlossen hätten, und stellte sich auf den Standpunkt, dass damit das Rechtsschutzinteresse an seiner Absetzung dahingefallen sei. B._ hielt an ihrem Antrag, welchem sich zwischenzeitlich alle anderen Erben angeschlossen hatten, fest. Mit Verfügung vom 14. Oktober 2014 stellte die Referentin fest, dass offenbar auch der Willensvollstrecker nicht an seinem Amt festhalte, und bot den Parteien Gelegenheit, zu den Kostenfolgen des voraussichtlich wegen Gegenstandslosigkeit abzuschreibenden Verfahrens Stellung zu nehmen.
Mit Beschluss vom 26. Januar 2015 stellte das Obergericht fest, dass das Willensvollstreckermandat von A._ beendet sei; es schrieb das Verfahren als gegenstandslos ab, auferlegte A._ die Verfahrenskosten von Fr. 4'000.-- und verpflichtete ihn zu einer Parteientschädigung von Fr. 28'000.-- an B._. In der Rechtsmittelbelehrung bezeichnete es die Beschwerde in Zivilsachen als zu erhebendes Rechtsmittel.
C.
Gegen diesen Beschluss hat A._ am 2. März 2015 eine Beschwerde in Zivilsachen und subsidiäre Verfassungsbeschwerde erhoben mit dem Begehren, die Angelegenheit an das Obergericht zurückzuweisen, damit ihm dieses ein bundesrechtskonformes Rechtsmittel einräume; eventualiter wird die Aufhebung des Beschlusses im Kostenpunkt verlangt, subeventualiter die diesbezügliche Rückweisung der Sache an das Obergericht. Ferner wird die aufschiebende Wirkung verlangt. Mit Beschwerdeantwort vom 28. April 2015 beantragt B._, auf die Beschwerde sei nicht einzutreten, eventuell sei sie abzuweisen. Das Obergericht hat auf eine Vernehmlassung verzichtet.
Erwägungen:
1.
Die Aufsicht über die Willensvollstrecker fällt in den sachlichen Anwendungsbereich der Beschwerde in Zivilsachen (Art. 72 Abs. 2 lit. b Ziff. 5 BGG). Speziell zu prüfen ist im Folgenden die funktionelle Zuständigkeit des Bundesgerichts im Rahmen des Instanzenzuges.
2.
Der Beschwerdeführer macht geltend, die den Kantonen in Art. 130 Abs. 2 BGG zur Anpassung an Art. 75 Abs. 2 BGG gewährte Übergangsfrist sei am 1. Januar 2011 abgelaufen und für nach diesem Zeitpunkt eröffnete Urteile gelte das Erfordernis der double instance. Das Obergericht habe nicht als Rechtsmittelinstanz, sondern als einzige kantonale Instanz entschieden. Indem der Kanton Solothurn den bundesrechtlichen Vorgaben nicht nachgekommen sei, habe man ihm eine zweite kantonale Instanz vorenthalten, was ein organisatorischer Mangel und damit eine Rechtsverweigerung im Sinn von Art. 94 BGG sei.
Die Beschwerdegegnerin macht geltend, weil das Obergericht nicht als Rechtsmittelinstanz geurteilt habe, mangle es gemäss Art. 75 Abs. 2 BGG an einer Prozessvoraussetzung und auf die Beschwerde sei nicht einzutreten. Anders als vom Beschwerdeführer verlangt, sei die Sache aber nicht an die Vorinstanz zurückzuweisen, weil es Sache des Kantons und nicht des Gerichtes sei, die gehörige Rechtsmittelinstanz zu schaffen; vielmehr sei das Obergericht an die geltenden Organisationsgesetze des Kantons Solothurn gebunden und könne deshalb den Fall nicht an ein anderes oberes kantonales Gericht weiterleiten.
3.
Mit Beschwerde in Zivilsachen anfechtbar sind nach Art. 75 Abs. 2 BGG nur solche Urteile, die von einem oberen kantonalen Gericht als Rechtsmittelinstanz entschieden wurden (sog. Prinzip der double instance im Bereich des Zivilrechts), soweit nicht eine der in lit. a-c genannten und vorliegend nicht gegebenen Ausnahmen greift (BGE 137 III 424 E. 2.1 S. 426; 138 III 41 E. 1.1 S. 42; 139 III 252 E. 1.6 S. 255; Urteile 5A_266/2011 vom 24. Oktober 2011 E. 1; 5A_290/2011 vom 23. November 2011 E. 1.3.1; 4A_546/2013 vom 13. März 2014 E. 3.3.2).
Das Prinzip der double instance bedeutet nicht zwingend, dass auf kantonaler Stufe zwei Gerichte entschieden haben müssen. Gerade im Bereich von Verwaltungssachen, die in unmittelbarem Zusammenhang mit dem Zivilrecht stehen, kommt es oft vor, dass als erste Instanz eine Verwaltungsbehörde entschieden hat (vgl. BGE 137 III 217 E. 2.4.1.5 S. 224; 139 III 252 E. 1.6 S. 256). Die Vorschrift von Art. 75 Abs. 2 BGG fordert aber klarerweise, dass als Vorinstanz des Bundesgerichts einerseits ein oberes kantonales Gericht und dass dieses andererseits als Rechtsmittelinstanzentschieden haben muss (vgl. sämtliche im vorangehenden Absatz zitierten Urteile).
Mit einem übergangsrechtlichen Vorbehalt in Art. 130 Abs. 2 BGG gab der Bundesgesetzgeber den Kantonen bis zum Inkrafttreten der schweizerischen Zivilprozessordnung Zeit, ihr Rechtsmittelsystem den Anforderungen des seit 1. Januar 2007 gültigen BGG anzupassen. Die ZPO/CH ist am 1. Januar 2011 in Kraft getreten und auf diesen Zeitpunkt wurde Art. 130 Abs. 2 BGG aufgehoben. Das bedeutet, dass Urteile einziger kantonaler Instanzen, die bis zum 31. Dezember 2010 eröffnet wurden, aufgrund des Vorbehaltes von Art. 130 Abs. 2 BGG noch direkt beim Bundesgericht angefochten werden konnten, während für die seit dem 1. Januar 2011 eröffneten Urteile die Anforderungen gemäss Art. 75 Abs. 2 BGG vollumfänglich gelten (BGE 137 III 127 E. 1 S. 128 f.; 137 III 424 E. 2.1 S. 426; 139 III 252 E. 1.6 S. 255; Urteile 5A_266/2011 vom 24. Oktober 2011 E. 1; 4A_546/2013 vom 13. März 2014 E. 3.1.2).
4.
Vorliegend konnte das Obergericht des Kantons Solothurn bereits zum Zeitpunkt der Einleitung des Aufsichtsverfahrens nicht mehr einzige kantonale Instanz sein und erst recht gilt dies für den vorliegend massgeblichen Zeitpunkt der Urteilseröffnung. Der eine solche Zuständigkeit vorsehende § 225 Abs. 2 EG ZGB/SO, auf welchen sich das Obergericht stützt, ist seit 1. Januar 2011 bundesrechtswidrig.
Der Kanton Solothurn ist mithin verpflichtet, ein kantonales Rechtsmittel zur Verfügung zu stellen, um den Anforderungen des BGG gerecht zu werden (BGE 139 III 252 E. 1.6 S. 256; Urteil 4A_546/2013 vom 13. März 2014 E. 4), und vorliegend kann auf die Beschwerde in Zivilsachen nicht eingetreten werden. Nach konstanter und auch publizierter Praxis des Bundesgerichtes gehen die Akten zur weiteren Behandlung an das Obergericht (BGE 139 III 252 E. 1.6 S. 256; Urteile 5A_266/2011 vom 24. Oktober 2011 E. 2; 4A_546/2013 vom 13. März 2014 E. 4), zumal vorliegend bereits der Schriftenwechsel durchgeführt ist, in dessen Rahmen sich beide Parteien umfassend in der Sache geäussert haben. Zwar ist der Kanton und nicht das Gericht selbst verpflichtet, ein Rechtsmittel zu schaffen (Urteil 4A_546/2013 vom 13. März 2014 E. 4); praktisch lässt sich dies aber, soweit bereits das Obergericht als Erstinstanz geurteilt hat, nicht anders handhaben, als dass das Obergericht in anderer Besetzung die Rechtsmitteleingabe beurteilt und einen zweitinstanzlichen Entscheid fällt.
5.
Es rechtfertigt sich, keine Gerichtskosten zu erheben; die Parteien sind am legislatorischen Versäumnis des Kantons unschuldig und dem Gemeinwesen werden keine Kosten auferlegt (Art. 66 Abs. 4 BGG). Den Parteien entsteht durch die Weiterleitung kein zusätzlicher Aufwand und die Parteikosten sind im Rahmen des zweitinstanzlichen Entscheides zu liquidieren. Mit dem vorliegenden Entscheid wird das Begehren um aufschiebende Wirkung vor Bundesgericht gegenstandslos.
Demnach erkennt das Bundesgericht:
1.
Auf die Beschwerde wird mangels funktioneller Zuständigkeit nicht eingetreten.
2.
Die Beschwerde vom 2. März 2015 und die Antwort vom 28. April 2015 werden im Sinn der Erwägungen an das Obergericht des Kantons Solothurn zur weiteren Behandlung und Entscheidfindung überwiesen.
3.
Es werden keine Gerichtskosten erhoben.
4.
Dieses Urteil wird den Parteien und dem Obergericht des Kantons Solothurn, Zivilkammer, schriftlich mitgeteilt.
Lausanne, 6. August 2015
Im Namen der II. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: von Werdt
Der Gerichtsschreiber: Möckli