Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
Le jeu. 5 avr. 2018 à 07:47, Bruce Dubbs a écrit : > On 04/05/2018 12:31 AM, Bruce Dubbs wrote: > > On 04/04/2018 07:20 PM, Ken Moffat wrote: > >> On Wed, Apr 04, 2018 at 06:17:13PM -0500, Bruce Dubbs wrote: > >>> On 04/04/2018 05:55 PM, jens thys wrote: > Hi Bruce, > Thanks for the quick reply. We are almost of the time working on devel > LFS/BLFS version > > Here are the elements: > e2fsprogs version 1.44.0 > > cat /usr/include/ext2fs/ext2_ext_attr.h | grep e_value > __u16e_value_offs;/* offset in disk block of value */ > __u32e_value_inum;/* inode in which the value is > stored */ > __u32e_value_size;/* size of attribute value */ > > i don' t have the file you mentioned __32 e-value_block. > Something wrong with my e2fsprogs version? Should i upgrade to the > 1.44.1 version which came in the change log the 23/03/2018 or is it > wiser to stay on the stable lfs 1.43.9 ? > >>> > >>> Please do not top post. > >>> > >>> I do not know why you are having the problem. > >>> > >>> struct ext2_ext_attr_entry { > >>> __u8 e_name_len; /* length of name */ > >>> __u8 e_name_index; /* attribute name index */ > >>> __u16 e_value_offs; /* offset in disk block of value */ > >>> __u32 e_value_block; /* disk block attribute is stored on (n/i) */ > >>> __u32 e_value_size; /* size of attribute value */ > >>> __u32 e_hash; /* hash value of name and value */ > >>> #if 0 > >>> char e_name[0]; /* attribute name */ > >>> #endif > >>> }; > >>> > >>> That is from EXT2FS Library version 1.43.8, 1-Jan-2018 > > > >> Between 1.43.9 and 1.44.1, e_value_block was replaced by > >> e_value_inum in that structure! > >> > >> Possibly, s/block/inum/ in that field of btrfs-progs - but probably > >> best to talk to btrfs upstream. > > > > Good catch ken. We can add a pretty simple sed to change e_value_block > > to e_value_inum, but I raised an issue with btrfs. Lets see what they > > do in the next couple of days: > > > > https://github.com/kdave/btrfs-progs/issues/121 > > Got an immediate answer. > > - if (entry->e_value_block != 0 || value_size > size || > - entry->e_value_offs + value_size > size) > + if (value_size > size || entry->e_value_offs + value_size > size) > > So they will just remove 'entry->e_value_block != 0 ||' > > For now, use > > sed -i '/e_value_block/s/entry->e_value_block != 0 ||//' \ >convert/source-ext2.c > > > https://github.com/kdave/btrfs-progs/commit/92ffad47b5c78ca119e798505e20f1b5cf7b7dd8 > > -- Bruce > -- > http://lists.linuxfromscratch.org/listinfo/blfs-support > FAQ: http://www.linuxfromscratch.org/blfs/faq.html > Unsubscribe: See the above information page > Nice job. Thanks. -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
On 04/05/2018 12:31 AM, Bruce Dubbs wrote: On 04/04/2018 07:20 PM, Ken Moffat wrote: On Wed, Apr 04, 2018 at 06:17:13PM -0500, Bruce Dubbs wrote: On 04/04/2018 05:55 PM, jens thys wrote: Hi Bruce, Thanks for the quick reply. We are almost of the time working on devel LFS/BLFS version Here are the elements: e2fsprogs version 1.44.0 cat /usr/include/ext2fs/ext2_ext_attr.h | grep e_value __u16 e_value_offs; /* offset in disk block of value */ __u32 e_value_inum; /* inode in which the value is stored */ __u32 e_value_size; /* size of attribute value */ i don' t have the file you mentioned __32 e-value_block. Something wrong with my e2fsprogs version? Should i upgrade to the 1.44.1 version which came in the change log the 23/03/2018 or is it wiser to stay on the stable lfs 1.43.9 ? Please do not top post. I do not know why you are having the problem. struct ext2_ext_attr_entry { __u8 e_name_len; /* length of name */ __u8 e_name_index; /* attribute name index */ __u16 e_value_offs; /* offset in disk block of value */ __u32 e_value_block; /* disk block attribute is stored on (n/i) */ __u32 e_value_size; /* size of attribute value */ __u32 e_hash; /* hash value of name and value */ #if 0 char e_name[0]; /* attribute name */ #endif }; That is from EXT2FS Library version 1.43.8, 1-Jan-2018 Between 1.43.9 and 1.44.1, e_value_block was replaced by e_value_inum in that structure! Possibly, s/block/inum/ in that field of btrfs-progs - but probably best to talk to btrfs upstream. Good catch ken. We can add a pretty simple sed to change e_value_block to e_value_inum, but I raised an issue with btrfs. Lets see what they do in the next couple of days: https://github.com/kdave/btrfs-progs/issues/121 Got an immediate answer. - if (entry->e_value_block != 0 || value_size > size || - entry->e_value_offs + value_size > size) + if (value_size > size || entry->e_value_offs + value_size > size) So they will just remove 'entry->e_value_block != 0 ||' For now, use sed -i '/e_value_block/s/entry->e_value_block != 0 ||//' \ convert/source-ext2.c https://github.com/kdave/btrfs-progs/commit/92ffad47b5c78ca119e798505e20f1b5cf7b7dd8 -- Bruce -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
On 04/04/2018 07:20 PM, Ken Moffat wrote: On Wed, Apr 04, 2018 at 06:17:13PM -0500, Bruce Dubbs wrote: On 04/04/2018 05:55 PM, jens thys wrote: Hi Bruce, Thanks for the quick reply. We are almost of the time working on devel LFS/BLFS version Here are the elements: e2fsprogs version 1.44.0 cat /usr/include/ext2fs/ext2_ext_attr.h | grep e_value __u16 e_value_offs; /* offset in disk block of value */ __u32 e_value_inum; /* inode in which the value is stored */ __u32 e_value_size; /* size of attribute value */ i don' t have the file you mentioned __32 e-value_block. Something wrong with my e2fsprogs version? Should i upgrade to the 1.44.1 version which came in the change log the 23/03/2018 or is it wiser to stay on the stable lfs 1.43.9 ? Please do not top post. I do not know why you are having the problem. struct ext2_ext_attr_entry { __u8 e_name_len; /* length of name */ __u8 e_name_index; /* attribute name index */ __u16 e_value_offs; /* offset in disk block of value */ __u32 e_value_block; /* disk block attribute is stored on (n/i) */ __u32 e_value_size; /* size of attribute value */ __u32 e_hash; /* hash value of name and value */ #if 0 char e_name[0]; /* attribute name */ #endif }; That is from EXT2FS Library version 1.43.8, 1-Jan-2018 Between 1.43.9 and 1.44.1, e_value_block was replaced by e_value_inum in that structure! Possibly, s/block/inum/ in that field of btrfs-progs - but probably best to talk to btrfs upstream. Good catch ken. We can add a pretty simple sed to change e_value_block to e_value_inum, but I raised an issue with btrfs. Lets see what they do in the next couple of days: https://github.com/kdave/btrfs-progs/issues/121 -- Bruce -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
On Wed, Apr 04, 2018 at 06:17:13PM -0500, Bruce Dubbs wrote: > On 04/04/2018 05:55 PM, jens thys wrote: > > Hi Bruce, > > Thanks for the quick reply. We are almost of the time working on devel > > LFS/BLFS version > > > > Here are the elements: > > e2fsprogs version 1.44.0 > > > > cat /usr/include/ext2fs/ext2_ext_attr.h | grep e_value > > __u16 e_value_offs; /* offset in disk block of value */ > > __u32 e_value_inum; /* inode in which the value is stored */ > > __u32 e_value_size; /* size of attribute value */ > > > > i don' t have the file you mentioned __32 e-value_block. > > Something wrong with my e2fsprogs version? Should i upgrade to the > > 1.44.1 version which came in the change log the 23/03/2018 or is it > > wiser to stay on the stable lfs 1.43.9 ? > > Please do not top post. > > I do not know why you are having the problem. > > struct ext2_ext_attr_entry { >__u8 e_name_len; /* length of name */ >__u8 e_name_index; /* attribute name index */ >__u16 e_value_offs; /* offset in disk block of value */ >__u32 e_value_block; /* disk block attribute is stored on (n/i) */ >__u32 e_value_size; /* size of attribute value */ >__u32 e_hash; /* hash value of name and value */ > #if 0 >char e_name[0]; /* attribute name */ > #endif > }; > > That is from EXT2FS Library version 1.43.8, 1-Jan-2018 > > -- Bruce Between 1.43.9 and 1.44.1, e_value_block was replaced by e_value_inum in that structure! Possibly, s/block/inum/ in that field of btrfs-progs - but probably best to talk to btrfs upstream. ĸen -- Before the universe began, there was a sound. It went: "One, two, ONE, two, three, four" [...] The cataclysmic power chord that followed was the creation of time and space and matter and it does Not Fade Away. - wiki.lspace.org/mediawiki/Music_With_Rocks_In -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
On 04/04/2018 05:55 PM, jens thys wrote: Hi Bruce, Thanks for the quick reply. We are almost of the time working on devel LFS/BLFS version Here are the elements: e2fsprogs version 1.44.0 cat /usr/include/ext2fs/ext2_ext_attr.h | grep _u32 __u32 h_magic; /* magic number for identification */ __u32 h_refcount; /* reference count */ __u32 h_blocks; /* number of disk blocks used */ __u32 h_hash; /* hash value of all attributes */ __u32 h_checksum; /* crc32c(uuid+id+xattrs) */ __u32 h_reserved[3]; /* zero right now */ __u32 e_value_inum; /* inode in which the value is stored */ __u32 e_value_size; /* size of attribute value */ __u32 e_hash; /* hash value of name and value */ cat /usr/include/ext2fs/ext2_ext_attr.h | grep e_value __u16 e_value_offs; /* offset in disk block of value */ __u32 e_value_inum; /* inode in which the value is stored */ __u32 e_value_size; /* size of attribute value */ i don' t have the file you mentioned __32 e-value_block. Something wrong with my e2fsprogs version? Should i upgrade to the 1.44.1 version which came in the change log the 23/03/2018 or is it wiser to stay on the stable lfs 1.43.9 ? Please do not top post. I do not know why you are having the problem. struct ext2_ext_attr_entry { __u8 e_name_len; /* length of name */ __u8 e_name_index; /* attribute name index */ __u16 e_value_offs; /* offset in disk block of value */ __u32 e_value_block; /* disk block attribute is stored on (n/i) */ __u32 e_value_size; /* size of attribute value */ __u32 e_hash; /* hash value of name and value */ #if 0 char e_name[0]; /* attribute name */ #endif }; That is from EXT2FS Library version 1.43.8, 1-Jan-2018 -- Bruce -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
Hi Bruce, Thanks for the quick reply. We are almost of the time working on devel LFS/BLFS version Here are the elements: e2fsprogs version 1.44.0 cat /usr/include/ext2fs/ext2_ext_attr.h | grep _u32 __u32h_magic;/* magic number for identification */ __u32h_refcount;/* reference count */ __u32h_blocks;/* number of disk blocks used */ __u32h_hash;/* hash value of all attributes */ __u32h_checksum;/* crc32c(uuid+id+xattrs) */ __u32h_reserved[3];/* zero right now */ __u32e_value_inum;/* inode in which the value is stored */ __u32e_value_size;/* size of attribute value */ __u32e_hash;/* hash value of name and value */ cat /usr/include/ext2fs/ext2_ext_attr.h | grep e_value __u16e_value_offs;/* offset in disk block of value */ __u32e_value_inum;/* inode in which the value is stored */ __u32e_value_size;/* size of attribute value */ i don' t have the file you mentioned __32 e-value_block. Something wrong with my e2fsprogs version? Should i upgrade to the 1.44.1 version which came in the change log the 23/03/2018 or is it wiser to stay on the stable lfs 1.43.9 ? Le jeu. 5 avr. 2018 à 00:14, Bruce Dubbs a écrit : > On 04/04/2018 04:42 PM, jens thys wrote: > > Hi, > > > > Compilation error during make after std ./configure values dictated in > > the blfs book. > > > > convert/source-ext2.c:425:13: error: ‘struct ext2_ext_attr_entry’ has no > > member named ‘e_value_block’; did you mean ‘e_value_offs’? > >if (entry->e_value_block != 0 || value_size > size || > > ^ > > e_value_offs > > make: *** [Makefile:282: convert/source-ext2.o] Error 1 > > > > > > 1- most correct solution: > > Change the line 425 column 13 value of the source file > > convert/source-ext2.c from e_value_block to e_value_offs. In this case > > compilation runs > > off correctly and the final btrfs-convert function is available in the > > system. > > > > 2- otherwise add in the .configure step the option -- disable-convert. > > In this case obviously the btrfs-convert function is absent . > > > struct ext2_ext_attr_entry is defined in > /usr/include/ext2fs/ext2_ext_attr.h > > My version of that does have > > __u32 e_value_block; /* disk block attribute is stored on (n/i) */ > > what version of e2fsprogs do you have? It should be 1.43.9. > > Also, using e_value_offs may satisfy the compiler, but does not do the > right thing for the logic of the program. > >-- Bruce > -- > http://lists.linuxfromscratch.org/listinfo/blfs-support > FAQ: http://www.linuxfromscratch.org/blfs/faq.html > Unsubscribe: See the above information page > -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
Re: [blfs-support] btrfs-progs-4.15.1 compiling error : 2 solutions available
On 04/04/2018 04:42 PM, jens thys wrote: Hi, Compilation error during make after std ./configure values dictated in the blfs book. convert/source-ext2.c:425:13: error: ‘struct ext2_ext_attr_entry’ has no member named ‘e_value_block’; did you mean ‘e_value_offs’? if (entry->e_value_block != 0 || value_size > size || ^ e_value_offs make: *** [Makefile:282: convert/source-ext2.o] Error 1 1- most correct solution: Change the line 425 column 13 value of the source file convert/source-ext2.c from e_value_block to e_value_offs. In this case compilation runs off correctly and the final btrfs-convert function is available in the system. 2- otherwise add in the .configure step the option -- disable-convert. In this case obviously the btrfs-convert function is absent . struct ext2_ext_attr_entry is defined in /usr/include/ext2fs/ext2_ext_attr.h My version of that does have __u32 e_value_block; /* disk block attribute is stored on (n/i) */ what version of e2fsprogs do you have? It should be 1.43.9. Also, using e_value_offs may satisfy the compiler, but does not do the right thing for the logic of the program. -- Bruce -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page