Menu

#7 build dependences in posix are ignored

open
4
2000-12-20
2000-06-22
Robert Lipe
No

(robertl) rjltwin:/home/robertl/src/tmp/udiproto.cd1/env/posix
$ make transtest
make: `transtest' is up to date.
(robertl) rjltwin:/home/robertl/src/tmp/udiproto.cd1/env/posix
$ touch ../common/*trans.c
(robertl) rjltwin:/home/robertl/src/tmp/udiproto.cd1/env/posix
$ make transtest
make: `transtest' is up to date.
(robertl) rjltwin:/home/robertl/src/tmp/udiproto.cd1/env/posix
$ make transtest
make: `transtest' is up to date.
(robertl) rjltwin:/home/robertl/src/tmp/udiproto.cd1/env/posix
$ touch osenvdir/bin/ia32/*pio.o
(robertl) rjltwin:/home/robertl/src/tmp/udiproto.cd1/env/posix
$ make transtest
make: `transtest' is up to date.

Removing udi.o gets things working again, but it also results in a
rebuild (why a recompile and not merely a relink?) of the entire world.

Discussion

  • Robert Lipe

    Robert Lipe - 2000-06-22
    • assigned_to: nobody --> kquick
     
  • Robert Lipe

    Robert Lipe - 2000-07-28

    Also, if a 'make inittest' (or other target) is the first
    build done in env/posix, the build fails. It seems you have to do a generic 'make' before any target-specific 'make blah' commands will succeed.

    This may or may not be related.

     
  • Kevin Quick

    Kevin Quick - 2000-08-15

    Fixed general dependencies.
    No dependencies on touched ".o" files
    Did not see the make sequencing problem described in the added comment.

     
  • Kevin Quick

    Kevin Quick - 2000-08-15
    • status: open --> closed-fixed
     
  • Robert Lipe

    Robert Lipe - 2000-08-15
    • status: closed-fixed --> closed
     
  • Robert Lipe

    Robert Lipe - 2000-08-15

    [reopened]
    Now they've gone to the other extreme.

    $ make
    Checking udi.o (udi_user_env) from osenvdir...
    Checking gio.o (gio_POSIX) from ../../meta/gio...
    Checking giomap.o (giomap_POSIX) from mappers/gio...
    Checking bridgemap.o (bridgemap_POSIX) from mappers/bridge...
    Checking bridge.o (bridge_POSIX) from ../../meta/bridge...
    Checking pseudod.o (pseudod_POSIX) from ../../driver/pseudo...
    Checking bridgetest_driver.o (bridgetest_driver_POSIX) from ../../driver/posix_bridge...
    Checking udi_guinead.o (udi_guinea_POSIX) from ../../driver/udi_guinea...
    (robertl) rjlinux:/home/robertl/src/udiproto/env/posix
    $ touch ../common/*trans.c
    (robertl) rjlinux:/home/robertl/src/udiproto/env/posix
    $ make transtest
    Checking udi.o (udi_user_env) from osenvdir...
    ++cc -c -I. -I/home/robertl/src/udiproto/env/posix/../..//pub_include -DLINUX_RELEASE_BUILD -ffreestanding -fno-builtin -fno-strict-aliasing -DDEBUG -DSTATIC= -Wall -fno-omit-frame-pointer -fstrict-prototypes -DDEBUG -Dudi_init_info=udi_user_env_init_info -Dudi_meta_info=udi_user_env_init_info -g3 -DDEBUG -pthread -Ienvcommon/ -g3 -o ./bin/ia32/udi_MA.o envcommon/udi_MA.c
    ++cc -c -I. -I/home/robertl/src/udiproto/env/posix/../..//pub_include -DLINUX_RELEASE_BUILD -ffreestanding -fno-builtin -fno-strict-aliasing -DDEBUG -DSTATIC= -Wall -fno-omit-frame-pointer -fstrict-prototypes -DDEBUG -Dudi_init_info=udi_user_env_init_info -Dudi_meta_info=udi_user_env_init_info -g3 -DDEBUG -pthread -Ienvcommon/ -g3 -o ./bin/ia32/udi_MA_util.o envcommon/udi_MA_util.c
    [every other file on the planet being rebuilt]

    The second problem in this PR also remains. rm -fr posix linux linux-user ;cvs up -d ; cd posix ; ./configure ; make inittest
    (This also points out that a 'make clean' is leaving crumbs
    around or a removal of the directories would be unnecessary)

    (robertl) rjlinux:/home/robertl/src/udiproto/env/posix
    $ ./configure
    Root of Tree = /home/robertl/src/udiproto
    Configuring for linux-user
    Source is in .
    Config-dir is /home/robertl/src/udiproto/env/posix
    Recommended: $ make depend
    (robertl) rjlinux:/home/robertl/src/udiproto/env/posix
    $ make inittest
    cc -g3 -DDEBUG -I. -I../../pub_include -Iosenvdir -I../common -I../posix -I../../mapper/common/gio -I../../mapper/posix/gio -I../../mapper/common/net -I../../mapper/posix/net -I../../driver/pseudond -DSTATIC=static -pthread -Wall -c -o inittest.o inittest.c
    Checking udi.o (udi_user_env) from osenvdir...
    ++cc -c -I. -I/home/robertl/src/udiproto/env/posix/../..//pub_include -DLINUX_RELEASE_BUILD -ffreestanding -fno-builtin -fno-strict-aliasing -DDEBUG -DSTATIC= -Wall -fno-omit-frame-pointer -fstrict-prototypes -DDEBUG -Dudi_init_info=udi_user_env_init_info -Dudi_meta_info=udi_user_env_init_info -g3 -DDEBUG -pthread -Ienvcommon/ -g3 -o ./bin/ia32/udi_MA.o envcommon/udi_MA.c
    cc: envcommon/udi_MA.c: No such file or directory
    cc: No input files
    udibuild: ERROR: `cc' command failed (1).

     
  • Robert Lipe

    Robert Lipe - 2000-08-15
    • status: closed --> open
     
  • Kevin Quick

    Kevin Quick - 2000-08-15

    The second problem is now fixed (thanks for the additional reproduction information). This corrects a rather weak assumption about build procedures and strengthens the POSIX build procedure to be totally bootstrapped as well as testing dependencies better. It should now be possible to do the following:

    $ cd new-dir
    $ cvs checkout udiproto
    $ cd udiproto/env/posix
    $ ./configure
    $ make [test]

    And have it operate correctly.

    The first problem, second version (overbuilding) is still present, therefore this PR is still open.

     
  • Robert Lipe

    Robert Lipe - 2000-12-20
    • priority: 5 --> 4
     
  • Robert Lipe

    Robert Lipe - 2000-12-20

    Also, the dependencies for the bridge mapper must be wrong.
    touch common/bridge/udi_bridge.c and make bridgetest but the mapper doesn't get rebuilt.

     

Log in to post a comment.