Wrong configuration for vxWorks 6.7

Bug #1702229 reported by Dirk Zimoch
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Status tracked in 7.0
3.14
Fix Released
Undecided
Andrew Johnson
3.15
Fix Released
Undecided
Andrew Johnson
3.16
Fix Released
Undecided
Andrew Johnson
7.0
Fix Released
Undecided
Andrew Johnson

Bug Description

In configure/os/CONFIG.Common.vxWorksCommon the line
NM_DIR_6.7 = $(GNU_BIN)
does not work for me. Instead I need
NM_DIR_6.7 = $(UTILITIES_BIN)

In addition something in the tool chain complains when WIND_HOME is not defined.
"Environment variables WIND_LIC_PROXY and/or WIND_HOME not set"

Adding this to CONFIG.Common.vxWorksCommon fixes it:
export WIND_HOME=$(WIND_BASE)

I have only recently tried to use vxWorks 6.7 (used 5.5 before). I wonder if other vxWorks 6.7 EPICS users has seen the same problem. But maybe there are none.

The problem exists in all EPICS versions at least from 3.14.8 on.

Revision history for this message
Dirk Zimoch (dirk.zimoch) wrote :

I tried earlier vxWorks version and found the following settings are missing:
NM_DIR_6.2 = $(WORKBENCH_BIN)
NM_DIR_6.3 = $(WORKBENCH_BIN)
Unfortunately I do not know versions 6.1 or 6.0.

Additionally I suggest to calculate WORKBENCH_VERSION from VXWORKS_VERSION in CONFIG.Common.vxWorksCommon just as it is done for VX_GNU_VERSION instead of setting it in CONFIG_SITE.Common.vxWorksCommon:

WORKBENCH_VERSION_6.2 = 2.4
WORKBENCH_VERSION_6.3 = 2.5
WORKBENCH_VERSION_6.4 = 2.6
WORKBENCH_VERSION_6.5 = 2.7
WORKBENCH_VERSION_6.6 = 3.0
WORKBENCH_VERSION = $(WORKBENCH_VERSION_$(VXWORKS_VERSION))

(WORKBENCH_VERSION_6.5 is a guess. I don't have vxWorks 6.5.)

Maybe the same should be done for UTILITIES_VERSION as well. But I only know
UTILITIES_VERSION_6.7 = 1.0

Revision history for this message
Andrew Johnson (anj) wrote :

I got the "NM_DIR_6.7 = $(GNU_BIN)" line from Fermilab many years ago, don't know if they had an unusual installation but I'm happy to make that fix, and to add WIND_HOME. Similarly the new NM_DIR settings, I never had a VxWorks 6.x installation before 6.4.

I wanted to avoid calculating the WORKBENCH_VERSION and UTILITIES_VERSION values because I believe it is possible to have installations where those version numbers are different. However I think the CONFIG_SITE file can override the calculated value, so we can have both.

Changed in epics-base:
assignee: nobody → Andrew Johnson (anj)
status: New → In Progress
Revision history for this message
Dirk Zimoch (dirk.zimoch) wrote :

There is an error in the patch.
WORKBENCH_VERSION_6.7 = 3.1
But it does not matter because WORKBENCH_VERSION is only needed up to 6.6, after that UTILITIES_VERSION is used.

Revision history for this message
Dirk Zimoch (dirk.zimoch) wrote :

I just wondered if we really need those complicated version dependent hacks and I found: No! Wildcards work just fine.

GNU_DIR = $(wildcard $(WIND_BASE)/gnu/*-vxworks-$(VXWORKS_VERSION)/$(WIND_HOST_TYPE))
(or GNU_DIR_6 for EPICS < 3.16)
and
NM = $(wildcard $(WIND_BASE)/*/$(WIND_HOST_TYPE)/bin/$(CMPLR_PREFIX)nm$(CMPLR_SUFFIX)$(HOSTEXE))

and drop all the WORKBENCH_VERSION and UTILITIES_VERSION macros.
(And maybe VX_GNU_VERSION/VX_GNU_MAJOR_VERSION as well but then fix configure/os/CONFIG.Common.vxWorks-ppc604)

Revision history for this message
Andrew Johnson (anj) wrote :

I'm not sure that Base-3.16 actually supports VxWorks versions before 6.6, which use gcc 3.x (Michael?). I certainly don't have them available to test, so I'd be happy saying we don't, which would also simplify the build configuration.

If someone needs earlier VxWorks 6.x versions we still need VX_GNU_VERSION (and being explicit about the GNU_DIR path should be slightly faster than using a wildcard), but I'm OK with the NM change (neat that it even supports VxWorks 5).

I'm attaching a new patch for 3.14. Additional changes in 3.16 will depend on the answer to the above question (and might no longer be relevant to this bug I guess).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.