Faits :
A.
A._, né en 1952, de nationalité portugaise, a travaillé en Suisse depuis 1981 en qualité de maçon au service d'une entreprise de construction. Depuis le 17 mars 1989, il réside en Suisse de manière ininterrompue. Par décisions des 22 août 2000 et 8 octobre 2001, il a été mis au bénéfice d'une rente entière d'invalidité pour la période du 1 er octobre 1997 au 30 avril 1999. La rente était fondée sur un revenu annuel moyen de 75'978 fr., une durée de cotisations (accomplie en Suisse et au Portugal) de 22 années et 4 mois et l'échelle de rente 41. Elle s'est élevée à 1854 fr. par mois (année 1997 et 1998), puis à 1873 fr. (1998).
Le 15 juillet 2008, A._ a déposé une nouvelle demande de prestations d'invalidité. Après différentes péripéties de procédure, l'Office de l'assurance-invalidité du canton de Genève a rendu le 4 octobre 2013 une décision par laquelle il lui a accordé une demi-rente d'invalidité à compter du 1 er janvier 2009. La rente mensuelle s'élevait à 681 fr. de janvier 2009 à décembre 2010, à 693 fr. de janvier 2011 à décembre 2012 et à 699 fr. à partir du mois de janvier 2013. Elle était calculée en fonction d'un revenu annuel moyen déterminant de 57'564 fr., d'une durée de cotisations (accomplie en Suisse uniquement) de 22 années et 6 mois, entraînant l'application de l'échelle de rente 31.
B.
A._ a recouru contre cette décision en contestant le calcul de sa rente. Il reprochait plus particulièrement à l'administration de n'avoir pas pris en compte ses périodes de cotisations accomplies antérieurement au Portugal. Il concluait à l'octroi d'une demi-rente fondée sur l'échelle de rente 44, soit par mois, respectivement, 1'140 fr. (période du 1 er janvier 2009 au 31 décembre 2010), 1'160 fr. (période du 1 er janvier 2011 au 31 décembre 2012) et 1'170 fr. à partir du 1 er janvier 2013.
Par jugement du 21 octobre 2014, la Chambre des assurances sociales de la Cour de justice de la République et canton de Genève a admis le recours. Elle a annulé la décision attaquée et renvoyé la cause à l'office de l'assurance-invalidité "pour nouveau calcul du montant de la rente d'invalidité en tenant compte des périodes de cotisations accomplies au Portugal, puis nouvelle décision".
C.
L'office de l'assurance-invalidité exerce un recours en matière de droit public dans lequel il conclut à l'annulation de l'arrêt cantonal en tant que celui-ci lui impose la prise en compte de périodes de cotisations accomplies au Portugal.
A._ conclut au rejet du recours. L'Office fédéral des assurances sociales (OFAS) en propose l'admission.

Considérant en droit :
1.
L'arrêt attaqué ne met pas un terme à la procédure et s'analyse comme une décision de renvoi (<ref-ruling> consid. 1.3 p. 101). De telles décisions revêtent en règle ordinaire un caractère incident et, sous réserve de celles qui tombent dans le champ d'application des art. 92 et 93 LTF, ne sont pas susceptibles d'être attaquées immédiatement alors même qu'elles tranchent de manière définitive certains aspects de la contestation (<ref-ruling> consid. 1.3 p. 127, 137 consid. 1.3.2 p. 140). Elles sont toutefois tenues pour finales lorsque le renvoi a lieu uniquement en vue de son exécution par l'autorité inférieure sans que celle-ci ne dispose encore d'une liberté d'appréciation notable (<ref-ruling> consid. 4.2 p. 285 s.). Tel est le cas en l'espèce du moment que l'office de l'assurance-invalidité devra calculer la rente litigieuse en fonction des périodes de cotisations accomplies tant en Suisse qu'au Portugal et qu'il ne dispose donc, pratiquement, d'aucune marge de manoeuvre.
2.
L'intimé, ressortissant d'un Etat partie à l'Accord du 21 juin 1999 entre la Confédération suisse, d'une part, et la Communauté européenne et ses Etats membres, d'autre part, sur la libre circulation des personnes (Accord sur la libre circulation des personnes, ALCP; RS 0.142. 112.681), a exercé une activité salariée en Suisse et est au bénéfice d'une rente de l'assurance-invalidité suisse. Le litige relève - cela est incontesté - de la coordination européenne des systèmes nationaux de sécurité sociale.
3.
3.1. Jusqu'au 31 mars 2012, les Parties à l'ALCP appliquaient entre elles le Règlement (CEE) n° 1408/71 du Conseil du 14 juin 1971 relatif à l'application des régimes de sécurité sociale aux travailleurs salariés, aux travailleurs non salariés et aux membres de leur famille qui se déplacent à l'intérieur de la Communauté (RO 2004 121; ci-après: règlement n° 1408/71). Une décision n° 1/2012 du Comité mixte du 31 mars 2012 (RO 2012 2345) a actualisé le contenu de l'Annexe II à l'ALCP avec effet au 1 er avril 2012 et il a été prévu, en particulier, que les Parties appliqueraient désormais entre elles le Règlement (CE) n° 883/2004 du Parlement européen et du Conseil du 29 avril 2004 portant sur la coordination des systèmes de sécurité sociale, modifié par le Règlement (CE) n° 988/2009 du Parlement européen et du Conseil du 16 septembre 2009 (ci-après: règlement n° 883/2004; RS 0.831.109.268.1).
3.2. En matière de pensions et de rentes, l'art. 94 par. 1 du Règlement (CE) n° 987/2009 du Parlement européen et du Conseil du 16 septembre 2009 fixant les modalités d'application du règlement n° 883/2004, figurant également dans l'Annexe II (ci-après: règlement n° 987/2009; RS 0.831.109.268.11) règle la question du droit transitoire. Il prévoit ceci:
Lorsque la date de réalisation de l'éventualité se situe avant la date d'entrée en vigueur du règlement d'application sur le territoire de l'Etat membre concerné et que la demande de pension ou de rente n'a pas encore donné lieu à liquidation avant cette date, cette demande entraîne, pour autant que des prestations doivent être accordées au titre de l'éventualité en question, pour une période antérieure à cette date, une double liquidation:
a) pour la période antérieure à la date d'entrée en vigueur du règlement d'application sur le territoire de l'Etat membre concerné, conformément au règlement (CEE) no 1408/71 ou aux conventions en vigueur entre les Etats membres concernés;
b) pour la période commençant à la date d'entrée en vigueur du règlement d'application sur le territoire de l'Etat membre concerné, conformément au règlement de base.
Toutefois, si le montant calculé en application des dispositions visées au point a) est plus élevé que celui calculé en application des dispositions visées au point b), l'intéressé continue à bénéficier du montant calculé en application des dispositions visées au point a).
3.3. En l'espèce, le droit à la rente d'invalidité de l'intimé est né avant l'entrée en vigueur du règlement no 883/04. Ratione temporis, le présent cas doit donc être tranché à la lumière du règlement n° 1408/71, sous réserve des règles transitoires précitées pour la période postérieure au 31 mars 2012 (voir à ce sujet ARNO BOKELOH, Die Übergangsregelungen in den Verordnungen (EG) Nr. 883/04 und 987/09, ZESAR 2011 p. 18-23; BERNHARD SPIEGEL, in Europäisches Sozialrecht, 6 e éd. 2013, n° 17 p. 542 ad art. 87 et 87a; SUSANNE DERN, in VO (EG) Nr. 883/2004, 2012, n° 7 s. p. 384 ad art. 87).
4.
4.1. La rente d'invalidité allouée temporairement à l'intimé entre 1997 et 1999 tenait compte des périodes portugaises de cotisations, conformément à l'art. 12 de la Convention du 11 septembre 1975 de sécurité sociale entre la Suisse et le Portugal (RS 0.831.109.654.1). Le système de cette convention, dite de type A, se caractérise par le principe du risque: l'invalide qui en remplit les conditions reçoit une seule rente d'invalidité. Celle-ci est versée par l'assurance à laquelle il était affilié lors de la survenance de l'invalidité (en l'espèce la Suisse), qui prend en compte la totalité des périodes de cotisations, y compris celles qui ont été accomplies dans l'autre pays. Inversement, selon les conventions dites de type B, l'invalide qui a cotisé successivement dans les deux Etats perçoit une rente partielle de chacun des pays concernés, calculées au prorata des périodes d'assurance accomplies (cf. <ref-ruling> consid. 4 p. 250).
4.2. Avec l'entrée en vigueur de l'ALCP (le 1 er juin 2002) et simultanément du règlement n° 1408/71, le système de type B prévu par ce règlement est devenu applicable en matière de coordination des régimes de sécurité sociale entre la Suisse et le Portugal: les personnes invalides eurent désormais droit à des prestations de la part des deux Etats, qui correspondaient aux périodes de cotisations accomplies dans chaque Etat (voir <ref-ruling> consid. 4.4 p. 334; <ref-ruling> consid. 6 p. 379 ss et consid. 9.4 p. 388, 390 consid. 7.3.1 p. 403).
4.3. Sous le titre "Relation avec les accords bilatéraux en matière de sécurité sociale", l'<ref-law> est ainsi libellé:
Sauf disposition contraire découlant de l'Annexe II, les accords de sécurité sociale bilatéraux entre la Suisse et les Etats membres de la Communauté européenne sont suspendus dès l'entrée en vigueur du présent accord, dans la mesure où la même matière est réglée par le présent accord.
Selon la jurisprudence du Tribunal fédéral rendue sous le régime du règlement n° 1408/71, cette disposition de l'Accord n'exclut pas qu'un assuré soit mis au bénéfice d'une disposition plus favorable d'une convention bilatérale de sécurité sociale, pour autant qu'il ait exercé son droit à la libre circulation avant l'entrée en vigueur de l'ALCP (<ref-ruling> précité). Cet arrêt se fonde notamment sur la jurisprudence de la Cour de justice des Communautés européennes (devenue entre-temps la Cour de justice de l'Union européenne) selon laquelle l'application du règlement n° 1408/71 ne doit pas conduire à la perte des avantages de sécurité sociale résultant de conventions de sécurité sociale en vigueur entre deux ou plusieurs Etats membres et intégrées à leur droit national. Autrement dit, le travailleur qui a exercé son droit à la libre circulation ne doit pas être pénalisé du fait des règlements communautaires par rapport à la situation qui aurait été la sienne s'il avait été régi par la seule législation nationale. La jurisprudence européenne repose aussi sur l'idée que l'intéressé était en droit, au moment où il a exercé son droit à la libre circulation, d'avoir une confiance légitime dans le fait qu'il pourrait bénéficier des dispositions de la convention bilatérale (arrêts [de la CJCE] du 5 février 2002 C-277/99 Kaske, Rec. 2002 I-1261; du 9 novembre 2000 C-75/99 Thelen, Rec. 2000 I-9399; du 9 novembre 1995 C-475/93 Thévenon, Rec. 1995 I-3813; du 7 février 1991 C-227/89 Rönfeldt, Rec. 1991 I-323).
L'<ref-ruling> concernait le paiement d'un complément différentiel prévu par la Convention du 3 juillet 1975 de sécurité sociale entre la Confédération suisse et la République française (RS 0.831.109.349.1), mais non par le droit communautaire. Ce complément était versé en cas de remplacement d'une rente d'invalidité de l'assurance-invalidité suisse (système de type A) par deux rentes de vieillesse, d'un montant total inférieur, versées l'une par la Suisse et l'autre par la France. Le complément différentiel visait à maintenir les droits garantis jusqu'alors par le versement de la rente d'invalidité suisse.
4.4. Contrairement à ce que voudraient le recourant et l'OFAS, il ne se justifie pas de revenir sur la jurisprudence de cet arrêt ni d'en restreindre la portée à la situation spécifique (complément différentiel) visée par celui-ci. Un changement de jurisprudence ne se justifie, en principe, que lorsque la nouvelle solution procède d'une meilleure compréhension de la ratio legis, repose sur des circonstances de fait modifiées ou répond à l'évolution des conceptions juridiques; sinon, la pratique en cours doit être maintenue. Un changement doit par conséquent reposer sur des motifs sérieux et objectifs qui, dans l'intérêt de la sécurité du droit, doivent être d'autant plus importants que la pratique considérée comme erronée, ou désormais inadaptée aux circonstances, est ancienne (<ref-ruling> consid. 6.1 p. 313; <ref-ruling> consid. 2.2.2 p. 273, 359 consid. 6.1 p. 361). Ces conditions, limitatives, ne sont pas remplies. Ni le recourant, ni l'OFAS ne prétendent le contraire.
4.5. Cela dit, le Tribunal fédéral a déjà répondu aux objections d'ordre pratique invoquées par l'OFAS (<ref-ruling> consid. 8.7 p. 342 s.). Certes, comme le souligne l'office, il n'est pas d'emblée évident que le calcul préconisé par les premiers juges soit plus favorable à l'intimé. Cela implique un calcul comparatif auquel ni l'administration ni la juridiction cantonale n'ont procédé en l'espèce. Il est nécessaire au préalable que l'organisme compétent selon la législation portugaise communique, sur demande de la caisse suisse, les périodes de cotisations et les périodes assimilées que l'intéressé a accomplies selon la législation portugaise et qui seraient prises en considération pour l'ouverture du droit et le calcul de la pension d'invalidité selon cette législation. Il importe aussi de connaître le montant de la rente qui serait allouée par le Portugal compte tenu des seules périodes accomplies dans ce pays. L'obtention de ces renseignements ne soulève guère de difficultés pratiques pour les autorités compétentes suisses qui peuvent s'appuyer sur l'entraide administrative prévue dans les relations transfrontalières dans le domaine de la sécurité sociale (art. 7 de l'arrangement administratif du 24 septembre 1976 fixant les modalités d'application de la convention bilatérale de sécurité sociale entre la Suisse et le Portugal [RS 0.831.109.654.12]; voir aussi sur l'assistance administrative entre les autorités compétentes de la Suisse et des Etats membres de l'Union européenne: l'art. 84 du règlement no 1408/71, les art. 76 ss du règlement no 883/2004 et les art. 2 ss du règlement n° 987/2009).
4.6. En l'espèce, l'intimé a exercé son droit à la libre circulation avant l'entrée en vigueur de l'ALCP. C'est donc à bon droit que les premiers juges ont prescrit au recourant de tenir compte des périodes de cotisations accomplies au Portugal, étant précisé que cette solution ne sera applicable que si elle est plus favorable à l'intimé. Au besoin, le recourant tiendra compte de la réglementation transitoire ( supra consid. 3). Ces précisions conduisent au rejet du recours au sens des considérants du présent arrêt.
5.
Pour terminer, on relèvera que l'art. 8 par. 1 du règlement n° 883/2004 reprend le principe de l'applicabilité des conventions bilatérales de sécurité sociale plus favorables. Cependant, pour être maintenues en vigueur, les dispositions plus favorables des conventions doivent figurer à l'Annexe II du règlement. Cette annexe ne contient pas de disposition maintenue en vigueur, au sens de l'art. 8 par. 1 du règlement, dans les relations entre la Suisse et le Portugal. La question de savoir si la jurisprudence de l'<ref-ruling> et la jurisprudence européenne sur laquelle il se fonde demeurent applicables sous le régime du règlement n o 883/04 peut rester ouverte à ce stade, l'intimé ayant droit, quoi qu'il en soit, au maintien de sa situation acquise au 31 mars 2012.
6.
Le recourant, qui succombe, supportera les frais judiciaires (<ref-law>). L'intimé a droit à une indemnité de dépens à la charge du recourant (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté au sens des considérants.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
3.
Le recourant versera à l'intimé la somme de 2'800 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties, à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 11 mars 2016
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président : Maillard
La Greffière : Castella