I noticed this also this morning, pcarns mentioned to me that you can back out the following patch to get it to build if that is necessary.
http://www.pvfs.org/fisheye/rdiff/PVFS?csid=MAIN:slang:20081212171229&u&N ~Kyle Kyle Schochenmaier On Mon, Dec 15, 2008 at 1:31 PM, Bradley Settlemyer <[email protected]> wrote: > Hello, > > I am having trouble building the tree due to the layout types (newer stuff > I'm not familiar with) -- probably due to the recent compiler I am using, > though I don't think you wanted what you had anyway. I am seeing the > following errors: > > CC src/apps/admin/pvfs2-touch.o > src/apps/admin/pvfs2-touch.c: In function 'main': > src/apps/admin/pvfs2-touch.c:48: error: incompatible types in assignment > src/apps/admin/pvfs2-touch.c:77: error: incompatible types in assignment > make: *** [src/apps/admin/pvfs2-touch.o] Error 1 > > > Which boils down to this line in pvfs2-touch: > > layout.algorithm = PVFS_SYS_LAYOUT_DEFAULT; > > The accompanying enum is this: > > /* Layout algorithm for converting from server lists in the config > * to a list of servers to use to store datafiles for a file. > */ > enum PVFS_sys_layout_algorithm > { > /* order the datafiles according to the server list */ > PVFS_SYS_LAYOUT_NONE = 1, > > /* choose the first datafile randomly, and then round-robin in-order */ > PVFS_SYS_LAYOUT_ROUND_ROBIN = 2, > > /* choose each datafile randomly */ > PVFS_SYS_LAYOUT_RANDOM = 3, > > /* order the datafiles based on the list specified */ > PVFS_SYS_LAYOUT_LIST = 4 > }; > #define PVFS_SYS_LAYOUT_DEFAULT NULL > > (So obviously, default points to an invalid enum value -- namely 0). > > My guess is you wanted something more like this: > > enum PVFS_sys_layout_algorithm > { > /* First enum value is the invalid case */ > PVFS_SYS_LAYOUT_INVALID = 0; > > PVFS_SYS_LAYOUT_NONE = 1, > > /* choose the first datafile randomly, and then round-robin in-order */ > PVFS_SYS_LAYOUT_ROUND_ROBIN = 2, > > /* choose each datafile randomly */ > PVFS_SYS_LAYOUT_RANDOM = 3, > > /* order the datafiles based on the list specified */ > PVFS_SYS_LAYOUT_LIST = 4 > }; > > #define PVFS_SYS_LAYOUT_DEFAULT PVFS_SYS_LAYOUT_NONE > > Then you have the assert that the layout is not 0, and you have a safe > initialization value if you need to set the enum type to some default > initial value for an outbound parameter that won't pass the assert if it > isn't set (due to an error) or if someone just memsets the thing by > accident. > > I changed the call in pvfs2-touch.c to simply use PVFS_SYS_LAYOUT_NONE in my > tree. > > Cheers, > Brad > > _______________________________________________ > Pvfs2-developers mailing list > [email protected] > http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers > > _______________________________________________ Pvfs2-developers mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
