I just found a talk that Nick Rees gave where this exact problem is discussed. He said they rebuilt the VxWorks compiler with the flags
D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
http://www.aps.anl.gov/epics/meetings/2012-10/program/1023-A3_Diamond_Data_Storage.pdf
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mark Rivers
Sent: Friday, January 06, 2017 3:58 PM
To: [email protected]
Subject: vxWorks 6.9 compiler problem on large file systems
Folks,
We are trying to use VxWorks6.9.4 on a Linux system with a 5.4TB file system. We get the following error when building an IOC application on this file system:
/usr/local/vw/vxWorks-6.9.4/gnu/4.3.3-vxworks-6.9/x86-linux2/bin/ccppc -c -DCPU=PPC32 -DvxWorks=vxWorks -include /usr/local/vw/vxWorks-6.9.4/vxworks-6.9/target/h/vxWorks.h -O2 -Wall -mstrict-align -mlongcall -fno-builtin -MMD -I. -I../O.Common -I. -I.. -I../../include/os/vxWorks -I../../include -I/corvette/usr/local/epics/base/include/os/vxWorks -I/corvette/usr/local/epics/base/include -I/usr/local/vw/vxWorks-6.9.4/vxworks-6.9/target/h -I/usr/local/vw/vxWorks-6.9.4/vxworks-6.9/target/h/wrn/coreip ../drvIpac.c
cc1: error: .: Value too large for defined data type
cc1: error: .: Value too large for defined data type
cc1: error: ..: Value too large for defined data type
cc1: error: ../../include: Value too large for defined data type
cc1: error: ../drvIpac.c: Value too large for defined data type
make[2]: *** [drvIpac.o] Error 1
make[2]: Leaving directory `/home/epics/support/ipac-2-13/drvIpac/O.vxWorks-ppc32'
make[1]: *** [install.vxWorks-ppc32] Error 2
make[1]: Leaving directory `/home/epics/support/ipac-2-13/drvIpac'
make: *** [drvIpac.install] Error 2
We suspect this is because the VxWorks compiler is a 32-bit application that was built without the -D_FILE_OFFSET_BITS=64 flag?
EPICS base built fine on this machine when it was located on a 50GB file system. When we moved it to the 5.4TB file system it also failed to build with the same error.
Has anyone else seen this problem, and if so is there a solution other than not compiling with vxWorks on such a large file system?
If we need to repartition this drive we need to know how big we can safely make it. Since the Linux blocks are 1 kB, is the limit 2 TB (2^31 blocks) or 4 TB (2^32 blocks)?
Thanks,
Mark
- References:
- vxWorks 6.9 compiler problem on large file systems Mark Rivers
- Navigate by Date:
- Prev:
vxWorks 6.9 compiler problem on large file systems Mark Rivers
- Next:
Asyn: example driver for slow device? Konrad, Martin
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
vxWorks 6.9 compiler problem on large file systems Mark Rivers
- Next:
Asyn: example driver for slow device? Konrad, Martin
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
<2017>
2018
2019
2020
2021
2022
2023
2024
|