Menu

#125 Problem compiling on old system

None
closed-fixed
None
5
2016-05-09
2007-09-21
Bob Rogers
No

In the process of moving our main file server to new hardware, I found a problem in restoring the multivolume L1 dump on the new system (that looks suspiciously like the "[ 1165648 ] segfault restoring level 1 backup" issue I found in the tracker -- but more on that later). The new system is running the latest "dump", but the old system (where the backups were made) only has version 0.4b31 installed. So I thought I should try it again using dumps made with the latest version. Alas, the latest won't compile on this vintage-2002 system; a transcript is attached. :-(

Here are the particulars of the software on the old system, which is SuSE GNU/Linux release 8.1:

dump-0.4b31-23
e2fsprogs-1.28-18
k_athlon-2.4.21-198
glibc-2.2.5-184
gcc-3.2-36

I suspect the problem is obvious to a seasoned C hacker . . . but that's not me; I keep getting lost in /usr/include/.

TIA,

-- Bob Rogers

Discussion

  • Bob Rogers

    Bob Rogers - 2007-09-21

    Transcript of build error

     
  • Bob Rogers

    Bob Rogers - 2007-09-21
    • summary: Multiple problems restoring level 1 dump --> Problem compiling on old system
     
  • Stelian Pop

    Stelian Pop - 2007-09-21
    • assigned_to: nobody --> stelian
     
  • Stelian Pop

    Stelian Pop - 2007-09-21

    Logged In: YES
    user_id=5513
    Originator: NO

    Does it work better if you modify compat/include/bsdcompat.h in the dump source directory, and add:
    #include <stdio.h>
    just before the line:
    #include <ext2fs/ext2fs.h>

    ?

     
  • Bob Rogers

    Bob Rogers - 2007-09-21

    ext2fs/ext2fs.h from e2fsprogs-devel-1.28-18

     
  • Bob Rogers

    Bob Rogers - 2007-09-21

    Logged In: YES
    user_id=603349
    Originator: YES

    Thanks; it's getting further now (see below), only to fail in a different place. I've attached /usr/include/ext2fs/ext2fs.h from this system, just to be sure that you're looking at the right version.

    -- Bob

    . . .
    gcc -c -D_BSD_SOURCE -D_USE_BSD_SIGNAL -g -O2 -pipe -I.. -I../compat/include -I../restore -DRDUMP -DRRESTORE -DLINUX_FORK_BUG -DHAVE_LZO -D_PATH_DUMPDATES=\"/usr/local/etc/dumpdates\" -D_DUMP_VERSION=\"0.4b41\" -DDIRDEBUG xattr.c -o xattr.o
    In file included from ../compat/include/bsdcompat.h:15,
    from xattr.c:44:
    /usr/include/ext2fs/ext2fs.h: In function `ext2fs_group_of_blk':
    /usr/include/ext2fs/ext2fs.h:1027: dereferencing pointer to incomplete type
    /usr/include/ext2fs/ext2fs.h:1028: dereferencing pointer to incomplete type
    /usr/include/ext2fs/ext2fs.h: In function `ext2fs_group_of_ino':
    /usr/include/ext2fs/ext2fs.h:1036: dereferencing pointer to incomplete type
    /usr/include/ext2fs/ext2fs.h: At top level:
    /usr/include/ext2fs/ext2fs.h:1041: conflicting types for `ext2fs_inode_data_blocks'
    /usr/include/ext2fs/ext2fs.h:885: previous declaration of `ext2fs_inode_data_blocks'
    /usr/include/ext2fs/ext2fs.h: In function `ext2fs_inode_data_blocks':
    /usr/include/ext2fs/ext2fs.h:1042: dereferencing pointer to incomplete type
    /usr/include/ext2fs/ext2fs.h:1043: dereferencing pointer to incomplete type
    make[1]: *** [xattr.o] Error 1
    make[1]: Leaving directory `/usr/local/src/rogers/dump-0.4b41/restore'
    make: *** [all] Error 1
    rogers@alexandria>
    File Added: ext2fs.h

     
  • Stelian Pop

    Stelian Pop - 2007-09-22

    Logged In: YES
    user_id=5513
    Originator: NO

    Ok, try now adding the following lines:

    #ifdef HAVE_EXT2FS_EXT2_FS_H
    #include <ext2fs/ext2_fs.h>
    #else
    #include <linux/ext2_fs.h>
    #endif

    in restore/xattr.c, just before those lines:

    #include <bsdcompat.h>
    #else /* __linux__ */
    #ifdef sunos
    #include <sys/fcntl.h>
    #include <bsdcompat.h>
    #else
    #include <ufs/ufs/dinode.h>
    #endif
    #endif /* __linux__ */

    Stelian.

     
  • Bob Rogers

    Bob Rogers - 2007-09-22

    Logged In: YES
    user_id=603349
    Originator: YES

    Terrific; that worked. I will use the new binaries to make a full dump tonight, and continue testing on the other issue Monday morning (by which time I will have a level 3 dump to layer over the full dump).

    I configured with --enable-debug; please let me know if there is anything I should do to capture additional information as the dumps are created.

    Thanks again,

    Bob

     
  • Mike Frysinger

    Mike Frysinger - 2016-05-09
    • status: open --> closed-fixed
    • Group: -->
     
  • Mike Frysinger

    Mike Frysinger - 2016-05-09

    i've deployed the fix in commit e141574ec707b14e419adc70fca984284f5883b8

     

Log in to post a comment.