Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: fsck seg fault failure on vmware -i386?



>   | I want to build a debug version of libc (really just the libc/time
>   | routines).
>
> I'd still recommend just editing libc's Makefile, and adding either
> COPTS+=-g or DBG=-g to it - that simple change is easy to make and
> hard to get wrong by accident...
>
>   | Where would the resultant libc.a end up?
>   | I assume it would end up in /usr/obj/lib/libc?
>
> Yes, if there's a libc_g.a use that, otherwise if you had -g in the
> COPTS then libc.a should have the debug symbols.   It should also get
> copied to ${DESTDIR}/lib/libc.c (not sure if the libc_g.a version, if
> created, will go in ${DESTDIR} or not).
>
>   | And how do I get my debug version of fsck_ffs to use the debug
>   | version of libc?
>
> Add DPADD+=/path/to/your/libc.a
> after the existing DPADD+= line in fsck_ffs's Makefile.

After waaay to long, I finally got my VM rebuilt using -current from
1/15/2010. It sure would be nice if there was some sort of nuclear
cvs command to ignore all conflicts and just make my stinkin' tree
look like the source tree.
I tried: cvs up -pADC -D "January 15, 2010" src
Had to fight through conflicts and had to manually delete some other
entries and re-run in the source tree to get a distribution to compile.

- So system is current(1/15/2010)
   o prior to Robert/Christos fsck changes
   o Installed the system so sources and libraries are consistent

- I've compiled libc with DBG=-g in the libc Makefile.
   o This did not produce libc_g.a in /usr/obj/lib/libc
   o This did produce a libc.a that was about 2x the size
     of/lib/libc.a so I assume it has symbols and is debug (?)

- I've compiled fsck_ffs with CPPFLAGS+= -g and
  DPADD+=/usr/obj/lib/libc/libc.a in the Makefile

- I've run: ldd ./fsck_ffs which gives
    o ./fsck_ffs:
        -lc.12 => /lib/libc.so.12
        -lutil.7 => /lib/libutil.so.7
        -lprop.1 => /lib/libprop.so.1
    o Should I be concerned that -lc is still referenced rather
      than my debug version which I manually linked in?

- I've run: ldd /usr/bin/gdb which gives:
   o /usr/bin/gdb:
        -lc.12 => /usr/lib/libc.so.12
        -ltermcap.0 => /usr/lib/libtermcap.so.0
        -lcurses.7 => /usr/lib/libcurses.so.7
        -lintl.1 => /usr/lib/libintl.so.1
        -lm.0 => /usr/lib/libm387.so.0
        -lm.0 => /usr/lib/libm.so.0
        -lkvm.6 => /usr/lib/libkvm.so.6
   o Some of these are common in /lib some not.
   o Do I just need to move these (and associated/corrected links) to
     /lib? Or do I create a temp directory at root and create a temporary
     /usr/lib directory once I come up in single user without the real
     /usr partition mounted?

- So, I think I'm almost there...just need a little clarity on how
  I close this out...thanks for all the patience so far!

--gene





Home | Main Index | Thread Index | Old Index