EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: errors in vxWorks-6.9/target/h(eader) files when building base 3.14.12.1
From: Vesna Samardzic-Boban <[email protected]>
To: Andrew Johnson <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 3 Feb 2012 17:30:29 +1100
Hi Andrew,


Sorry for the delay replying - I had problems with the mvme6100 board. It's faulty so I had to send it back to the manufacturer. 
Now I am working with the borrowed mvme5100. 

After building the base, I also built synApps 5.5 (without mca 7-0 because mvme5100 BSP does not have BSP dma driver. My understanding is that I will need your EPICS DMA driver to be able to use mca7 and SIS3820 scaler. For mvme6100 I will need to replace the 6100 WR BSP dma driver with you epics dma driver).
Then I created a simple iocApp with IP carrier and dac128v and my first vxWorks iocApp is running.

_VSB_CONFIG_FILE definitions are alright, i believe. 
Just to mention, to build the epics base, in addtion to the 4 target/h files, I also modified libCom/osi/devLibVME.h line 306, from
void bcopyLongs(char *source, char *destination, int nlongs);
to
void bcopyLongs(char *source, char *destination, size_t nlongs);



Then I ran the tests you recommended i.e.
testspec:
OS-class: vxWorks
Target-arch: vxWorks-ppc32
Harness: vxTestHarness.munch; epicsRunLibComTests


NOT all the tests pass.
The tests actually stop / terminate at:

***** epicsTimeTest *****
1..195
0x24089b0 (tShell0): Unhandled C++ exception resulted in call to terminate



Before this "termination", 'only' one does not pass:

***** epicsStdioTest *****
1..163
ok  1 - epicsSnprintf(size=1) = 46
ok  2 - buffer = ''
ok  3 - length = 0
ok  4 - epicsSnprintf(size=2) = 46
ok  5 - buffer = 'i'
ok  6 - length = 1
ok  7 - epicsSnprintf(size=3) = 46
ok  8 - buffer = 'in'
ok  9 - length = 2
ok 10 - epicsSnprintf(size=4) = 46
ok 11 - buffer = 'int'
ok 12 - length = 3
ok 13 - epicsSnprintf(size=5) = 46
ok 14 - buffer = 'int '
ok 15 - length = 4
ok 16 - epicsSnprintf(size=6) = 46
ok 17 - buffer = 'int 1'
ok 18 - length = 5
ok 19 - epicsSnprintf(size=7) = 46
ok 20 - buffer = 'int 12'
ok 21 - length = 6
ok 22 - epicsSnprintf(size=8) = 46
ok 23 - buffer = 'int 123'
ok 24 - length = 7
ok 25 - epicsSnprintf(size=9) = 46
ok 26 - buffer = 'int 1234'
ok 27 - length = 8
ok 28 - epicsSnprintf(size=10) = 46
ok 29 - buffer = 'int 1234 '
ok 30 - length = 9
ok 31 - epicsSnprintf(size=11) = 46
ok 32 - buffer = 'int 1234 f'
ok 33 - length = 10
ok 34 - epicsSnprintf(size=12) = 46
ok 35 - buffer = 'int 1234 fl'
ok 36 - length = 11
ok 37 - epicsSnprintf(size=13) = 46
ok 38 - buffer = 'int 1234 flo'
ok 39 - length = 12
ok 40 - epicsSnprintf(size=14) = 46
ok 41 - buffer = 'int 1234 floa'
ok 42 - length = 13
ok 43 - epicsSnprintf(size=15) = 46
ok 44 - buffer = 'int 1234 float'
ok 45 - length = 14
ok 46 - epicsSnprintf(size=16) = 46
ok 47 - buffer = 'int 1234 float '
ok 48 - length = 15
ok 49 - epicsSnprintf(size=17) = 46
ok 50 - buffer = 'int 1234 float 1'
ok 51 - length = 16
ok 52 - epicsSnprintf(size=18) = 46
ok 53 - buffer = 'int 1234 float 1.'
ok 54 - length = 17
ok 55 - epicsSnprintf(size=19) = 46
ok 56 - buffer = 'int 1234 float 1.2'
ok 57 - length = 18
ok 58 - epicsSnprintf(size=20) = 46
ok 59 - buffer = 'int 1234 float 1.23'
ok 60 - length = 19
ok 61 - epicsSnprintf(size=21) = 46
ok 62 - buffer = 'int 1234 float 1.23e'
ok 63 - length = 20
ok 64 - epicsSnprintf(size=22) = 46
ok 65 - buffer = 'int 1234 float 1.23e+'
ok 66 - length = 21
ok 67 - epicsSnprintf(size=23) = 46
ok 68 - buffer = 'int 1234 float 1.23e+0'
ok 69 - length = 22
ok 70 - epicsSnprintf(size=24) = 46
ok 71 - buffer = 'int 1234 float 1.23e+04'
ok 72 - length = 23
ok 73 - epicsSnprintf(size=25) = 46
ok 74 - buffer = 'int 1234 float 1.23e+04 '
ok 75 - length = 24
ok 76 - epicsSnprintf(size=26) = 46
ok 77 - buffer = 'int 1234 float 1.23e+04 s'
ok 78 - length = 25
ok 79 - epicsSnprintf(size=27) = 46
ok 80 - buffer = 'int 1234 float 1.23e+04 st'
ok 81 - length = 26
ok 82 - epicsSnprintf(size=28) = 46
ok 83 - buffer = 'int 1234 float 1.23e+04 str'
ok 84 - length = 27
ok 85 - epicsSnprintf(size=29) = 46
ok 86 - buffer = 'int 1234 float 1.23e+04 stri'
ok 87 - length = 28
ok 88 - epicsSnprintf(size=30) = 46
ok 89 - buffer = 'int 1234 float 1.23e+04 strin'
ok 90 - length = 29
ok 91 - epicsSnprintf(size=31) = 46
ok 92 - buffer = 'int 1234 float 1.23e+04 string'
ok 93 - length = 30
ok 94 - epicsSnprintf(size=32) = 46
ok 95 - buffer = 'int 1234 float 1.23e+04 string '
ok 96 - length = 31
ok 97 - epicsSnprintf(size=33) = 46
ok 98 - buffer = 'int 1234 float 1.23e+04 string O'
ok 99 - length = 32
ok 100 - epicsSnprintf(size=34) = 46
ok 101 - buffer = 'int 1234 float 1.23e+04 string On'
ok 102 - length = 33
ok 103 - epicsSnprintf(size=35) = 46
ok 104 - buffer = 'int 1234 float 1.23e+04 string One'
ok 105 - length = 34
ok 106 - epicsSnprintf(size=36) = 46
ok 107 - buffer = 'int 1234 float 1.23e+04 string OneT'
ok 108 - length = 35
ok 109 - epicsSnprintf(size=37) = 46
ok 110 - buffer = 'int 1234 float 1.23e+04 string OneTw'
ok 111 - length = 36
ok 112 - epicsSnprintf(size=38) = 46
ok 113 - buffer = 'int 1234 float 1.23e+04 string OneTwo'
ok 114 - length = 37
ok 115 - epicsSnprintf(size=39) = 46
ok 116 - buffer = 'int 1234 float 1.23e+04 string OneTwoT'
ok 117 - length = 38
ok 118 - epicsSnprintf(size=40) = 46
ok 119 - buffer = 'int 1234 float 1.23e+04 string OneTwoTh'
ok 120 - length = 39
ok 121 - epicsSnprintf(size=41) = 46
ok 122 - buffer = 'int 1234 float 1.23e+04 string OneTwoThr'
ok 123 - length = 40
ok 124 - epicsSnprintf(size=42) = 46
ok 125 - buffer = 'int 1234 float 1.23e+04 string OneTwoThre'
ok 126 - length = 41
ok 127 - epicsSnprintf(size=43) = 46
ok 128 - buffer = 'int 1234 float 1.23e+04 string OneTwoThree'
ok 129 - length = 42
ok 130 - epicsSnprintf(size=44) = 46
ok 131 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeF'
ok 132 - length = 43
ok 133 - epicsSnprintf(size=45) = 46
ok 134 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeFo'
ok 135 - length = 44
ok 136 - epicsSnprintf(size=46) = 46
ok 137 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeFou'
ok 138 - length = 45
ok 139 - epicsSnprintf(size=47) = 46
ok 140 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeFour'
ok 141 - length = 46
ok 142 - epicsSnprintf(size=48) = 46
ok 143 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeFour'
ok 144 - length = 46
ok 145 - epicsSnprintf(size=49) = 46
ok 146 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeFour'
ok 147 - length = 46
ok 148 - epicsSnprintf(size=50) = 46
ok 149 - buffer = 'int 1234 float 1.23e+04 string OneTwoThreeFour'
ok 150 - length = 46
ok 151 - epicsGetStdout() == stdout
ok 152 - (stream = fopen(report, "w")) != NULL
ok 153 - stdout == stream
ok 154 - epicsGetStdout() == realStdout
ok 155 - stdout == realStdout
not ok 156 - !fclose(stream)
# fclose error: OK

not ok 157 - (stream = fopen(report, "r")) != NULL
# 'report' could not be opened for reading: S_ftpLib_REMOTE_SERVER_ERROR_550
ok 158 # SKIP Can't reopen stream file.
ok 159 # SKIP Can't reopen stream file.
ok 160 # SKIP Can't reopen stream file.
ok 161 # SKIP Can't reopen stream file.
ok 162 # SKIP Can't reopen stream file.
ok 163 # SKIP Can't reopen stream file.


Not sure how to go from here so any help or advice would be much appreciated.

Thank you,
Vesna

________________________________________
From: [email protected] [[email protected]] On Behalf Of Andrew Johnson [[email protected]]
Sent: Wednesday, 25 January 2012 4:34 AM
To: [email protected]
Subject: Re: errors in vxWorks-6.9/target/h(eader) files when building base     3.14.12.1

Hi Vesna,

On 2012-01-24 Vesna Samardzic-Boban wrote:
>
> A Trouble Report has been submitted to our local (Australian) support and
>  then to WindRiver. In the meantime, I have a fix for the .h files that
>  enabled me to build the base - if anyone is interested to see/check, let
>  me know and I can send it.

Interesting; this may be something to do with the _VSB_CONFIG_FILE definitions
that we have in a few places, e.g. see src/libCom/osi/os/vxWorks/osdSock.c but
I'm not sure about that.

I would strongly recommend that you run the libCom test suite from your
resulting binaries, which should tell you about any major problems.  Load the
vxTestHarness.munch binary from the appropriate base/bin/vxWorks-<...>
directory and then run the vxWorks shell command epicsRunLibComTests, then
wait for it to finish (there's one test that takes 5 minues to run, so don't
be too impatient with it).  Fix any failures (post the output from the failing
tests here for help) before going any further.

> Is there any reason to not use vxWorks 6.9  for epics 3.14.12.1 or .2
>  and/or mvme 6100 or 5100 ?

We don't yet have a copy of 6.9 here at APS, but I believe that Wind River
removed some of the APIs that EPICS uses between vxWorks 6.8 (which we use)
and 6.9.  Since no other site has contributed suitable code yet there are no
released versions of Base that will work on 6.9 (as you discovered). One
reason for this is that they introduced the ability to run vxWorks on SMP
systems, which are incompatible with one or more of the APIs that we use
(taskVarLib for example). To support SMP properly we're going to have to
introduce a new set of target architectures for vxWorks, and there's quite a
bit of rewriting needed for some of the internals, but I'm not sure what if
anything we have to do for UP support on vxWorks 6.9.

- Andrew
--
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham<br>This message and any attachments may contain proprietary or confidential information. If you are not the intended recipient or you received the message in error, you must not use, copy or distribute the message. Please notify the sender immediately and destroy the original message. Thank you.

Replies:
Re: errors in vxWorks-6.9/target/h(eader) files when building base 3.14.12.1 Andrew Johnson
References:
errors in vxWorks-6.9/target/h(eader) files when building base 3.14.12.1 Vesna Samardzic-Boban
Re: errors in vxWorks-6.9/target/h(eader) files when building base 3.14.12.1 Andrew Johnson

Navigate by Date:
Prev: RE: asyn reading to waveform records Szalata, Zenon M.
Next: CARS modbus output record initialization John Dobbins
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: errors in vxWorks-6.9/target/h(eader) files when building base 3.14.12.1 Andrew Johnson
Next: Re: errors in vxWorks-6.9/target/h(eader) files when building base 3.14.12.1 Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·