Skip to contentSkip to conversation

vexpress compilation error in next-20121127

DISCUSSION Markus Mayer 3 participants 8 messages Nov 28, 2012 – Dec 14, 2012

lore
Share & tools
lore
#0 lore raw

Hi Pawel,

There seems to be an issue compiling vexpress at this point. The problem being that vexpress' makefile references reset.o, but there's no reset.c in arch/arm/mach-vexpress.

[...]

   CC      arch/arm/mach-bcm/board_bcm.o
   LD      arch/arm/mach-bcm/built-in.o
   CC      arch/arm/mach-vexpress/v2m.o

make[1]: *** No rule to make target arch/arm/mach-vexpress/reset.o', needed by arch/arm/mach-vexpress/built-in.o'. Stop.
make: *** [arch/arm/mach-vexpress] Error 2

The commit in question seems to be this:

http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commitdiff;h=38669e045dbf8f62a008898a7fb1e93975b3817c

It adds the reference to reset.o to the makefile, but doesn't add reset.c itself. That doesn't seem right -- or did I overlook anything obvious?

As a quick fix, I tried commenting out reset.o in Makefile. While that lets the compilation proceed, I end up with unresolved symbols at link time.

[...]
CC init/version.o
LD init/built-in.o
arch/arm/mach-vexpress/built-in.o: In function `v2m_dt_init':
/home/mmayer/Development/upstreaming/arm-soc/arch/arm/mach-vexpress/v2m.c:487:
undefined reference to vexpress_power_off' arch/arm/mach-vexpress/built-in.o: In function v2m_init':
/home/mmayer/Development/upstreaming/arm-soc/arch/arm/mach-vexpress/v2m.c:371:
undefined reference to vexpress_power_off' arch/arm/mach-vexpress/built-in.o:(.arch.info.init+0x48): undefined reference to vexpress_restart' arch/arm/mach-vexpress/built-in.o:(.arch.info.init+0x94): undefined reference to `vexpress_restart'
make: *** [vmlinux] Error 1

Regards,
-Markus

#1 lore raw
Quoted 14 lines · Markus Mayer

Hi Pawel,

There seems to be an issue compiling vexpress at this point. The problem being that vexpress' makefile references reset.o, but there's no reset.c in arch/arm/mach-vexpress.

[...]

   CC      arch/arm/mach-bcm/board_bcm.o
   LD      arch/arm/mach-bcm/built-in.o
   CC      arch/arm/mach-vexpress/v2m.o

make[1]: *** No rule to make target arch/arm/mach-vexpress/reset.o', needed by arch/arm/mach-vexpress/built-in.o'. Stop.
make: *** [arch/arm/mach-vexpress] Error 2

Quoted 7 lines

The commit in question seems to be this:

http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commitdiff;h=38669e045dbf8f62a008898a7fb1e93975b3817c

It adds the reference to reset.o to the makefile, but doesn't add reset.c itself. That doesn't seem right -- or did I overlook anything obvious?

That's strange... The reset.c comes from the vexpress/drivers branch, which seems to be merged correctly in the arm-soc:

http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=tree;f=arch/arm/mach-vexpress;hb=refs/heads/for-next

And it's there in the linux-next head:

https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=arch/arm/mach-vexpress

Also the next-20121127 looks good for me:

https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=arch/arm/mach-vexpress;h=47f9de5972efaa719c35bb9dce177fbd2954647c;hb=ce2931ab5e448a93fee55d9d82de9f5e754ff6f7

Are you sure you've checked out the correct tag?

Pawe?

#2 lore raw
Quoted 6 lines · Pawel Moll
Quoted 5 lines · Markus Mayer

Hi Pawel,

There seems to be an issue compiling vexpress at this point. The problem being that vexpress' makefile references reset.o, but there's no reset.c in arch/arm/mach-vexpress.

[...]

Quoted 7 lines

That's strange... The reset.c comes from the vexpress/drivers branch, which seems to be merged correctly in the arm-soc:

http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=tree;f=arch/arm/mach-vexpress;hb=refs/heads/for-next

And it's there in the linux-next head:

Quoted 7 lines

https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=arch/arm/mach-vexpress

Also the next-20121127 looks good for me:

https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=arch/arm/mach-vexpress;h=47f9de5972efaa719c35bb9dce177fbd2954647c;hb=ce2931ab5e448a93fee55d9d82de9f5e754ff6f7

Are you sure you've checked out the correct tag?

What I did was to clone next/soc. reset.c is not in that -- and that's the branch that fails to build. I do see that the commit is in for-next, however.

What I am really concerned about is an arm-soc branch that has commit 8ac49e0485 in it
(http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commit;h=8ac49e0485bb79223a111b366a3b1f5ec9148729).
That commit seems to be in next/soc as well as for-next. Therefore, either one might serve my purpose. I am able to build for-next, but cannot build next/soc due to the above problem.

Is there a quick way to describe the difference between these two branches? I am okay to use for-next rather than next/soc, but I would like to know what the difference between the two.

Also, is it okay for one of the two branches to temporarily not build (as is currently the case with next/soc)?

Thanks,
-Markus

#3 lore raw
Quoted 10 lines · Markus Mayer

What I am really concerned about is an arm-soc branch that has commit 8ac49e0485 in it
(http://git.kernel.org/?p=linux/kernel/git/arm/arm-soc.git;a=commit;h=8ac49e0485bb79223a111b366a3b1f5ec9148729).
That commit seems to be in next/soc as well as for-next. Therefore, either one might serve my purpose. I am able to build for-next, but cannot build next/soc due to the above problem.

Is there a quick way to describe the difference between these two branches? I am okay to use for-next rather than next/soc, but I would like to know what the difference between the two.

Those are questions to Arnd and Olof, really, but _as far as I understand_ theirs workflow, they keep pull topic branches from developers into the respective "next" topic branches (ie. both vexpress/soc and broadcom/soc got into next/soc), then all the topic branches are merged into general for-next (so both next/soc and next/drivers - amongst others - are there).

Quoted 2 lines

Also, is it okay for one of the two branches to temporarily not build (as is currently the case with next/soc)?

This is a policy question, again for Arnd and Olof. In my case I had a long series of changes with internal dependencies and they asked me to break it into topic branches. Maybe I could have done better job with that, but other approach would have meant merge conflicts.

Pawe?

#4 lore raw
Quoted 6 lines · Pawel Moll
Quoted 4 lines

Is there a quick way to describe the difference between these two branches? I am okay to use for-next rather than next/soc, but I would like to know what the difference between the two.

Those are questions to Arnd and Olof [...]

Thanks for your help. I have started a new thread for this topic.

Regards,
-Markus

#5 lore raw
In reply to Markus Mayer
Quoted 6 lines · Markus Mayer

Hi Pawel,

There seems to be an issue compiling vexpress at this point. The problem being that vexpress' makefile references reset.o, but there's no reset.c in arch/arm/mach-vexpress.

Quoted 7 lines

[...]

  CC      arch/arm/mach-bcm/board_bcm.o
  LD      arch/arm/mach-bcm/built-in.o
  CC      arch/arm/mach-vexpress/v2m.o

make[1]: *** No rule to make target arch/arm/mach-vexpress/reset.o', needed by arch/arm/mach-vexpress/built-in.o'. Stop.
make: *** [arch/arm/mach-vexpress] Error 2

Same issue in mainline now too: arch/arm/mach-vexpress/reset.c is missing.

Behan

Signature · 2 lines
Behan Webster
behanw at websterwood.com
#6 lore raw
Quoted 7 lines · Behan Webster
Quoted 6 lines · Markus Mayer

Hi Pawel,

There seems to be an issue compiling vexpress at this point. The problem being that vexpress' makefile references reset.o, but there's no reset.c in arch/arm/mach-vexpress.

Quoted 8 lines
Quoted 7 lines

[...]

  CC      arch/arm/mach-bcm/board_bcm.o
  LD      arch/arm/mach-bcm/built-in.o
  CC      arch/arm/mach-vexpress/v2m.o

make[1]: *** No rule to make target arch/arm/mach-vexpress/reset.o', needed by arch/arm/mach-vexpress/built-in.o'. Stop.
make: *** [arch/arm/mach-vexpress] Error 2

Same issue in mainline now too: arch/arm/mach-vexpress/reset.c is missing.

Yes, I've noticed this myself. It's just that the pull request for the arm-soc drivers branch went out in the second batch yesterday
(http://article.gmane.org/gmane.linux.kernel/1409413), while the soc one in the first one. This was a bad decision to split the reset driver from the main update series, apologies about this.

Pawe?

#7 lore raw
Quoted 15 lines · Pawel Moll
Quoted 14 lines · Behan Webster
Quoted 13 lines · Markus Mayer

Hi Pawel,

There seems to be an issue compiling vexpress at this point. The problem being that vexpress' makefile references reset.o, but there's no reset.c in arch/arm/mach-vexpress.

[...]

   CC      arch/arm/mach-bcm/board_bcm.o
   LD      arch/arm/mach-bcm/built-in.o
   CC      arch/arm/mach-vexpress/v2m.o

make[1]: *** No rule to make target arch/arm/mach-vexpress/reset.o', needed by arch/arm/mach-vexpress/built-in.o'. Stop.
make: *** [arch/arm/mach-vexpress] Error 2

Quoted 5 lines
Quoted 1 line

Same issue in mainline now too: arch/arm/mach-vexpress/reset.c is missing.

Yes, I've noticed this myself. It's just that the pull request for the arm-soc drivers branch went out in the second batch yesterday
(http://article.gmane.org/gmane.linux.kernel/1409413), while the soc one in the first one.

I see it now. Thanks!

Quoted 2 lines

This was a bad decision to split the reset driver from
the main update series, apologies about this.

No worries. Just making sure the issue didn't go unnoticed.

Thanks again,

Behan

Signature · 2 lines
Behan Webster
behanw at websterwood.com