Opened 4 weeks ago

Closed 6 days ago

#2405 closed Defect (fixed)

compilation of the tools fails in 4.0-HEAD

Reported by: clem Owned by: mathiot
Priority: high Milestone:
Component: tools Version: 4.0-HEAD
Severity: minor Keywords:
Cc: mathiot

Description

In nemo 4.0-HEAD, compilation of the tools fails because of a missing file in mk (Fmake_tools_bld.sh). See message below

./maketools: line 155: /gpfswork/rech/omr/romr008/NEMO4/release-4.0-HEAD/mk/Fmake_tools_bld.sh: No such file or directory

Just adding the Fmake file does the job but since mk is tagged for this nemo revision, I do not know how to correct it.

Commit History (8)

ChangesetAuthorTimeChangeLog
12683mathiot2020-04-03T19:52:14+02:00

ticket #2405: delete temporary branch

12681mathiot2020-04-03T19:03:20+02:00

ticket #2405: merge tools_trunk_ticket2405 into it (merge trigger conflict because of Tree conflict on maketools)

12676mathiot2020-04-03T18:04:59+02:00

ticket #2405: rm externals (svn propdel svn:externals) in tools and add maketools back into tools

12674mathiot2020-04-03T17:59:10+02:00

ticket #2405: branch to remove externals and move maketools into tools.

12673mathiot2020-04-03T17:50:35+02:00

ticket #2405: change external path for tools from /utils/tools@12273 to /utils/tools_r4.0-HEAD@12672

12672mathiot2020-04-03T17:36:44+02:00

ticket #2405: rm externals (svn propdel svn:externals) in tools_r4.0-HEAD

12671mathiot2020-04-03T17:32:46+02:00

ticket #2405: add maketools@12273 in tools_r4.0-HEAD

12670mathiot2020-04-03T17:24:43+02:00

ticket #2405: create branch tools_r4.0-HEAD

Change History (13)

comment:1 Changed 4 weeks ago by mathiot

Crap, I think the root source of this error comes from the externals:

  • During the last merge, changes in mk/maketools has been made to enable pre-processing in tools if a cpp_XXXXX.fcm file is specified.
  • For mk, there is no trouble because the external is managed in the release directory. We can specify a different revision of 'mk' for each release/branch and in 4.0.2. So 'mk' revision is correct.
  • For maketools, the external responsible for the checkout of 'maketools' is managed in tools itself, so it is not possible to specify a different revision of 'maketools' between trunk, releases and branches.

For me, the trouble comes from the management of the external revision in tools, not from 'maketools' or 'mk'. In NEMO (releases/* trunk/ branches/*) we have 'external of external' (ie NEMO has tools as external and tools has maketools as external).

How to fix it now:

  • We create a copy of tools (tools_4.0-HEAD ?) with a fix external revision for maketools and change the external definition in NEMO_4.0-HEAD to point to tools_4.0-HEAD.
  • Update the external in 4.0-HEAD of 'mk' to 12415. I have success to compile REBUILD_NEMO with this technics. This is virtually the same solution as Clem suggested in his ticket.

To avoid this trouble again in the future:

  • Avoid 'external of external'. For tools, it means reintegrate maketools in tools. For other part of the code, do we have other cases like this in doc, AGRIF … ?
  • Make sure before committing changes on 'external of external' that the external definition is properly set (ie not to the head). For tools it means when we change maketools in 'build/maketools' we have to change external definition in 'tools/'. I am not convinced this is a good solution.

comment:2 Changed 13 days ago by clevy

  • Version changed from release-4.0 to 4.0-HEAD

comment:3 Changed 7 days ago by mathiot

  • Owner changed from systeam to mathiot
  • Status changed from new to assigned

Action decided at 19th March St meeting to answer this ticket and prepare ground for other bug in tools for version 4 (#2413 for example):

  • maketools have to be moved from utils/build to utils/tools/ and the externals definition in tools removed.
  • creation of tools_r4.0-HEAD (copy of tools@12273 as specified in the externals for version 4), add the maketools file @12273 in tools_r4.0-HEAD and remove the externals definition in tools_r4.0-HEAD.
  • change the externals in r4.0-HEAD to point toward tools_r4.0-HEAD instead of trunk
Last edited 6 days ago by mathiot (previous) (diff)

comment:4 Changed 7 days ago by mathiot

  • Cc mathiot added

comment:5 Changed 7 days ago by mathiot

In 12670:

ticket #2405: create branch tools_r4.0-HEAD

comment:6 Changed 7 days ago by mathiot

In 12671:

ticket #2405: add maketools@12273 in tools_r4.0-HEAD

comment:7 Changed 7 days ago by mathiot

In 12672:

ticket #2405: rm externals (svn propdel svn:externals) in tools_r4.0-HEAD

comment:8 Changed 6 days ago by mathiot

In 12673:

ticket #2405: change external path for tools from /utils/tools@12273 to /utils/tools_r4.0-HEAD@12672

comment:9 Changed 6 days ago by mathiot

In 12674:

ticket #2405: branch to remove externals and move maketools into tools.

comment:10 Changed 6 days ago by mathiot

In 12676:

ticket #2405: rm externals (svn propdel svn:externals) in tools and add maketools back into tools

comment:11 Changed 6 days ago by mathiot

In 12681:

ticket #2405: merge tools_trunk_ticket2405 into it (merge trigger conflict because of Tree conflict on maketools)

comment:12 Changed 6 days ago by mathiot

In 12683:

ticket #2405: delete temporary branch

comment:13 Changed 6 days ago by mathiot

  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.