View previous topic :: View next topic |
Author |
Message |
alex.blackbit Advocate
Joined: 26 Jul 2005 Posts: 2397
|
Posted: Thu Feb 08, 2007 10:26 pm Post subject: alpha: aboot not compiling [SOLVED] |
|
|
hello everybody!
aboot is not compiling anymore on my gentoo/alpha box. i believe it is due to a (or two) upgrades of the kernel headers. Code: | axp ~ # emerge aboot
Calculating dependencies... done!
>>> Emerging (1 of 1) sys-boot/aboot-1.0_pre20040408 to /
* aboot-1.0_pre20040408.tar.bz2 MD5 ;-) ... [ ok ]
* aboot-1.0_pre20040408.tar.bz2 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking aboot-1.0_pre20040408.tar.bz2 ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking aboot-1.0_pre20040408.tar.bz2 to /var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work
* Applying aboot-gcc-3.4.patch ... [ ok ]
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work/aboot-1.0_pre20040408 ...
gcc -I/var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work/aboot-1.0_pre20040408/include -D__ASSEMBLY__ -traditional -c -o head.o head.S
head.S:7: error: asm/system.h: No such file or directory
head.S:174: warning: no newline at end of file
make: *** [head.o] Error 1
!!! ERROR: sys-boot/aboot-1.0_pre20040408 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 2964: Called src_compile
aboot-1.0_pre20040408.ebuild, line 27: Called die
!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-boot/aboot-1.0_pre20040408/temp/build.log'.
axp ~ # | for some reason asm/system.h does not exist.
i have now kernel-headers-2.6.20 installed, the problem was the same with .19.
i made a symlink for system.h, then for barrier.h, then for hwrpb.h.
finally i get: Code: | axp ~ # emerge aboot
Calculating dependencies... done!
>>> Emerging (1 of 1) sys-boot/aboot-1.0_pre20040408 to /
* aboot-1.0_pre20040408.tar.bz2 MD5 ;-) ... [ ok ]
* aboot-1.0_pre20040408.tar.bz2 size ;-) ... [ ok ]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking aboot-1.0_pre20040408.tar.bz2 ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking aboot-1.0_pre20040408.tar.bz2 to /var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work
* Applying aboot-gcc-3.4.patch ... [ ok ]
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work/aboot-1.0_pre20040408 ...
gcc -I/var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work/aboot-1.0_pre20040408/include -D__ASSEMBLY__ -traditional -c -o head.o head.S
head.S:174: warning: no newline at end of file
gcc -I/var/tmp/portage/sys-boot/aboot-1.0_pre20040408/work/aboot-1.0_pre20040408/include -D__KERNEL__ -Os -Wall -fno-builtin -mno-fp-regs -ffixed-8 -c -o aboot.o aboot.c
In file included from aboot.c:29:
/usr/include/asm/system.h:574: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'unsigned'
aboot.c:54: error: 'PAGE_OFFSET' undeclared here (not in a function)
aboot.c: In function 'first_block':
aboot.c:92: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
make: *** [aboot.o] Error 1
!!! ERROR: sys-boot/aboot-1.0_pre20040408 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 2964: Called src_compile
aboot-1.0_pre20040408.ebuild, line 27: Called die
!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-boot/aboot-1.0_pre20040408/temp/build.log'.
axp ~ # |
this is the procedure in system.h starting from line 574: Code: | static __always_inline unsigned long
__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
{
switch (size) {
case 1:
return __cmpxchg_u8(ptr, old, new);
case 2:
return __cmpxchg_u16(ptr, old, new);
case 4:
return __cmpxchg_u32(ptr, old, new);
case 8:
return __cmpxchg_u64(ptr, old, new);
}
__cmpxchg_called_with_bad_pointer();
return old;
} | hmm, i do not see what the problem really is with aboot, but i think the header files should be part of the linux-headers package, right?
any help greatly appreciated
--alex
Last edited by alex.blackbit on Tue Feb 13, 2007 8:29 pm; edited 1 time in total |
|
Back to top |
|
|
mjrosenb Tux's lil' helper
Joined: 12 Jun 2006 Posts: 115 Location: CMU
|
Posted: Sun Feb 11, 2007 8:52 am Post subject: |
|
|
The first error looks more serious than what you get after your fix, and I'll look into it as soon as I get my alpha station un-borked (WHY THE HELL DOES libncursesw.so.5 not exist). as for the secondary problem, if you feel like mucking around with some sources, then the __always_inline has been deprecated for sometime now, and has been replaced with
__attribute__((always_inline))
putting that in should fix that compile error. I'll be back in an hour or two. _________________ I'll be mjrosenb on #${COMPUTER_RELATED_SUBJECT}
1x i386 laptop w/ Gentoo
4x i386 desktop w/ Gentoo
2x dual proc i386 w/dragonfly bsd
1x x86-64 desktop w/ Gentoo
1x i386 desktop w/ FreeBSD
1x alpha workstation w/ Gentoo
looking for more |
|
Back to top |
|
|
alex.blackbit Advocate
Joined: 26 Jul 2005 Posts: 2397
|
Posted: Sun Feb 11, 2007 12:20 pm Post subject: |
|
|
thanks for your help.
i am currently not at home, where my alpha is, i will try that out where i come back.
maybe you find out more in the meantime.
chears,
--alex |
|
Back to top |
|
|
mjrosenb Tux's lil' helper
Joined: 12 Jun 2006 Posts: 115 Location: CMU
|
Posted: Sun Feb 11, 2007 10:50 pm Post subject: |
|
|
*sigh* what version of linux-headers are you using?
Turns out I was using linux-headers-2.6.20, and that version is missing one or two features such as asm/system.h and the contents of page.h
I'm sure that there are other things missing (or that have been relocated). Downgrading linux-headers fixed aboot, and possibly binutils, which reminds me, I need to post on my own thread about that. _________________ I'll be mjrosenb on #${COMPUTER_RELATED_SUBJECT}
1x i386 laptop w/ Gentoo
4x i386 desktop w/ Gentoo
2x dual proc i386 w/dragonfly bsd
1x x86-64 desktop w/ Gentoo
1x i386 desktop w/ FreeBSD
1x alpha workstation w/ Gentoo
looking for more |
|
Back to top |
|
|
Kloeri Retired Dev
Joined: 02 Sep 2002 Posts: 144
|
Posted: Sun Feb 11, 2007 11:59 pm Post subject: |
|
|
I've just masked linux-headers-2.6.19+ on Alpha until we can get these problems fixed. |
|
Back to top |
|
|
alex.blackbit Advocate
Joined: 26 Jul 2005 Posts: 2397
|
Posted: Mon Feb 12, 2007 8:49 am Post subject: |
|
|
@Kloeri: thanks, i noticed that on http://packages.gentoo.org/
the kernel versions 2.6.19 and 2.6.20 do not work on gentoo/alpha either.
i cannot post the errors right now because i do not have access to my alpha,
but i will as soon as i can.
@mjrosenb: like posted before, 2.6.19 and 2.6.20 produce these errors.
i find this case very intersting. how can it be, that aboot compiles against older kernel headers, since the (__)always_inline thing procudes a compile error? i will of course try what happens when i change that to __attribue__.
what is going on with page.h? is that header file missing too in the kernel-headers? |
|
Back to top |
|
|
alex.blackbit Advocate
Joined: 26 Jul 2005 Posts: 2397
|
Posted: Tue Feb 13, 2007 2:54 pm Post subject: |
|
|
okay, the hack is growing...
the things i have done so far:
created a portage-overlay for a modified sys-boot/aboot-1.0_pre20040408.
added a newline at the end of head.S because of Code: | head.S:174: warning: no newline at end of file | of course this is only a warning and does not really matter, but what we want is clean code, right?
changed /usr/src/linux/include/asm-alpha/system.h Code: | --- system.h 2007-02-13 15:15:15.000000000 +0100
+++ system.h.bak 2007-02-13 15:14:24.000000000 +0100
@@ -571,7 +571,7 @@
if something tries to do an invalid cmpxchg(). */
extern void __cmpxchg_called_with_bad_pointer(void);
-static __attribute__((always_inline)) unsigned long
+static __always_inline unsigned long
__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
{
switch (size) { | i made the following symlinks in /usr/include/:
lrwxrwxrwx 1 root root 42 Feb 8 23:19 barrier.h -> /usr/src/linux/include/asm-alpha/barrier.h
lrwxrwxrwx 1 root root 41 Feb 13 15:35 bitops.h -> /usr/src/linux/include/asm-alpha/bitops.h
lrwxrwxrwx 1 root root 40 Feb 8 23:20 hwrpb.h -> /usr/src/linux/include/asm-alpha/hwrpb.h
lrwxrwxrwx 1 root root 39 Feb 13 15:18 page.h -> /usr/src/linux/include/asm-alpha/page.h
lrwxrwxrwx 1 root root 41 Feb 8 23:18 system.h -> /usr/src/linux/include/asm-alpha/system.h
lrwxrwxrwx 1 root root 42 Feb 13 15:37 bitops -> /usr/src/linux/include/asm-generic/bitops/
lrwxrwxrwx 1 root root 49 Feb 13 15:29 memory_model.h -> /usr/src/linux/include/asm-generic/memory_model.h
lrwxrwxrwx 1 root root 41 Feb 13 15:29 page.h -> /usr/src/linux/include/asm-generic/page.h
lrwxrwxrwx 1 root root 37 Feb 13 15:34 bitops.h -> /usr/src/linux/include/linux/bitops.h
lrwxrwxrwx 1 root root 35 Feb 13 15:33 log2.h -> /usr/src/linux/include/linux/log2.h
i end up with that: Code: | ...
In file included from /usr/include/asm-generic/page.h:8,
from /usr/include/asm/page.h:98,
from /usr/include/asm/system.h:6,
from aboot.c:29:
/usr/include/linux/log2.h:32: error: expected ')' before 'n'
/usr/include/linux/log2.h:40: error: expected ')' before 'n'
... | these are two function implementations: Code: | ...
int __ilog2_u32(u32 n)
{
return fls(n) - 1;
}
...
int __ilog2_u64(u64 n)
{
return fls64(n) - 1;
}
... | i do not see what the problem is.
why should the parentheses be closed before the variable? i DO need a type and a variable as parameter of a function...
okay, does anybody see farer than me? |
|
Back to top |
|
|
alex.blackbit Advocate
Joined: 26 Jul 2005 Posts: 2397
|
Posted: Tue Feb 13, 2007 8:29 pm Post subject: |
|
|
okay, only bill gates knows why, but it works again.
after emerging the new kernel-headers package the original aboot ebuild emerged without any modifications.
there are some warnings, but they were always there.
it seems like some there was some very clever guy working at the headers.
i will append a [SOLVED] to the initial topic.
thanks everybody for the help,
--alex |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|