mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] dependency issue
@ 2012-10-25 13:25 Steve Schefter
  2012-10-25 14:09 ` Robert Schwebel
  0 siblings, 1 reply; 7+ messages in thread
From: Steve Schefter @ 2012-10-25 13:25 UTC (permalink / raw)
  To: ptxdist

Hi.

I'm having an issue with ptxdist building one of the components out of order. 
Mesalib depends on host-makedepend, but it is building Mesalib first.

rules/mesalib.in starts off with:
menuconfig MESALIB
        tristate
        prompt "mesa                          "
        select HOST_MESALIB
        select LIBDRM
        select HOST_MAKEDEPEND

There's no circular dependency causing problems:  I've tried removing the one
select statement from rules/host-makedepend.in so that it has no dependencies. 
That had no effect.

ptxdist seems to be aware of Mesalib/host-makedepend dependency as
state/ptx_map_deps.sh contains the line:
PTX_MAP_DEP_MESALIB=HOST_MESALIB:LIBDRM:HOST_MAKEDEPEND:DRI2PROTO:XORG_LIB_X11:
XORG_LIB_XEXT:XORG_LIB_XXF86VM:XORG_LIB_XDAMAGE:XORG_LIB_XFIXES:XORG_PROTO_GL:
EXPAT:GCCLIBS

Any suggestions on what I might have set up incorrectly to cause ptxdist to
build out of order?  Or what, beyond the select statement, can force it to build
host-makedepend first when I run "ptxdist go"?

Thanks,
    Steve




-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ptxdist] dependency issue
  2012-10-25 13:25 [ptxdist] dependency issue Steve Schefter
@ 2012-10-25 14:09 ` Robert Schwebel
  2012-10-26 13:07   ` Steve Schefter
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Schwebel @ 2012-10-25 14:09 UTC (permalink / raw)
  To: ptxdist

On Thu, Oct 25, 2012 at 01:25:24PM +0000, Steve Schefter wrote:
> I'm having an issue with ptxdist building one of the components out of order. 
> Mesalib depends on host-makedepend, but it is building Mesalib first.
> 
> rules/mesalib.in starts off with:
> menuconfig MESALIB
>         tristate
>         prompt "mesa                          "
>         select HOST_MESALIB
>         select LIBDRM
>         select HOST_MAKEDEPEND
> 
> There's no circular dependency causing problems:  I've tried removing the one
> select statement from rules/host-makedepend.in so that it has no dependencies. 
> That had no effect.
> 
> ptxdist seems to be aware of Mesalib/host-makedepend dependency as
> state/ptx_map_deps.sh contains the line:
> PTX_MAP_DEP_MESALIB=HOST_MESALIB:LIBDRM:HOST_MAKEDEPEND:DRI2PROTO:XORG_LIB_X11:
> XORG_LIB_XEXT:XORG_LIB_XXF86VM:XORG_LIB_XDAMAGE:XORG_LIB_XFIXES:XORG_PROTO_GL:
> EXPAT:GCCLIBS
> 
> Any suggestions on what I might have set up incorrectly to cause ptxdist to
> build out of order?  Or what, beyond the select statement, can force it to build
> host-makedepend first when I run "ptxdist go"?

You can try to run 'ptxdist --debug go', which prints out the make
deductions. Maybe that gives you a hint why Mesalib is built first.

rsc
-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ptxdist] dependency issue
  2012-10-25 14:09 ` Robert Schwebel
@ 2012-10-26 13:07   ` Steve Schefter
  2012-10-28 17:13     ` Michael Olbrich
  0 siblings, 1 reply; 7+ messages in thread
From: Steve Schefter @ 2012-10-26 13:07 UTC (permalink / raw)
  To: ptxdist

Robert Schwebel <r.schwebel@...> writes:

> You can try to run 'ptxdist --debug go', which prints out the make
> deductions. Maybe that gives you a hint why Mesalib is built first.

Thanks Robert.

I tried that, but it just seems to confirm that it isn't considering
host-makedpend.  Details below.

First, it reports that it needs to build libdrm.  That is consistent with the 
state/ptx_map_deps.sh line I quoted earlier:
PTX_MAP_DEP_MESALIB=HOST_MESALIB:LIBDRM:HOST_MAKEDEPEND:DRI2PROTO:XORG_LIB_X11:
XORG_LIB_XEXT:XORG_LIB_XXF86VM:XORG_LIB_XDAMAGE:XORG_LIB_XFIXES:XORG_PROTO_GL:
EXPAT:GCCLIBS

But then it moves on to building Mesalib without considering host-makedepend. 
Even though there are no state/host-makedepend... files.  

All of the other state files needed by the above map_deps line are in place (eg
state/xorg-lib-x11..., state/xorg-lib-xxf86vm...) so it rightly doesn't need to
do anything with those (has already done those).  It just seems to be
host-makedepend that it isn't considering.

Regards,
    Steve



 File `world' does not exist.
   File `state/ptx_image_fix_permissions' does not exist.
     File `state/graphics_ddk.targetinstall.post' does not exist.
       File `state/graphics_ddk.targetinstall' does not exist.
         File `state/xorg-server.targetinstall' does not exist.
           File `state/mesalib.targetinstall' does not exist.
             File `state/libdrm.install' does not exist.
               Must remake target `state/libdrm.install'.

(makes libdrm)

finished target libdrm.targetinstall
  Successfully remade target file `state/libdrm.targetinstall'.
    File `state/mesalib.install.post' does not exist.
      File `state/mesalib.install.pack' does not exist.
        File `state/mesalib.install' does not exist.
          File `state/mesalib.compile' does not exist.
            File `state/mesalib.prepare' does not exist.
              File `state/mesalib.extract' does not exist.
                Must remake target `state/mesalib.extract'.



-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ptxdist] dependency issue
  2012-10-26 13:07   ` Steve Schefter
@ 2012-10-28 17:13     ` Michael Olbrich
  2012-10-29 20:33       ` Steve Schefter
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Olbrich @ 2012-10-28 17:13 UTC (permalink / raw)
  To: ptxdist

On Fri, Oct 26, 2012 at 01:07:58PM +0000, Steve Schefter wrote:
> I tried that, but it just seems to confirm that it isn't considering
> host-makedpend.  Details below.
> 
> First, it reports that it needs to build libdrm.  That is consistent with the 
> state/ptx_map_deps.sh line I quoted earlier:
> PTX_MAP_DEP_MESALIB=HOST_MESALIB:LIBDRM:HOST_MAKEDEPEND:DRI2PROTO:XORG_LIB_X11:
> XORG_LIB_XEXT:XORG_LIB_XXF86VM:XORG_LIB_XDAMAGE:XORG_LIB_XFIXES:XORG_PROTO_GL:
> EXPAT:GCCLIBS
> 
> But then it moves on to building Mesalib without considering host-makedepend. 
> Even though there are no state/host-makedepend... files.  
> 
> All of the other state files needed by the above map_deps line are in place (eg
> state/xorg-lib-x11..., state/xorg-lib-xxf86vm...) so it rightly doesn't need to
> do anything with those (has already done those).  It just seems to be
> host-makedepend that it isn't considering.

Strange, I'm not seeing this here. Take a look at the generated dependencies:
$ grep host-makedepend platform-<some-platform>/state/ptx_dgen_deps.post

What does this say?

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ptxdist] dependency issue
  2012-10-28 17:13     ` Michael Olbrich
@ 2012-10-29 20:33       ` Steve Schefter
  2012-10-29 21:26         ` Michael Olbrich
  0 siblings, 1 reply; 7+ messages in thread
From: Steve Schefter @ 2012-10-29 20:33 UTC (permalink / raw)
  To: ptxdist

Michael Olbrich <m.olbrich@...> writes:


> Strange, I'm not seeing this here. Take a look at the generated dependencies:
> $ grep host-makedepend platform-<some-platform>/state/ptx_dgen_deps.post
> 
> What does this say?

I've put the whole output below, but it looks correct to me (indicates that
mesalib depends on host-makedepend).  It indicates:
   $(STATEDIR)/mesalib.prepare: $(STATEDIR)/host-makedepend.install.post

To further debug it, I did an strace of the ptxdist run.  I can see that it
opens /usr/local/lib/ptxdist-2012.03.0/rules/host-makedepend.make.  I can also
see that it does a stat() on state/libdrm.targetinstall to verify that
dependency.  However, there is not stat() for any state/host-makedepend... file.

I'm rather stumped.

Regards,
    Steve



$(STATEDIR)/host-makedepend.get: $(HOST_MAKEDEPEND_SOURCE)
$(STATEDIR)/graphics_ddk.prepare: $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/graphics_ddk.install.unpack: 
        $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/host-mesalib.prepare: $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/host-mesalib.install.unpack: 
        $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/host-makedepend.extract: $(STATEDIR)/host-makedepend.get
$(STATEDIR)/host-makedepend.prepare: $(STATEDIR)/host-makedepend.extract
$(STATEDIR)/host-makedepend.tags: $(STATEDIR)/host-makedepend.prepare
$(STATEDIR)/host-makedepend.compile: $(STATEDIR)/host-makedepend.prepare
$(STATEDIR)/host-makedepend.install: $(STATEDIR)/host-makedepend.compile
$(STATEDIR)/host-makedepend.install.pack: $(STATEDIR)/host-makedepend.install
$(STATEDIR)/host-makedepend.install.post: 
        $(STATEDIR)/host-makedepend.install.pack
$(STATEDIR)/host-makedepend.install.post: 
        $(STATEDIR)/host-makedepend.install.unpack
$(STATEDIR)/host-makedepend.extract: $(STATEDIR)/autogen-tools
$(STATEDIR)/host-makedepend.extract: $(STATEDIR)/host-lndir.install.post
$(STATEDIR)/host-makedepend.prepare: $(STATEDIR)/host-xorg-proto-x.install.post
$(STATEDIR)/host-makedepend.install.unpack:
$(STATEDIR)/host-xorg-proto-x.install.post
$(STATEDIR)/host-makedepend.prepare: $(STATEDIR)/virtual-host-tools.install
$(STATEDIR)/host-makedepend.install.unpack: 
        $(STATEDIR)/virtual-host-tools.install
$(STATEDIR)/xorg-server.prepare: $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/xorg-server.install.unpack: $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/mesalib.prepare: $(STATEDIR)/host-makedepend.install.post
$(STATEDIR)/mesalib.install.unpack: $(STATEDIR)/host-makedepend.install.post



-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ptxdist] dependency issue
  2012-10-29 20:33       ` Steve Schefter
@ 2012-10-29 21:26         ` Michael Olbrich
  2012-10-30  0:27           ` Steve Schefter
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Olbrich @ 2012-10-29 21:26 UTC (permalink / raw)
  To: ptxdist

Hi,

On Mon, Oct 29, 2012 at 08:33:01PM +0000, Steve Schefter wrote:
> Michael Olbrich <m.olbrich@...> writes:
> > Strange, I'm not seeing this here. Take a look at the generated dependencies:
> > $ grep host-makedepend platform-<some-platform>/state/ptx_dgen_deps.post
> > 
> > What does this say?
> 
> I've put the whole output below, but it looks correct to me (indicates that
> mesalib depends on host-makedepend).  It indicates:
>    $(STATEDIR)/mesalib.prepare: $(STATEDIR)/host-makedepend.install.post
> 
> To further debug it, I did an strace of the ptxdist run.  I can see that it
> opens /usr/local/lib/ptxdist-2012.03.0/rules/host-makedepend.make.  I can also
> see that it does a stat() on state/libdrm.targetinstall to verify that
> dependency.  However, there is not stat() for any state/host-makedepend... file.
> 
> I'm rather stumped.

Just to make sure:
host-makedepend is enabled in your ptxconfig, right?
Does "ptxdist install host-makedepend" do the right thing?
Where exactly does it fail when you run "ptxdist targetinstall mesalib"?

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [ptxdist] dependency issue
  2012-10-29 21:26         ` Michael Olbrich
@ 2012-10-30  0:27           ` Steve Schefter
  0 siblings, 0 replies; 7+ messages in thread
From: Steve Schefter @ 2012-10-30  0:27 UTC (permalink / raw)
  To: ptxdist

Thank you Michael.  Your questions lead me to see the error of my ways.

It starts with the fact that, while mesalib depends on host-makedepend, it does
the extract of mesalib before it does the install of host-makedepend.  It just
saves the further steps in building mesalib until later.

The problem is that I had it run mesalib's autogen.sh during the extract.  At
that point, makedepend doesn't exist and mesalib's configure fails.  Why did I
put it as part of extract and not prepare?  According to the notes I put in the
mesalib.make file, I was finding with it in prepare, ptxdist was attempting to
use the configure script included in the tarball (not suitable for cross
compile) before autogen.sh generated a new one.  Now moving it back to prepare I
am not finding this to be an issue, so I am not sure what else might have been
wrong at the time.

Thanks again for your help and gaining a better insight into how ptxdist decides
when to do what.

Regards,
    Steve





-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-10-30  0:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-25 13:25 [ptxdist] dependency issue Steve Schefter
2012-10-25 14:09 ` Robert Schwebel
2012-10-26 13:07   ` Steve Schefter
2012-10-28 17:13     ` Michael Olbrich
2012-10-29 20:33       ` Steve Schefter
2012-10-29 21:26         ` Michael Olbrich
2012-10-30  0:27           ` Steve Schefter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox