[opensuse-kernel] Issues with USB 2.0 on one machine.
Hi there. For a long time now I have had some issues with USB 2.0 enabled on one of my machines, but *only* in Linux. In Windows everything works fine, which makes me think that there's simply something that is not implemented/wrongly detected in Linux. I get a bunch of these when the ehci-hcd module is loaded: hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? At least 100 and they continue to show up until I unload the ehci-hcd module. My load with ehci-hcd loaded is very high. Typically about 2-3 whereas it would be around 0.5 otherwise. At one point I replied to a bug with a similar problem on the vanilla kernel and got a patch that could block a USB hub, which took care of the load issue, but would also result in my wireless rt2570 disappearing. It was loaded like this: #!/bin/sh modprobe ehci-hcd sleep 1s echo 2 > /sys/class/usb_hub/usbhub5.2/ignore date > /tmp/fix-usb.log 2&>1 I have (hopefully) attached the patch to this message. Is there any way that we can get closer to what the real problem is here? Even if it means installing some debug software in Windows and running a battery of tests, I would just really like to have working USB 2.0 again... I also wonder why the patch never made it to the kernel. It was scheduled for inclusion at one point. Maybe it has issues? For the record: This happens with almost all 2.6 kernels I have tried, SUSE or otherwise. I think I didn't see it around 2.6.5, but I'm not quite sure. 2.4.x kernels do not have the problem as far as I can tell, but then USB 2.0 is a 2.6 feature, right? If I do not load the ehci-hcd module I *can* actually see and use my wireless adapter, but naturally it maxes out at 12 Mbit/s... The machine is pretty responsive even with the high load, but is does not seem right that is should behave this way.
Am Dienstag 28 August 2007 schrieb Martin Møller:
I have (hopefully) attached the patch to this message.
That would be a solution of last resort. I'd rather ratelimit the printk.
Is there any way that we can get closer to what the real problem is here? Even if it means installing some debug software in Windows and running a battery of tests, I would just really like to have working USB 2.0 again...
I also wonder why the patch never made it to the kernel. It was scheduled for inclusion at one point. Maybe it has issues?
For the record: This happens with almost all 2.6 kernels I have tried, SUSE or otherwise. I think I didn't see it around 2.6.5, but I'm not quite sure. 2.4.x kernels do not have the problem as far as I can tell, but then USB 2.0 is a 2.6 feature, right?
Please make sure about 2.6.5. Narrowing this down would be necessary. 2.4 had USB 2.0 support since at least 2.4.21 (Oldest kernel I have around) Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Okay... I'll dig up the various CDs with various kernels and get back to you ;)
In 10.3 I could install with 'brokenmodules=ehci-hcd', wheras that didn't work in any previous version...
/Martin.
----- "Oliver Neukum"
Am Dienstag 28 August 2007 schrieb Martin Møller:
That would be a solution of last resort. I'd rather ratelimit the printk.
Please make sure about 2.6.5. Narrowing this down would be necessary. 2.4 had USB 2.0 support since at least 2.4.21 (Oldest kernel I have around)
Regards Oliver
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Okay.. These are my results:
I was wrong about 2.6.5 -- It also says port 2 is bad, as does 2.6.4 and 2.6.12 and every other 2.6.x kernel that loads ehci-hcd.
For all the 2.6 kernels, the load was at 1 or higher with ehci-hcd loaded and nothing going on...
I tried: SuSE Linux 9.1, SLES9 SP1, Knoppix 4
However, both 2.4.21 and 2.4.27 kernel work fine (but cannot see my harddisks, save the USB one, for lack of SATA support)
Mounted one USB partition with the 2.4.27 kernel from GamesKnoppix I and wrote the attached files to the USB disk.
2.4 distros: GamesKnoppix I, UnitedLinux SP3.
So I guess that means that SuSE Linux 9.0 was the last time I had functional USB 2.0 speed without workarounds... How time flies...
Something must have changed dramatically going to 2.6 for the ehci-hcd driver...
/Martin.
----- "Oliver Neukum"
Am Dienstag 28 August 2007 schrieb Martin Møller:
That would be a solution of last resort. I'd rather ratelimit the printk.
Please make sure about 2.6.5. Narrowing this down would be necessary. 2.4 had USB 2.0 support since at least 2.4.21 (Oldest kernel I have around)
Regards Oliver
Am Dienstag 28 August 2007 schrieb Martin Møller:
Okay.. These are my results:
I was wrong about 2.6.5 -- It also says port 2 is bad, as does 2.6.4 and 2.6.12 and every other 2.6.x kernel that loads ehci-hcd. For all the 2.6 kernels, the load was at 1 or higher with ehci-hcd loaded and nothing going on... I tried: SuSE Linux 9.1, SLES9 SP1, Knoppix 4
You have khubd running non stop.
However, both 2.4.21 and 2.4.27 kernel work fine (but cannot see my harddisks, save the USB one, for lack of SATA support) Mounted one USB partition with the 2.4.27 kernel from GamesKnoppix I and wrote the attached files to the USB disk.
Can you bisect through 2.5 ?
2.4 distros: GamesKnoppix I, UnitedLinux SP3.
So I guess that means that SuSE Linux 9.0 was the last time I had functional USB 2.0 speed without workarounds... How time flies...
Something must have changed dramatically going to 2.6 for the ehci-hcd driver...
There's no indication the change must have been dramatic to cause this. Are you using a VIA chipset? Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
I am almost 100% sure that it is an MSI or Intel chipset. Nearly every device is from Intel anyway...
dmidecode calls it MS-7204.
I can try 2.5 kernels, but will they boot my system to a prompt med udev/hal etc..?
Do you have an idea as to how I can make a 2.5 friendly environment if udev/hal is not well supported in 2.5?
Which 2.5 kernels would you suggest? One in the lower end I suppose and maybe of of the last ones?
----- Original Message -----
From: "Oliver Neukum"
Okay.. These are my results:
I was wrong about 2.6.5 -- It also says port 2 is bad, as does 2.6.4 and 2.6.12 and every other 2.6.x kernel that loads ehci-hcd. For all the 2.6 kernels, the load was at 1 or higher with ehci-hcd loaded and nothing going on... I tried: SuSE Linux 9.1, SLES9 SP1, Knoppix 4
You have khubd running non stop.
However, both 2.4.21 and 2.4.27 kernel work fine (but cannot see my harddisks, save the USB one, for lack of SATA support) Mounted one USB partition with the 2.4.27 kernel from GamesKnoppix I and wrote the attached files to the USB disk.
Can you bisect through 2.5 ?
2.4 distros: GamesKnoppix I, UnitedLinux SP3.
So I guess that means that SuSE Linux 9.0 was the last time I had functional USB 2.0 speed without workarounds... How time flies...
Something must have changed dramatically going to 2.6 for the ehci-hcd driver...
There's no indication the change must have been dramatic to cause this. Are you using a VIA chipset? Regards Oliver
Am Mittwoch 29 August 2007 schrieb Martin Møller:
I am almost 100% sure that it is an MSI or Intel chipset. Nearly every device is from Intel anyway... dmidecode calls it MS-7204.
OK, I asked because VIA is known buggy.
I can try 2.5 kernels, but will they boot my system to a prompt med udev/hal etc..? Do you have an idea as to how I can make a 2.5 friendly environment if udev/hal is not well supported in 2.5?
I propose that you don't try. You just need to boot far enough to know whether your kernel spews out the messages. So built USB statically into the kernel and just build enough into the kernel so it doesn't panic too early.
Which 2.5 kernels would you suggest? One in the lower end I suppose and maybe of of the last ones?
There's no telling which kernel broke it. If you are doing a binary search you should be able to narrow it down quickly, suggesting you start with a kernel in the middle of 2.5 Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
OK... I'll get 2.5.37 and prepare a compile.
Will likely try it tomorrow.
/Martin.
----- "Oliver Neukum"
Am Mittwoch 29 August 2007 schrieb Martin Møller:
OK, I asked because VIA is known buggy.
I propose that you don't try. You just need to boot far enough to know whether your kernel spews out the messages. So built USB statically into the kernel and just build enough into the kernel so it doesn't panic too early.
There's no telling which kernel broke it. If you are doing a binary search you should be able to narrow it down quickly, suggesting you start with a kernel in the middle of 2.5
Regards Oliver
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Well... make menuconfig worked, but subsequent build of the kernel failed... 2.5 need gcc 3.<something>, doesn't it?
I have disabled module support, but running 'make bzImage' results in the following with gcc 4.2
dualpc:/usr/src/TESTS/linux-2.5.37 # make help
Cleaning targets:
clean - remove most generated files but keep the config
mrproper - remove all generated files including the config
distclean - mrproper + remove files generated by editors and patch
Configuration targets:
oldconfig - Update current config utilising a line-oriented program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a X-based program
defconfig - New config with default answer to all options
allmodconfig - New config selecting modules when possible
allyesconfig - New config where all options are accepted with yes
allnoconfig - New minimal config
Other generic targets:
all - Build all targets marked with [*]
dep - Create module version information
* vmlinux - Build the bare kernel
* modules - Build all modules
dir/file.[ois]- Build specified target only
rpm - Build a kernel as an RPM package
tags/TAGS - Generate tags file for editors
Documentation targets:
Linux kernel internal documentation in different formats:
sgmldocs (SGML), psdocs (Postscript), pdfdocs (PDF), htmldocs (HTML)
Architecture specific targets (i386):
* bzImage - Compressed kernel image (arch/i386/boot/bzImage)
install - Install kernel using
(your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
Execute "make" or "make all" to build all targets marked with [*]
For further info browse Documentation/kbuild/*
dualpc:/usr/src/TESTS/linux-2.5.37 # ls ..
2.5-start.config 2.5-start.config.old linux-2.5.37 linux-2.5.37.tar.bz2
dualpc:/usr/src/TESTS/linux-2.5.37 # make bzImage
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37'
make[2]: Går til katalog '/usr/src/TESTS/linux-2.5.37/scripts'
make[2]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/scripts'
Starting the build. KBUILD_BUILTIN=1 KBUILD_MODULES=
make[2]: Går til katalog '/usr/src/TESTS/linux-2.5.37'
make[3]: Går til katalog '/usr/src/TESTS/linux-2.5.37/kernel'
gcc -E -Wp,-MD,/usr/src/TESTS/linux-2.5.37/include/linux/modules/kernel/.exec_domain.ver.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=exec_domain -D__GENKSYMS__ exec_domain.c | /sbin/genksyms -p smp_ -k 2.5.37 > /usr/src/TESTS/linux-2.5.37/include/linux/modules/kernel/exec_domain.ver.tmp
/bin/sh: /sbin/genksyms: Ingen sådan fil eller filkatalog
make[3]: *** [/usr/src/TESTS/linux-2.5.37/include/linux/modules/kernel/exec_domain.ver] Fejl 1
make[3]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/kernel'
make[2]: *** [_sfdep_kernel] Fejl 2
make[2]: Forlader katalog '/usr/src/TESTS/linux-2.5.37'
make[1]: *** [include/linux/modversions.h] Fejl 2
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37'
make: *** [.hdepend] Fejl 2
dualpc:/usr/src/TESTS/linux-2.5.37 # make menuconfig
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/scripts'
make -C lxdialog all
make[2]: Går til katalog '/usr/src/TESTS/linux-2.5.37/scripts/lxdialog'
make[2]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/scripts/lxdialog'
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/scripts'
/bin/sh ./scripts/Menuconfig arch/i386/config.in
Using defaults found in .config
Preparing scripts: functions, parsing.......................................................................................done.
Saving your kernel configuration...
*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'.
dualpc:/usr/src/TESTS/linux-2.5.37 # make dep
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37'
make[1]: Ingenting at gøre for 'include/linux/modversions.h'.
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37'
dualpc:/usr/src/TESTS/linux-2.5.37 # make bzImage
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/scripts'
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/scripts'
SPLIT include/linux/autoconf.h -> include/config/*
Starting the build. KBUILD_BUILTIN=1 KBUILD_MODULES=
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/kernel'
gcc -Wp,-MD,./.sched.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -fno-omit-frame-pointer -DKBUILD_BASENAME=sched -c -o sched.o sched.c
In file included from /usr/src/TESTS/linux-2.5.37/include/asm/thread_info.h:13,
from /usr/src/TESTS/linux-2.5.37/include/linux/thread_info.h:11,
from /usr/src/TESTS/linux-2.5.37/include/linux/spinlock.h:12,
from /usr/src/TESTS/linux-2.5.37/include/linux/capability.h:44,
from /usr/src/TESTS/linux-2.5.37/include/linux/sched.h:9,
from /usr/src/TESTS/linux-2.5.37/include/linux/mm.h:4,
from sched.c:19:
/usr/src/TESTS/linux-2.5.37/include/asm/processor.h:80: error: array type has incomplete element type
In file included from /usr/src/TESTS/linux-2.5.37/include/linux/kernel.h:15,
from /usr/src/TESTS/linux-2.5.37/include/linux/spinlock.h:13,
from /usr/src/TESTS/linux-2.5.37/include/linux/capability.h:44,
from /usr/src/TESTS/linux-2.5.37/include/linux/sched.h:9,
from /usr/src/TESTS/linux-2.5.37/include/linux/mm.h:4,
from sched.c:19:
/usr/src/TESTS/linux-2.5.37/include/asm/byteorder.h:14: warning: type qualifiers ignored on function return type
/usr/src/TESTS/linux-2.5.37/include/asm/byteorder.h:28: warning: type qualifiers ignored on function return type
In file included from /usr/src/TESTS/linux-2.5.37/include/linux/byteorder/little_endian.h:11,
from /usr/src/TESTS/linux-2.5.37/include/asm/byteorder.h:45,
from /usr/src/TESTS/linux-2.5.37/include/linux/kernel.h:15,
from /usr/src/TESTS/linux-2.5.37/include/linux/spinlock.h:13,
from /usr/src/TESTS/linux-2.5.37/include/linux/capability.h:44,
from /usr/src/TESTS/linux-2.5.37/include/linux/sched.h:9,
from /usr/src/TESTS/linux-2.5.37/include/linux/mm.h:4,
from sched.c:19:
/usr/src/TESTS/linux-2.5.37/include/linux/byteorder/swab.h:132: warning: type qualifiers ignored on function return type
/usr/src/TESTS/linux-2.5.37/include/linux/byteorder/swab.h:145: warning: type qualifiers ignored on function return type
/usr/src/TESTS/linux-2.5.37/include/linux/byteorder/swab.h:159: warning: type qualifiers ignored on function return type
In file included from /usr/src/TESTS/linux-2.5.37/include/asm/smp.h:16,
from /usr/src/TESTS/linux-2.5.37/include/linux/smp.h:16,
from /usr/src/TESTS/linux-2.5.37/include/linux/sched.h:24,
from /usr/src/TESTS/linux-2.5.37/include/linux/mm.h:4,
from sched.c:19:
/usr/src/TESTS/linux-2.5.37/include/asm/mpspec.h:86: warning: ‘packed’ attribute ignored for field of type ‘unsigned char[6]’
In file included from /usr/src/TESTS/linux-2.5.37/include/linux/sched.h:24,
from /usr/src/TESTS/linux-2.5.37/include/linux/mm.h:4,
from sched.c:19:
/usr/src/TESTS/linux-2.5.37/include/linux/smp.h:31: error: conflicting types for ‘smp_send_reschedule’
/usr/src/TESTS/linux-2.5.37/include/asm/smp.h:64: error: previous declaration of ‘smp_send_reschedule’ was here
sched.c:438: error: conflicting types for ‘wake_up_process’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:504: error: previous declaration of ‘wake_up_process’ was here
sched.c:449: error: conflicting types for ‘wake_up_forked_process’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:505: error: previous declaration of ‘wake_up_forked_process’ was here
sched.c:479: error: conflicting types for ‘sched_exit’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:506: error: previous declaration of ‘sched_exit’ was here
sched.c:1092: error: conflicting types for ‘__wake_up’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:495: error: previous declaration of ‘__wake_up’ was here
sched.c:1107: error: conflicting types for ‘__wake_up_locked’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:496: error: previous declaration of ‘__wake_up_locked’ was here
sched.c:1125: error: conflicting types for ‘__wake_up_sync’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:497: error: previous declaration of ‘__wake_up_sync’ was here
sched.c:1142: error: conflicting types for ‘complete’
/usr/src/TESTS/linux-2.5.37/include/linux/completion.h:31: error: previous declaration of ‘complete’ was here
sched.c:1152: error: conflicting types for ‘wait_for_completion’
/usr/src/TESTS/linux-2.5.37/include/linux/completion.h:30: error: previous declaration of ‘wait_for_completion’ was here
sched.c:1187: error: conflicting types for ‘interruptible_sleep_on’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:501: error: previous declaration of ‘interruptible_sleep_on’ was here
sched.c:1198: error: conflicting types for ‘interruptible_sleep_on_timeout’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:502: error: previous declaration of ‘interruptible_sleep_on_timeout’ was here
sched.c:1211: error: conflicting types for ‘sleep_on’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:498: error: previous declaration of ‘sleep_on’ was here
sched.c:1222: error: conflicting types for ‘sleep_on_timeout’
/usr/src/TESTS/linux-2.5.37/include/linux/sched.h:499: error: previous declaration of ‘sleep_on_timeout’ was here
make[1]: *** [sched.o] Fejl 1
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/kernel'
make: *** [kernel] Fejl 2
At gcc.gnu.org I can find two versions of gcc 3:
GCC 3.4.4 May 18, 2005
GCC 3.3.6 May 3, 2005
Given that I *do* have to compile a compiler, which one would be preferable for kernel builds?
Should I go as low as 2.x?
Hopefully I can put all this out of the was and just include the paths in PATH and LD_LIBRARY_PATH?
BTW: I tried disabling SMP support but didn't get much farther...
/Martin.
----- "Martin Møller"
OK... I'll get 2.5.37 and prepare a compile. Will likely try it tomorrow.
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Wed 29-08-07 20:54:16, Martin Møller wrote:
Well... make menuconfig worked, but subsequent build of the kernel failed... 2.5 need gcc 3.<something>, doesn't it?
I have disabled module support, but running 'make bzImage' results in the following with gcc 4.2 <snip> gcc -Wp,-MD,./.sched.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -fno-omit-frame-pointer -DKBUILD_BASENAME=sched -c -o sched.o sched.c In file included from /usr/src/TESTS/linux-2.5.37/include/asm/thread_info.h:13, from /usr/src/TESTS/linux-2.5.37/include/linux/thread_info.h:11, from /usr/src/TESTS/linux-2.5.37/include/linux/spinlock.h:12, from /usr/src/TESTS/linux-2.5.37/include/linux/capability.h:44, from /usr/src/TESTS/linux-2.5.37/include/linux/sched.h:9, from /usr/src/TESTS/linux-2.5.37/include/linux/mm.h:4, from sched.c:19: /usr/src/TESTS/linux-2.5.37/include/asm/processor.h:80: error: array type has incomplete element type ... Oh yes, even our SLES9 kernels are not compilable with gcc 4.2.
At gcc.gnu.org I can find two versions of gcc 3:
GCC 3.4.4 May 18, 2005 GCC 3.3.6 May 3, 2005
Given that I *do* have to compile a compiler, which one would be preferable for kernel builds?
Should I go as low as 2.x? In the README file in kernel tarball, there is usually written a version of gcc the kernel is supposed to compile with. Or similar information should be in Documentation/Changes. As far as I remember gcc 2.95 was a norm for quite a long time. We even packaged it to a separate package quite some time after newer versions were available....
Honza
--
Jan Kara
On Thu, Aug 30, Jan Kara wrote:
In the README file in kernel tarball, there is usually written a version of gcc the kernel is supposed to compile with. Or similar information should be in Documentation/Changes. As far as I remember gcc 2.95 was a norm for quite a long time. We even packaged it to a separate package quite some time after newer versions were available....
We do have some old compiler in available in the openSUSE buildservice (http://build.opensuse.org/project/show?project=devel%3Atools%3Agcc). Although the 2.95 is missing ... -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Hmm... Seems 2.95 is what it wants...
COMPILING the kernel:
- Make sure you have gcc 2.95.3 available.
It doesn't mention if newer ones will work, only that older ones will not.
I guess I'll try to build 2.95.3 or thereabouts and see what happens...
/Martin.
----- "Jan Blunck"
On Thu, Aug 30, Jan Kara wrote:
We do have some old compiler in available in the openSUSE buildservice (http://build.opensuse.org/project/show?project=devel%3Atools%3Agcc). Although the 2.95 is missing ...
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Bummer! It crapped out shortly after it started compiling.
As far as I know gcc compiles itself, so why would this happen?
CC -g -O2 -I./include -I. -I. -I./config -I./../include \
-aux-info SYSCALLS.c.X -S -o tmp-SYSCALLS.s SYSCALLS.c
rm -f SYSCALLS.c tmp-SYSCALLS.s
gcc -c -DIN_GCC -g -O2 -DHAVE_CONFIG_H -I. -I. -I./config -I./../include gcov.c
gcc -DIN_GCC -g -O2 -DHAVE_CONFIG_H gcov.o intl.o obstack.o ../libiberty/libiberty.a -o gcov
thisdir=`pwd` ; \
sed -e "s:startfile=chillrt0:startfile=${thisdir}/ch/runtime/chillrt0.o:" \
-e "s:libpath=chillrt:libpath=-L${thisdir}/ch/runtime/:" \
-e "s:whatgcc=gcc:whatgcc=\"${thisdir}/xgcc -B${thisdir}/\":" \
-e "s:gnuchill_version=unknown:gnuchill_version=1.5.2:" \
-e "s:gnuchill_script_flags=:gnuchill_script_flags=\"\":" ./ch/chill.in > chill ; \
chmod a+x chill ; \
if [ -f ../gcc-cross ]; then \
whatgcc=`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t` ; \
else \
whatgcc=`t='s,x,x,'; echo gcc | sed -e $t` ; \
fi; \
sed -e "s:startfile=chillrt0:startfile=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3/chillrt0.o:" \
-e "s:whatgcc=gcc:whatgcc=/usr/src/TESTS/gcc//bin/${whatgcc}:" \
-e "s:gnuchill_version=unknown:gnuchill_version=1.5.2:" \
-e "s:libpath=chillrt:libpath=:" \
-e "s:gnuchill_script_flags=:gnuchill_script_flags=\"\":" ./ch/chill.in > chill.install ; \
chmod a+x chill.install
echo " toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o function.o stmt.o except.o expr.o calls.o expmed.o explow.o optabs.o intl.o varasm.o rtl.o print-rtl.o rtlanal.o emit-rtl.o genrtl.o real.o dbxout.o sdbout.o dwarfout.o dwarf2out.o xcoffout.o bitmap.o alias.o gcse.o integrate.o jump.o cse.o loop.o unroll.o flow.o stupid.o combine.o varray.o regclass.o regmove.o local-alloc.o global.o reload.o reload1.o caller-save.o insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o insn-opinit.o insn-recog.o insn-extract.o insn-output.o insn-emit.o lcm.o profile.o insn-attrtab.o i386.o getpwd.o convert.o mbchar.o dyn-string.o splay-tree.o graph.o sbitmap.o resource.o hash.o" | sed -e 's, \([a-z0-9]\), ../\1,g' -e 's/\.o/.o/g' >stamp-objlist
cd ch; make "AR_FLAGS_FOR_TARGET=rc" "AR_FOR_TARGET=ar" "BISON=bison" "BISONFLAGS=" "CFLAGS=-g -O2" "CLIB=" "GCC_FOR_TARGET=/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/xgcc -B/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/ -B/usr/src/TESTS/gcc//i686-pc-linux-gnu/bin/ -I/usr/src/TESTS/gcc//i686-pc-linux-gnu/include" "LDFLAGS=" "LEX=" "LEXFLAGS=" "LN=ln" "LN_S=ln -s" "MAKEINFO=/usr/src/TESTS/gcc/src/gcc-2.95.3/texinfo/makeinfo/makeinfo " "MAKEINFOFLAGS=" "RANLIB_FOR_TARGET=ranlib" "RANLIB_TEST_FOR_TARGET=[ -f ranlib ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" "SHELL=/bin/sh" "STAGE_PREFIX=" "exeext=" "build_exeext=" "objext=.o" "exec_prefix=/usr/src/TESTS/gcc/" "prefix=/usr/src/TESTS/gcc/" "local_prefix=/usr/local" "gxx_include_dir=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../..`echo /usr/src/TESTS/gcc/ | sed -e 's|^/usr/src/TESTS/gcc/||' -e 's|/[^/]*|/..|g'`/include/g++-3" "tooldir=/usr/src/TESTS/gcc//i686-pc-linux-gnu" "gcc_tooldir=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../../i686-pc-linux-gnu" "bindir=/usr/src/TESTS/gcc//bin" "libsubdir=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3" "datadir=/usr/src/TESTS/gcc//share" "distdir=../tmp/\$(subdir)" "localedir=/usr/src/TESTS/gcc//share/locale" "CC=gcc" "CHILLFLAGS=-g -O2" "CHILL_FOR_TARGET=gcc" "CHILL_LIB=-lchill" "GNUCHILL_VERSION=1.5.2" ../cc1chill
make[2]: Går til katalog '/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/ch'
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include parse.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include actions.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include except.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include grant.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include lang.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include tree.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include lex.c
gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include decl.c
decl.c: In function ‘start_struct’:
decl.c:4451: error: argument ‘code’ doesn’t match prototype
ch-tree.h:736: error: prototype declaration
make[2]: *** [decl.o] Fejl 1
make[2]: Forlader katalog '/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/ch'
make[1]: *** [cc1chill] Fejl 2
make[1]: Forlader katalog '/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc'
make: *** [all-gcc] Fejl 2
This is what I did before starting the compile:
dualpc:/usr/src/TESTS/gcc/src/gcc-2.95.3 # ./configure --help
Usage: configure [OPTIONS] [HOST]
Options: [defaults in brackets]
--prefix=MYDIR install into MYDIR [/usr/local]
--exec-prefix=MYDIR install host-dependent files into MYDIR [/usr/local]
--help print this message [normal config]
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [determined via config.guess]
--norecursion configure this directory only [recurse]
--program-prefix=FOO prepend FOO to installed program names [""]
--program-suffix=FOO append FOO to installed program names [""]
--program-transform-name=P transform installed names by sed pattern P [""]
--site=SITE configure with site-specific makefile for SITE
--srcdir=DIR find the sources in DIR [. or ..]
--target=TARGET configure for TARGET [TARGET=HOST]
--tmpdir=TMPDIR create temporary files in TMPDIR [/tmp]
--nfp configure for software floating point [hard float]
--with-FOO, --with-FOO=BAR package FOO is available (parameter BAR)
--without-FOO package FOO is NOT available
--enable-FOO, --enable-FOO=BAR include feature FOO (parameter BAR)
--disable-FOO do not include feature FOO
Where HOST and TARGET are something like "sparc-sunos", "mips-sgi-irix5", etc.
dualpc:/usr/src/TESTS/gcc/src/gcc-2.95.3 # ./configure --prefix=/usr/src/TESTS/gcc/ --exec-prefix=/usr/src/TESTS/gcc/
Configuring for a i686-pc-linux-gnu host.
Created "Makefile" in /usr/src/TESTS/gcc/src/gcc-2.95.3 using "mt-frag"
Configuring libiberty...
creating cache ../config.cache
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for ar... ar
checking for ranlib... ranlib
checking for gcc... gcc
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for POSIXized ISC... no
checking for a BSD compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for sys/file.h... yes
checking for sys/param.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for unistd.h... yes
checking for strings.h... yes
checking for sys/time.h... yes
checking for sys/resource.h... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether the C compiler (gcc -g -O2 ) works... yes
checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no
checking for asprintf... yes
checking for atexit... yes
checking for basename... yes
checking for bcmp... yes
checking for bcopy... yes
checking for bzero... yes
checking for calloc... yes
checking for clock... yes
checking for getcwd... yes
checking for getpagesize... yes
checking for index... yes
checking for insque... yes
checking for memchr... yes
checking for memcmp... yes
checking for memcpy... yes
checking for memmove... yes
checking for memset... yes
checking for mkstemps... no
checking for putenv... yes
checking for random... yes
checking for rename... yes
checking for rindex... yes
checking for setenv... yes
checking for sigsetmask... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strncasecmp... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtod... yes
checking for strtol... yes
checking for strtoul... yes
checking for tmpnam... yes
checking for vasprintf... yes
checking for vfprintf... yes
checking for vprintf... yes
checking for vsprintf... yes
checking for waitpid... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for ANSI C header files... yes
checking for pid_t... yes
checking for vfork.h... no
checking for working vfork... yes
checking for sys_errlist... yes
checking for sys_nerr... yes
checking for sys_siglist... yes
checking for getrusage... yes
checking for on_exit... yes
checking for psignal... yes
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
checking for times... yes
checking for sbrk... yes
checking for gettimeofday... yes
updating cache ../config.cache
creating ./config.status
creating Makefile
creating testsuite/Makefile
creating config.h
Configuring texinfo...
loading cache ../config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... missing
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -g -O2 ) works... yes
checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking whether gcc needs -traditional... no
checking for a BSD compatible install... /usr/bin/install -c
checking for ranlib... (cached) ranlib
checking for texconfig... false
checking for POSIXized ISC... no
checking for minix/config.h... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking for Cygwin32 environment... no
checking for Mingw32 environment... no
checking for executable suffix... no
checking for sigblock... yes
checking for tputs in -lncurses... yes
checking for ncurses/termcap.h... no
checking for ANSI C header files... (cached) yes
checking for fcntl.h... yes
checking for pwd.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for termcap.h... yes
checking for termio.h... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for sys/fcntl.h... yes
checking for sys/file.h... (cached) yes
checking for sys/ptem.h... no
checking for sys/time.h... (cached) yes
checking for sys/ttold.h... no
checking for sys/wait.h... (cached) yes
checking for off_t... yes
checking return type of signal handlers... void
checking for working const... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working alloca.h... (cached) yes
checking for alloca... (cached) yes
checking for vprintf... (cached) yes
checking for setvbuf... yes
checking for getcwd... (cached) yes
checking for memset... (cached) yes
checking for bzero... (cached) yes
checking for strchr... (cached) yes
checking for strcasecmp... (cached) yes
checking for sigprocmask... yes
checking for sigsetmask... (cached) yes
checking for memcpy... (cached) yes
checking for memmove... (cached) yes
checking for strdup... (cached) yes
checking for strerror... (cached) yes
checking for inline... inline
checking for size_t... yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... yes
checking for argz.h... yes
checking for limits.h... yes
checking for locale.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for values.h... yes
checking for sys/param.h... (cached) yes
checking for getcwd... (cached) yes
checking for munmap... yes
checking for putenv... (cached) yes
checking for setenv... (cached) yes
checking for setlocale... yes
checking for strchr... (cached) yes
checking for strcasecmp... (cached) yes
checking for __argz_count... yes
checking for __argz_stringify... yes
checking for __argz_next... yes
checking for stpcpy... yes
checking for LC_MESSAGES... yes
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for libintl.h... yes
checking for gettext in libc... yes
checking for msgfmt... /usr/bin/msgfmt
checking for dcgettext... yes
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... :
checking for catalogs to be installed... de fr
updating cache ../config.cache
creating ./config.status
creating Makefile
creating doc/Makefile
creating info/Makefile
creating intl/Makefile
creating lib/Makefile
creating makeinfo/Makefile
creating po/Makefile.in
creating util/Makefile
creating config.h
Configuring gcc...
loading cache ../config.cache
checking LIBRARY_PATH variable... ok
checking GCC_EXEC_PREFIX variable... ok
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -g -O2 ) works... yes
checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking whether make sets ${MAKE}... (cached) yes
checking whether a default assembler was specified... no
checking whether a default linker was specified... no
checking for gawk... gawk
checking for flex... lex
checking for yywrap in -ll... no
checking whether ln works... yes
checking whether ln -s works... yes
checking for volatile... yes
checking for ranlib... (cached) ranlib
checking for bison... no
checking for byacc... no
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking whether string.h and strings.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... (cached) yes
checking for limits.h... (cached) yes
checking for stddef.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for time.h... yes
checking for fcntl.h... (cached) yes
checking for unistd.h... (cached) yes
checking for stab.h... yes
checking for sys/file.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for sys/resource.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for sys/times.h... yes
checking for sys/stat.h... yes
checking for direct.h... no
checking for thread.h... no
checking for pthread.h... yes
checking for gnatbind... no
checking whether cpp understands the stringify operator... yes
checking for inttypes.h... yes
checking for strtoul... (cached) yes
checking for bsearch... yes
checking for strerror... (cached) yes
checking for putenv... (cached) yes
checking for popen... yes
checking for bcopy... (cached) yes
checking for bzero... (cached) yes
checking for bcmp... (cached) yes
checking for index... (cached) yes
checking for rindex... (cached) yes
checking for strchr... (cached) yes
checking for strrchr... (cached) yes
checking for kill... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking for atoll... yes
checking for atoq... no
checking for sysconf... (cached) yes
checking for isascii... yes
checking for gettimeofday... (cached) yes
checking for strsignal... (cached) yes
checking for putc_unlocked... yes
checking for fputc_unlocked... yes
checking for fputs_unlocked... yes
checking for vprintf... (cached) yes
checking whether the printf functions support %p... yes
checking for pid_t... (cached) yes
checking for vfork.h... (cached) no
checking for working vfork... (cached) yes
checking whether malloc must be declared... no
checking whether realloc must be declared... no
checking whether calloc must be declared... no
checking whether free must be declared... no
checking whether bcopy must be declared... no
checking whether bzero must be declared... no
checking whether bcmp must be declared... no
checking whether index must be declared... no
checking whether rindex must be declared... no
checking whether getenv must be declared... no
checking whether atol must be declared... no
checking whether sbrk must be declared... no
checking whether abort must be declared... no
checking whether atof must be declared... no
checking whether strerror must be declared... no
checking whether getcwd must be declared... no
checking whether getwd must be declared... no
checking whether strsignal must be declared... yes
checking whether putc_unlocked must be declared... no
checking whether fputs_unlocked must be declared... yes
checking whether strstr must be declared... no
checking whether getrlimit must be declared... no
checking whether setrlimit must be declared... no
checking for sys_siglist declaration in signal.h or unistd.h... yes
checking if mkdir takes one argument... no
Using `./config/i386/i386.c' to output insns.
Using `./config/i386/i386.md' as machine description file.
Using `./config/i386/linux.h' as target machine macro file.
Using `./config/i386/xm-i386.h' as host machine macro file.
checking for strerror in -lcposix... no
checking for working const... (cached) yes
checking for inline... (cached) inline
checking for off_t... (cached) yes
checking for size_t... (cached) yes
checking for working alloca.h... (cached) yes
checking for alloca... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
checking for argz.h... (cached) yes
checking for limits.h... (cached) yes
checking for locale.h... (cached) yes
checking for nl_types.h... (cached) yes
checking for malloc.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getcwd... (cached) yes
checking for munmap... (cached) yes
checking for putenv... (cached) yes
checking for setenv... (cached) yes
checking for setlocale... (cached) yes
checking for strchr... (cached) yes
checking for strcasecmp... (cached) yes
checking for strdup... (cached) yes
checking for __argz_count... (cached) yes
checking for __argz_stringify... (cached) yes
checking for __argz_next... (cached) yes
checking for LC_MESSAGES... (cached) yes
checking whether NLS is requested... no
checking assembler alignment features... .p2align including maximum skip
checking assembler subsection support... working .subsection -1
checking assembler instructions... filds fists
Links are now set up to build a native compiler for i686-pc-linux-gnu
updating cache ../config.cache
creating ./config.status
creating Makefile
creating intl/Makefile
creating po/Makefile.in
creating fixinc/Makefile
creating cp/Makefile
creating f/Makefile
creating java/Makefile
creating auto-host.h
linking ./intl/libgettext.h to intl/libintl.h
Merged x-linux.
Merged t-linux and i386/t-crtstuff and t-install-cpp.
Created `ch/Makefile'.
Merged x-linux.
Merged t-linux and i386/t-crtstuff and t-install-cpp.
Created `objc/Makefile'.
creating libintl.h
Configuring etc...
loading cache ../config.cache
checking for a BSD compatible install... (cached) /usr/bin/install -c
creating ./config.status
creating Makefile
dualpc:/usr/src/TESTS/gcc/src/gcc-2.95.3 # make
----- "Martin Møller"
Hmm... Seems 2.95 is what it wants...
COMPILING the kernel:
- Make sure you have gcc 2.95.3 available.
It doesn't mention if newer ones will work, only that older ones will not.
I guess I'll try to build 2.95.3 or thereabouts and see what happens...
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Ah! I think I found it.... RTFM: make bootstrap
It's been about 5-6 years since I last tried that... ;)
/Martin.
----- "Martin Møller"
Bummer! It crapped out shortly after it started compiling. As far as I know gcc compiles itself, so why would this happen?
CC -g -O2 -I./include -I. -I. -I./config -I./../include \ -aux-info SYSCALLS.c.X -S -o tmp-SYSCALLS.s SYSCALLS.c rm -f SYSCALLS.c tmp-SYSCALLS.s gcc -c -DIN_GCC -g -O2 -DHAVE_CONFIG_H -I. -I. -I./config -I./../include gcov.c gcc -DIN_GCC -g -O2 -DHAVE_CONFIG_H gcov.o intl.o obstack.o ../libiberty/libiberty.a -o gcov thisdir=`pwd` ; \ sed -e "s:startfile=chillrt0:startfile=${thisdir}/ch/runtime/chillrt0.o:" \ -e "s:libpath=chillrt:libpath=-L${thisdir}/ch/runtime/:" \ -e "s:whatgcc=gcc:whatgcc=\"${thisdir}/xgcc -B${thisdir}/\":" \ -e "s:gnuchill_version=unknown:gnuchill_version=1.5.2:" \ -e "s:gnuchill_script_flags=:gnuchill_script_flags=\"\":" ./ch/chill.in > chill ; \ chmod a+x chill ; \ if [ -f ../gcc-cross ]; then \ whatgcc=`t='s,^,i686-pc-linux-gnu-,'; echo gcc | sed -e $t` ; \ else \ whatgcc=`t='s,x,x,'; echo gcc | sed -e $t` ; \ fi; \ sed -e "s:startfile=chillrt0:startfile=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3/chillrt0.o:" \ -e "s:whatgcc=gcc:whatgcc=/usr/src/TESTS/gcc//bin/${whatgcc}:" \ -e "s:gnuchill_version=unknown:gnuchill_version=1.5.2:" \ -e "s:libpath=chillrt:libpath=:" \ -e "s:gnuchill_script_flags=:gnuchill_script_flags=\"\":" ./ch/chill.in > chill.install ; \ chmod a+x chill.install echo " toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o function.o stmt.o except.o expr.o calls.o expmed.o explow.o optabs.o intl.o varasm.o rtl.o print-rtl.o rtlanal.o emit-rtl.o genrtl.o real.o dbxout.o sdbout.o dwarfout.o dwarf2out.o xcoffout.o bitmap.o alias.o gcse.o integrate.o jump.o cse.o loop.o unroll.o flow.o stupid.o combine.o varray.o regclass.o regmove.o local-alloc.o global.o reload.o reload1.o caller-save.o insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o insn-opinit.o insn-recog.o insn-extract.o insn-output.o insn-emit.o lcm.o profile.o insn-attrtab.o i386.o getpwd.o convert.o mbchar.o dyn-string.o splay-tree.o graph.o sbitmap.o resource.o hash.o" | sed -e 's, \([a-z0-9]\), ../\1,g' -e 's/\.o/.o/g' >stamp-objlist cd ch; make "AR_FLAGS_FOR_TARGET=rc" "AR_FOR_TARGET=ar" "BISON=bison" "BISONFLAGS=" "CFLAGS=-g -O2" "CLIB=" "GCC_FOR_TARGET=/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/xgcc -B/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/ -B/usr/src/TESTS/gcc//i686-pc-linux-gnu/bin/ -I/usr/src/TESTS/gcc//i686-pc-linux-gnu/include" "LDFLAGS=" "LEX=" "LEXFLAGS=" "LN=ln" "LN_S=ln -s" "MAKEINFO=/usr/src/TESTS/gcc/src/gcc-2.95.3/texinfo/makeinfo/makeinfo " "MAKEINFOFLAGS=" "RANLIB_FOR_TARGET=ranlib" "RANLIB_TEST_FOR_TARGET=[ -f ranlib ] || ( [ "i686-pc-linux-gnu" = "i686-pc-linux-gnu" ] && [ -f /usr/bin/ranlib -o -f /bin/ranlib ] )" "SHELL=/bin/sh" "STAGE_PREFIX=" "exeext=" "build_exeext=" "objext=.o" "exec_prefix=/usr/src/TESTS/gcc/" "prefix=/usr/src/TESTS/gcc/" "local_prefix=/usr/local" "gxx_include_dir=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../..`echo /usr/src/TESTS/gcc/ | sed -e 's|^/usr/src/TESTS/gcc/||' -e 's|/[^/]*|/..|g'`/include/g++-3" "tooldir=/usr/src/TESTS/gcc//i686-pc-linux-gnu" "gcc_tooldir=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../../i686-pc-linux-gnu" "bindir=/usr/src/TESTS/gcc//bin" "libsubdir=/usr/src/TESTS/gcc//lib/gcc-lib/i686-pc-linux-gnu/2.95.3" "datadir=/usr/src/TESTS/gcc//share" "distdir=../tmp/\$(subdir)" "localedir=/usr/src/TESTS/gcc//share/locale" "CC=gcc" "CHILLFLAGS=-g -O2" "CHILL_FOR_TARGET=gcc" "CHILL_LIB=-lchill" "GNUCHILL_VERSION=1.5.2" ../cc1chill make[2]: Går til katalog '/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/ch' gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include parse.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include actions.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include except.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include grant.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include lang.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include tree.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include lex.c gcc -c -DIN_GCC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../../include decl.c decl.c: In function ‘start_struct’: decl.c:4451: error: argument ‘code’ doesn’t match prototype ch-tree.h:736: error: prototype declaration make[2]: *** [decl.o] Fejl 1 make[2]: Forlader katalog '/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc/ch' make[1]: *** [cc1chill] Fejl 2 make[1]: Forlader katalog '/usr/src/TESTS/gcc/src/gcc-2.95.3/gcc' make: *** [all-gcc] Fejl 2
This is what I did before starting the compile:
dualpc:/usr/src/TESTS/gcc/src/gcc-2.95.3 # ./configure --help Usage: configure [OPTIONS] [HOST]
Options: [defaults in brackets] --prefix=MYDIR install into MYDIR [/usr/local] --exec-prefix=MYDIR install host-dependent files into MYDIR [/usr/local] --help print this message [normal config] --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [determined via config.guess] --norecursion configure this directory only [recurse] --program-prefix=FOO prepend FOO to installed program names [""] --program-suffix=FOO append FOO to installed program names [""] --program-transform-name=P transform installed names by sed pattern P [""] --site=SITE configure with site-specific makefile for SITE --srcdir=DIR find the sources in DIR [. or ..] --target=TARGET configure for TARGET [TARGET=HOST] --tmpdir=TMPDIR create temporary files in TMPDIR [/tmp] --nfp configure for software floating point [hard float] --with-FOO, --with-FOO=BAR package FOO is available (parameter BAR) --without-FOO package FOO is NOT available --enable-FOO, --enable-FOO=BAR include feature FOO (parameter BAR) --disable-FOO do not include feature FOO
Where HOST and TARGET are something like "sparc-sunos", "mips-sgi-irix5", etc.
dualpc:/usr/src/TESTS/gcc/src/gcc-2.95.3 # ./configure --prefix=/usr/src/TESTS/gcc/ --exec-prefix=/usr/src/TESTS/gcc/ Configuring for a i686-pc-linux-gnu host. Created "Makefile" in /usr/src/TESTS/gcc/src/gcc-2.95.3 using "mt-frag" Configuring libiberty... creating cache ../config.cache checking host system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for ar... ar checking for ranlib... ranlib checking for gcc... gcc checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for POSIXized ISC... no checking for a BSD compatible install... /usr/bin/install -c checking how to run the C preprocessor... gcc -E checking for sys/file.h... yes checking for sys/param.h... yes checking for stdlib.h... yes checking for string.h... yes checking for unistd.h... yes checking for strings.h... yes checking for sys/time.h... yes checking for sys/resource.h... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking whether the C compiler (gcc -g -O2 ) works... yes checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no checking for asprintf... yes checking for atexit... yes checking for basename... yes checking for bcmp... yes checking for bcopy... yes checking for bzero... yes checking for calloc... yes checking for clock... yes checking for getcwd... yes checking for getpagesize... yes checking for index... yes checking for insque... yes checking for memchr... yes checking for memcmp... yes checking for memcpy... yes checking for memmove... yes checking for memset... yes checking for mkstemps... no checking for putenv... yes checking for random... yes checking for rename... yes checking for rindex... yes checking for setenv... yes checking for sigsetmask... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strncasecmp... yes checking for strrchr... yes checking for strstr... yes checking for strtod... yes checking for strtol... yes checking for strtoul... yes checking for tmpnam... yes checking for vasprintf... yes checking for vfprintf... yes checking for vprintf... yes checking for vsprintf... yes checking for waitpid... yes checking for working alloca.h... yes checking for alloca... yes checking for ANSI C header files... yes checking for pid_t... yes checking for vfork.h... no checking for working vfork... yes checking for sys_errlist... yes checking for sys_nerr... yes checking for sys_siglist... yes checking for getrusage... yes checking for on_exit... yes checking for psignal... yes checking for strerror... yes checking for strsignal... yes checking for sysconf... yes checking for times... yes checking for sbrk... yes checking for gettimeofday... yes updating cache ../config.cache creating ./config.status creating Makefile creating testsuite/Makefile creating config.h Configuring texinfo... loading cache ../config.cache checking for a BSD compatible install... (cached) /usr/bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... missing checking for working autoconf... missing checking for working automake... missing checking for working autoheader... missing checking for working makeinfo... missing checking for gcc... (cached) gcc checking whether the C compiler (gcc -g -O2 ) works... yes checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking how to run the C preprocessor... (cached) gcc -E checking whether gcc needs -traditional... no checking for a BSD compatible install... /usr/bin/install -c checking for ranlib... (cached) ranlib checking for texconfig... false checking for POSIXized ISC... no checking for minix/config.h... no checking whether to enable maintainer-specific portions of Makefiles... no checking for Cygwin32 environment... no checking for Mingw32 environment... no checking for executable suffix... no checking for sigblock... yes checking for tputs in -lncurses... yes checking for ncurses/termcap.h... no checking for ANSI C header files... (cached) yes checking for fcntl.h... yes checking for pwd.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking for termcap.h... yes checking for termio.h... yes checking for termios.h... yes checking for unistd.h... (cached) yes checking for sys/fcntl.h... yes checking for sys/file.h... (cached) yes checking for sys/ptem.h... no checking for sys/time.h... (cached) yes checking for sys/ttold.h... no checking for sys/wait.h... (cached) yes checking for off_t... yes checking return type of signal handlers... void checking for working const... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for working alloca.h... (cached) yes checking for alloca... (cached) yes checking for vprintf... (cached) yes checking for setvbuf... yes checking for getcwd... (cached) yes checking for memset... (cached) yes checking for bzero... (cached) yes checking for strchr... (cached) yes checking for strcasecmp... (cached) yes checking for sigprocmask... yes checking for sigsetmask... (cached) yes checking for memcpy... (cached) yes checking for memmove... (cached) yes checking for strdup... (cached) yes checking for strerror... (cached) yes checking for inline... inline checking for size_t... yes checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... yes checking for argz.h... yes checking for limits.h... yes checking for locale.h... yes checking for nl_types.h... yes checking for malloc.h... yes checking for string.h... (cached) yes checking for unistd.h... (cached) yes checking for values.h... yes checking for sys/param.h... (cached) yes checking for getcwd... (cached) yes checking for munmap... yes checking for putenv... (cached) yes checking for setenv... (cached) yes checking for setlocale... yes checking for strchr... (cached) yes checking for strcasecmp... (cached) yes checking for __argz_count... yes checking for __argz_stringify... yes checking for __argz_next... yes checking for stpcpy... yes checking for LC_MESSAGES... yes checking whether NLS is requested... yes checking whether included gettext is requested... no checking for libintl.h... yes checking for gettext in libc... yes checking for msgfmt... /usr/bin/msgfmt checking for dcgettext... yes checking for gmsgfmt... /usr/bin/msgfmt checking for xgettext... : checking for catalogs to be installed... de fr updating cache ../config.cache creating ./config.status creating Makefile creating doc/Makefile creating info/Makefile creating intl/Makefile creating lib/Makefile creating makeinfo/Makefile creating po/Makefile.in creating util/Makefile creating config.h Configuring gcc... loading cache ../config.cache checking LIBRARY_PATH variable... ok checking GCC_EXEC_PREFIX variable... ok checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for gcc... (cached) gcc checking whether the C compiler (gcc -g -O2 ) works... yes checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking whether make sets ${MAKE}... (cached) yes checking whether a default assembler was specified... no checking whether a default linker was specified... no checking for gawk... gawk checking for flex... lex checking for yywrap in -ll... no checking whether ln works... yes checking whether ln -s works... yes checking for volatile... yes checking for ranlib... (cached) ranlib checking for bison... no checking for byacc... no checking for a BSD compatible install... (cached) /usr/bin/install -c checking how to run the C preprocessor... (cached) gcc -E checking for ANSI C header files... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking whether string.h and strings.h may both be included... yes checking for sys/wait.h that is POSIX.1 compatible... (cached) yes checking for limits.h... (cached) yes checking for stddef.h... yes checking for string.h... (cached) yes checking for strings.h... (cached) yes checking for stdlib.h... (cached) yes checking for time.h... yes checking for fcntl.h... (cached) yes checking for unistd.h... (cached) yes checking for stab.h... yes checking for sys/file.h... (cached) yes checking for sys/time.h... (cached) yes checking for sys/resource.h... (cached) yes checking for sys/param.h... (cached) yes checking for sys/times.h... yes checking for sys/stat.h... yes checking for direct.h... no checking for thread.h... no checking for pthread.h... yes checking for gnatbind... no checking whether cpp understands the stringify operator... yes checking for inttypes.h... yes checking for strtoul... (cached) yes checking for bsearch... yes checking for strerror... (cached) yes checking for putenv... (cached) yes checking for popen... yes checking for bcopy... (cached) yes checking for bzero... (cached) yes checking for bcmp... (cached) yes checking for index... (cached) yes checking for rindex... (cached) yes checking for strchr... (cached) yes checking for strrchr... (cached) yes checking for kill... yes checking for getrlimit... yes checking for setrlimit... yes checking for atoll... yes checking for atoq... no checking for sysconf... (cached) yes checking for isascii... yes checking for gettimeofday... (cached) yes checking for strsignal... (cached) yes checking for putc_unlocked... yes checking for fputc_unlocked... yes checking for fputs_unlocked... yes checking for vprintf... (cached) yes checking whether the printf functions support %p... yes checking for pid_t... (cached) yes checking for vfork.h... (cached) no checking for working vfork... (cached) yes checking whether malloc must be declared... no checking whether realloc must be declared... no checking whether calloc must be declared... no checking whether free must be declared... no checking whether bcopy must be declared... no checking whether bzero must be declared... no checking whether bcmp must be declared... no checking whether index must be declared... no checking whether rindex must be declared... no checking whether getenv must be declared... no checking whether atol must be declared... no checking whether sbrk must be declared... no checking whether abort must be declared... no checking whether atof must be declared... no checking whether strerror must be declared... no checking whether getcwd must be declared... no checking whether getwd must be declared... no checking whether strsignal must be declared... yes checking whether putc_unlocked must be declared... no checking whether fputs_unlocked must be declared... yes checking whether strstr must be declared... no checking whether getrlimit must be declared... no checking whether setrlimit must be declared... no checking for sys_siglist declaration in signal.h or unistd.h... yes checking if mkdir takes one argument... no Using `./config/i386/i386.c' to output insns. Using `./config/i386/i386.md' as machine description file. Using `./config/i386/linux.h' as target machine macro file. Using `./config/i386/xm-i386.h' as host machine macro file. checking for strerror in -lcposix... no checking for working const... (cached) yes checking for inline... (cached) inline checking for off_t... (cached) yes checking for size_t... (cached) yes checking for working alloca.h... (cached) yes checking for alloca... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... (cached) yes checking for argz.h... (cached) yes checking for limits.h... (cached) yes checking for locale.h... (cached) yes checking for nl_types.h... (cached) yes checking for malloc.h... (cached) yes checking for string.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/param.h... (cached) yes checking for getcwd... (cached) yes checking for munmap... (cached) yes checking for putenv... (cached) yes checking for setenv... (cached) yes checking for setlocale... (cached) yes checking for strchr... (cached) yes checking for strcasecmp... (cached) yes checking for strdup... (cached) yes checking for __argz_count... (cached) yes checking for __argz_stringify... (cached) yes checking for __argz_next... (cached) yes checking for LC_MESSAGES... (cached) yes checking whether NLS is requested... no checking assembler alignment features... .p2align including maximum skip checking assembler subsection support... working .subsection -1 checking assembler instructions... filds fists Links are now set up to build a native compiler for i686-pc-linux-gnu updating cache ../config.cache creating ./config.status creating Makefile creating intl/Makefile creating po/Makefile.in creating fixinc/Makefile creating cp/Makefile creating f/Makefile creating java/Makefile creating auto-host.h linking ./intl/libgettext.h to intl/libintl.h Merged x-linux. Merged t-linux and i386/t-crtstuff and t-install-cpp. Created `ch/Makefile'. Merged x-linux. Merged t-linux and i386/t-crtstuff and t-install-cpp. Created `objc/Makefile'. creating libintl.h Configuring etc... loading cache ../config.cache checking for a BSD compatible install... (cached) /usr/bin/install -c creating ./config.status creating Makefile dualpc:/usr/src/TESTS/gcc/src/gcc-2.95.3 # make
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Okay... gcc compiled fine and installed to my prefix...
I made sure it would find this version of gcc first:
export PATH=/usr/src/TESTS/gcc/bin/:$PATH
export LD_LIBRARY_PATH=/usr/src/TESTS/gcc/lib:$LD_LIBRARY_PATH
I copied my .config file and did a 'make mrproper' on the kernel directory.
Did make menuconfig again, reenabled SMP.
make dep
make bzImage
It seemed to go very well, but alas:
...
ld -m elf_i386 -r -o built-in.o security.o dummy.o capability.o
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/security'
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/init'
gcc -Wp,-MD,./.main.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=main -c -o main.o main.c
Generating /usr/src/TESTS/linux-2.5.37/include/linux/compile.h (updated)
gcc -Wp,-MD,./.version.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -c -o version.o version.c
gcc -Wp,-MD,./.do_mounts.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=do_mounts -c -o do_mounts.o do_mounts.c
ld -m elf_i386 -r -o built-in.o main.o version.o do_mounts.o
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/init'
make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/arch/i386/kernel'
gcc -Wp,-MD,./.process.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=process -c -o process.o process.c
{standard input}: Assembler messages:
{standard input}:518: Error: suffix or operands invalid for `mov'
{standard input}:519: Error: suffix or operands invalid for `mov'
{standard input}:764: Error: suffix or operands invalid for `mov'
{standard input}:765: Error: suffix or operands invalid for `mov'
{standard input}:842: Error: suffix or operands invalid for `mov'
{standard input}:843: Error: suffix or operands invalid for `mov'
{standard input}:852: Error: suffix or operands invalid for `mov'
{standard input}:864: Error: suffix or operands invalid for `mov'
make[1]: *** [process.o] Fejl 1
make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/arch/i386/kernel'
make: *** [arch/i386/kernel] Fejl 2
dualpc:/usr/src/TESTS/linux-2.5.37 # whereis ld
ld: /usr/bin/ld /usr/bin/X11/ld /usr/share/man/man1/ld.1.gz
dualpc:/usr/src/TESTS/linux-2.5.37 # ls /usr/src/TESTS/gcc/bin/
c++ chill g++ gcc gcjh i686-pc-linux-gnu-gcc jv-scan unprotoize
c++filt cpp g77 gcj gcov jcf-dump protoize
dualpc:/usr/src/TESTS/linux-2.5.37 # whereis gcc
gcc: /usr/src/TESTS/gcc /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/share/man/man1/gcc.1.gz
It this one of those transitory problems that comes with a development kernel?
Is there anything I can do in this case or is it 'pick another version' time?
/Martin.
----- "Martin Møller"
Ah! I think I found it.... RTFM: make bootstrap
It's been about 5-6 years since I last tried that... ;)
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Another issue I'm having, in this case with SUSE Linux 10.3 is that blacklisting ehci_hcd doesn't seem to work?!
It worked fine in 10.2 and I don't see any explicit loading of it in /etc, but something must decide to load it if an EHCI bus is found... If I disable USB 2.0 entirely the problem evaporates, but I am trying to get a usable USB 2.0 on this machine ;)
I have to use a PS/2 keyboard or login from remote to unload the ehci_hcd module, only then do I get my USB mouse, keyboard and disk back...
Any suggestions?
/Martin.
----- "Martin Møller"
Okay... gcc compiled fine and installed to my prefix... I made sure it would find this version of gcc first: export PATH=/usr/src/TESTS/gcc/bin/:$PATH export LD_LIBRARY_PATH=/usr/src/TESTS/gcc/lib:$LD_LIBRARY_PATH
I copied my .config file and did a 'make mrproper' on the kernel directory. Did make menuconfig again, reenabled SMP.
make dep make bzImage
It seemed to go very well, but alas: ... ld -m elf_i386 -r -o built-in.o security.o dummy.o capability.o make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/security' make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/init' gcc -Wp,-MD,./.main.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=main -c -o main.o main.c Generating /usr/src/TESTS/linux-2.5.37/include/linux/compile.h (updated) gcc -Wp,-MD,./.version.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -c -o version.o version.c gcc -Wp,-MD,./.do_mounts.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=do_mounts -c -o do_mounts.o do_mounts.c ld -m elf_i386 -r -o built-in.o main.o version.o do_mounts.o make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/init' make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/arch/i386/kernel' gcc -Wp,-MD,./.process.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=process -c -o process.o process.c {standard input}: Assembler messages: {standard input}:518: Error: suffix or operands invalid for `mov' {standard input}:519: Error: suffix or operands invalid for `mov' {standard input}:764: Error: suffix or operands invalid for `mov' {standard input}:765: Error: suffix or operands invalid for `mov' {standard input}:842: Error: suffix or operands invalid for `mov' {standard input}:843: Error: suffix or operands invalid for `mov' {standard input}:852: Error: suffix or operands invalid for `mov' {standard input}:864: Error: suffix or operands invalid for `mov' make[1]: *** [process.o] Fejl 1 make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/arch/i386/kernel' make: *** [arch/i386/kernel] Fejl 2 dualpc:/usr/src/TESTS/linux-2.5.37 # whereis ld ld: /usr/bin/ld /usr/bin/X11/ld /usr/share/man/man1/ld.1.gz dualpc:/usr/src/TESTS/linux-2.5.37 # ls /usr/src/TESTS/gcc/bin/ c++ chill g++ gcc gcjh i686-pc-linux-gnu-gcc jv-scan unprotoize c++filt cpp g77 gcj gcov jcf-dump protoize dualpc:/usr/src/TESTS/linux-2.5.37 # whereis gcc gcc: /usr/src/TESTS/gcc /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/share/man/man1/gcc.1.gz
It this one of those transitory problems that comes with a development kernel?
Is there anything I can do in this case or is it 'pick another version' time?
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
I have compiled binutils 2.13 as well as I suspect an older assember and maybe loader to be needed, but then it doesn't like libc anymore...
Tried compiling glibc 2.2.5 but keeps getting errors.
This is getting a bit frustrating... Maybe that build-service gcc 3.3 will work with the 2.5 kernel anyway?...
/Martin.
----- "Martin Møller"
Okay... gcc compiled fine and installed to my prefix... I made sure it would find this version of gcc first: export PATH=/usr/src/TESTS/gcc/bin/:$PATH export LD_LIBRARY_PATH=/usr/src/TESTS/gcc/lib:$LD_LIBRARY_PATH
I copied my .config file and did a 'make mrproper' on the kernel directory. Did make menuconfig again, reenabled SMP.
make dep make bzImage
It seemed to go very well, but alas: ... ld -m elf_i386 -r -o built-in.o security.o dummy.o capability.o make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/security' make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/init' gcc -Wp,-MD,./.main.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=main -c -o main.o main.c Generating /usr/src/TESTS/linux-2.5.37/include/linux/compile.h (updated) gcc -Wp,-MD,./.version.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -c -o version.o version.c gcc -Wp,-MD,./.do_mounts.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=do_mounts -c -o do_mounts.o do_mounts.c ld -m elf_i386 -r -o built-in.o main.o version.o do_mounts.o make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/init' make[1]: Går til katalog '/usr/src/TESTS/linux-2.5.37/arch/i386/kernel' gcc -Wp,-MD,./.process.o.d -D__KERNEL__ -I/usr/src/TESTS/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TESTS/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=process -c -o process.o process.c {standard input}: Assembler messages: {standard input}:518: Error: suffix or operands invalid for `mov' {standard input}:519: Error: suffix or operands invalid for `mov' {standard input}:764: Error: suffix or operands invalid for `mov' {standard input}:765: Error: suffix or operands invalid for `mov' {standard input}:842: Error: suffix or operands invalid for `mov' {standard input}:843: Error: suffix or operands invalid for `mov' {standard input}:852: Error: suffix or operands invalid for `mov' {standard input}:864: Error: suffix or operands invalid for `mov' make[1]: *** [process.o] Fejl 1 make[1]: Forlader katalog '/usr/src/TESTS/linux-2.5.37/arch/i386/kernel' make: *** [arch/i386/kernel] Fejl 2 dualpc:/usr/src/TESTS/linux-2.5.37 # whereis ld ld: /usr/bin/ld /usr/bin/X11/ld /usr/share/man/man1/ld.1.gz dualpc:/usr/src/TESTS/linux-2.5.37 # ls /usr/src/TESTS/gcc/bin/ c++ chill g++ gcc gcjh i686-pc-linux-gnu-gcc jv-scan unprotoize c++filt cpp g77 gcj gcov jcf-dump protoize dualpc:/usr/src/TESTS/linux-2.5.37 # whereis gcc gcc: /usr/src/TESTS/gcc /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/share/man/man1/gcc.1.gz
It this one of those transitory problems that comes with a development kernel?
Is there anything I can do in this case or is it 'pick another version' time?
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Friday, 31. August 2007, Martin Møller wrote:
I have compiled binutils 2.13 as well as I suspect an older assember and maybe loader to be needed, but then it doesn't like libc anymore... Tried compiling glibc 2.2.5 but keeps getting errors.
I would definitely not try to bootstrap such an old system. I guess if you start a 9.3 buildchroot on your system (using osc build), then this should be enough to build the kernel. If that doesn't help, try building in a sles9 chroot. The advantage is that you have all the tools in the right version already available. Greetings, Dirk -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Ah, okay.
I will try to do the SLES9 build thing then.
Thanks.
/Martin.
----- "Dirk Mueller"
On Friday, 31. August 2007, Martin Møller wrote:
I would definitely not try to bootstrap such an old system. I guess if you start a 9.3 buildchroot on your system (using osc build), then this should be enough to build the kernel. If that doesn't help, try building in a sles9 chroot.
The advantage is that you have all the tools in the right version already available.
Greetings, Dirk
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
The gcc 3.3.3 from SLES 9 will not compile the 2.5.37/38 kernel...
I cannot seem to find a gcc 2.95.x for SLES 9 or SUSE 9.3... I think I have a 9.0 at home, maybe that'll have it?
Tricky stuff...
/Martin.
----- "Martin Møller"
Ah, okay.
I will try to do the SLES9 build thing then.
Thanks.
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Friday, 31. August 2007, Martin Møller wrote:
I cannot seem to find a gcc 2.95.x for SLES 9 or SUSE 9.3... I think I have a 9.0 at home, maybe that'll have it?
can`t you post the error message? I think its easier to apply the fix for that particular error rather than trying to boostrap such an old toolchain. IMHO. -- RPMLINT information under http://en.opensuse.org/Packaging/RpmLint -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Here you go:
web:/usr/src/TEST/linux-2.5.37 # make dep
make[1]: Entering directory `/usr/src/TEST/linux-2.5.37'
make[1]: Nothing to be done for `include/linux/modversions.h'.
make[1]: Leaving directory `/usr/src/TEST/linux-2.5.37'
web:/usr/src/TEST/linux-2.5.37 # make bzImage
Generating include/linux/version.h (updated)
Making asm->asm-i386 symlink
make[1]: Entering directory `/usr/src/TEST/linux-2.5.37/scripts'
gcc -Wp,-MD,./.split-include.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o split-include split-include.c
gcc -Wp,-MD,./.docproc.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o docproc docproc.c
gcc -Wp,-MD,./.conmakehash.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o conmakehash conmakehash.c
make[1]: Leaving directory `/usr/src/TEST/linux-2.5.37/scripts'
SPLIT include/linux/autoconf.h -> include/config/*
Starting the build. KBUILD_BUILTIN=1 KBUILD_MODULES=
make[1]: Entering directory `/usr/src/TEST/linux-2.5.37/kernel'
gcc -Wp,-MD,./.sched.o.d -D__KERNEL__ -I/usr/src/TEST/linux-2.5.37/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -I/usr/src/TEST/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -fno-omit-frame-pointer -DKBUILD_BASENAME=sched -c -o sched.o sched.c
In file included from /usr/src/TEST/linux-2.5.37/include/linux/sched.h:24,
from /usr/src/TEST/linux-2.5.37/include/linux/mm.h:4,
from sched.c:19:
/usr/src/TEST/linux-2.5.37/include/linux/smp.h:31: error: conflicting types for `smp_send_reschedule'
/usr/src/TEST/linux-2.5.37/include/asm/smp.h:64: error: previous declaration of `smp_send_reschedule'
sched.c:438: error: conflicting types for `wake_up_process'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:504: error: previous declaration of `wake_up_process'
sched.c:449: error: conflicting types for `wake_up_forked_process'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:505: error: previous declaration of `wake_up_forked_process'
sched.c:479: error: conflicting types for `sched_exit'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:506: error: previous declaration of `sched_exit'
sched.c:1092: error: conflicting types for `__wake_up'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:495: error: previous declaration of `__wake_up'
sched.c:1107: error: conflicting types for `__wake_up_locked'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:496: error: previous declaration of `__wake_up_locked'
sched.c:1125: error: conflicting types for `__wake_up_sync'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:497: error: previous declaration of `__wake_up_sync'
sched.c:1142: error: conflicting types for `complete'
/usr/src/TEST/linux-2.5.37/include/linux/completion.h:31: error: previous declaration of `complete'
sched.c:1152: error: conflicting types for `wait_for_completion'
/usr/src/TEST/linux-2.5.37/include/linux/completion.h:30: error: previous declaration of `wait_for_completion'
sched.c:1187: error: conflicting types for `interruptible_sleep_on'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:501: error: previous declaration of `interruptible_sleep_on'
sched.c:1198: error: conflicting types for `interruptible_sleep_on_timeout'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:502: error: previous declaration of `interruptible_sleep_on_timeout'
sched.c:1211: error: conflicting types for `sleep_on'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:498: error: previous declaration of `sleep_on'
sched.c:1222: error: conflicting types for `sleep_on_timeout'
/usr/src/TEST/linux-2.5.37/include/linux/sched.h:499: error: previous declaration of `sleep_on_timeout'
make[1]: *** [sched.o] Error 1
make[1]: Leaving directory `/usr/src/TEST/linux-2.5.37/kernel'
make: *** [kernel] Error 2
----- "Dirk Mueller"
On Friday, 31. August 2007, Martin Møller wrote:
can`t you post the error message? I think its easier to apply the fix for that particular error rather than trying to boostrap such an old toolchain. IMHO.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
I think I may have found a good working environment. Linux Magazine DVD for issue 42 has Mandrake Linux 10.0 on it which uses a 2.6.3 kernel *and* come with a 2.96.3 compiler as an option. Installing it in qemu now... /Martin. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Seems to go well so far:
I have shut down qemu and loopback mounted the root partition:
mount /mnt/VM/Mandrake10/mandrake.hdd /media/bind -o loop,offset=32256
Bound the mounted CD inside:
dualpc:/media/bind/usr/src/TEST # mkdir -p /media/bind/media/dvd
dualpc:/media/bind/usr/src/TEST # mount -o bind /media/tmp/ /media/bind/media/dvd/
Installed the required packages:
[root@dualpc RPMS]# rpm -Uvh gcc2.96-* libstdc++2.10*
Forbereder... ########################################### [100%]
1:libstdc++2.10 ########################################### [ 20%]
2:gcc2.96-cpp ########################################### [ 40%]
3:gcc2.96 ########################################### [ 60%]
4:libstdc++2.10-devel ########################################### [ 80%]
5:gcc2.96-c++ ########################################### [100%]
Symlinked them in a local dir:
[root@dualpc bin]# ln -s /usr/bin/gcc-2.96 gcc
[root@dualpc bin]# ln -s /usr/bin/g++-2.96 g++
[root@dualpc bin]# ln -s /usr/bin/cpp-2.96 cpp
[root@dualpc bin]# . /etc/profile
bash: TMOUT: readonly variable
[root@dualpc bin]# export PATH=/usr/src/TEST/bin/:$PATH
[root@dualpc linux-2.5.37]# gcc --version
2.96
<Problems with finding stdarg.h... Tried to solve it with:>
[root@dualpc include]# cd /usr/include/ ; ln -s /usr/lib/gcc-lib/i586-mandrake-linux-gnu/2.96/include/*h .
I think I may have found a good working environment. Linux Magazine DVD for issue 42 has Mandrake Linux 10.0 on it which uses a 2.6.3 kernel *and* come with a 2.96.3 compiler as an option. Installing it in qemu now...
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Okay... Here's the latest from 2.5-land:
I have copied the rescue image from SUSE Linux 9.1 to use as my initrd with the 2.5 kernels. I have called it 'rescue9.1' and invoke it like this:
### Testkernel ###
title Linux 2.5.37
root (hd1,2)
kernel /boot/linux-2.5.37 root=/dev/ram0 ramdisk_size=65536 rescue=1 showopts vga=ask
initrd /boot/rescue9.1
title Linux 2.5.55
root (hd1,2)
kernel /boot/linux-2.5.55 root=/dev/ram0 ramdisk_size=65536 rescue=1 showopts vga=ask
initrd /boot/rescue9.1
title Linux 2.5.75
root (hd1,2)
kernel /boot/linux-2.5.75 root=/dev/ram0 ramdisk_size=65536 rescue=1 showopts vga=ask
initrd /boot/rescue9.1
Status:
2.5.37 - Gets as far as trying to do something with the ramdisk. Apparently doesn't like that it is not reiserfs and the kernel panics.
Seems the ramdisk is gzip compressed. Maybe I should try with a gunzipped version.
2.5.55 - Boots up all the way, but does make some usb comments, including 'cable is bad'.
I have tried to write them down as accurately as I could:
First boot, without ramdisk (I had forgotten to specify it in menu.lst):
hub 1-0:0: debounce: port 1: delay 100 ms stable 4 status 0x501
hub 1-0:0: debounce: port 3: delay 100 ms stable 4 status 0x501
Second time, with ramdisk (maybe the above was there as well, but I didn't notice it):
hub 1-3:0 debounce: port 2: delay 100 ms stable 4 status 0x101 (not quite sure about this one)
cannot enable port2: Maybe the USB cable is bad?
<many of those>
hub 1-3:0: New USB device on port 2, assigned address 14
hub 1-3.2: USB device not accepting new address (error=-71)
The machine seems pretty responsive but load is approximately 1.0 as all times. Still way better than the latest 2.6 kernels though, where load is normally around 3.0 for whatever reason -- I had no trouble using the keyboard and my USB disc was detected. XFS is not in this kernel so I couldn't mount anything.
2.5.75 - Tried it since I had built it anyway. It initializes the ramdisks and loop devices then ..... nothing.
I guess the best thing to try now is a middle ground between 2.5.37 and 2.5.55, which would be 2.5.46...
/Martin.
----- "Oliver Neukum"
Am Dienstag 28 August 2007 schrieb Martin Møller:
Okay.. These are my results:
I was wrong about 2.6.5 -- It also says port 2 is bad, as does 2.6.4 and 2.6.12 and every other 2.6.x kernel that loads ehci-hcd. For all the 2.6 kernels, the load was at 1 or higher with ehci-hcd loaded and nothing going on... I tried: SuSE Linux 9.1, SLES9 SP1, Knoppix 4
You have khubd running non stop.
However, both 2.4.21 and 2.4.27 kernel work fine (but cannot see my harddisks, save the USB one, for lack of SATA support) Mounted one USB partition with the 2.4.27 kernel from GamesKnoppix I and wrote the attached files to the USB disk.
Can you bisect through 2.5 ?
2.4 distros: GamesKnoppix I, UnitedLinux SP3.
So I guess that means that SuSE Linux 9.0 was the last time I had functional USB 2.0 speed without workarounds... How time flies...
Something must have changed dramatically going to 2.6 for the ehci-hcd driver...
There's no indication the change must have been dramatic to cause this. Are you using a VIA chipset?
Regards Oliver
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Latest update:
Have tried kernel 2.5.15:
Some issue with the ramdisk. Will try a non-gzipped version of rescue9.1 and see what happens.
It did write the following before panicking, though:
hub.c: new USB device 00:1d.7-3, assigned address=2
usb.c: _USB device not accepting new address=2 (error=-71)
When booting with USB 2.0 disabled the 2.5.15 kernel in stead said:
usb-uhci.c: ENXIO 80000280, flags 0, urb f6766b00, burb f6766c00
2.5.42:
Also had issues with the ramdisk. It seemed to be related to gunzip as well as the Oops mentioned gunzip....
Before the Oops it said:
drivers/usb/core/hub.c: new USB device 00:1d.0-1, assigned address=2
Invalid operand: 0000
<Oops>
Apparently, it wasn't the answer to the Universe, Life and Everything just yet...
2.5.46:
I have a picture of the stuff that was on screen before the kernel panic. Too much to write down.
Get it here: http://www.martinm-76.dk/Images/Kernel/2.5.46.jpg
This is hard work -- I sure hope it gets me some results... :-/
At least I have become slightly better acquainted with the boot process... ;)
/Martin.
----- "Martin Møller"
Okay... Here's the latest from 2.5-land:
I have copied the rescue image from SUSE Linux 9.1 to use as my initrd with the 2.5 kernels. I have called it 'rescue9.1' and invoke it like this:
### Testkernel ### title Linux 2.5.37 root (hd1,2) kernel /boot/linux-2.5.37 root=/dev/ram0 ramdisk_size=65536 rescue=1 showopts vga=ask initrd /boot/rescue9.1
title Linux 2.5.55 root (hd1,2) kernel /boot/linux-2.5.55 root=/dev/ram0 ramdisk_size=65536 rescue=1 showopts vga=ask initrd /boot/rescue9.1
title Linux 2.5.75 root (hd1,2) kernel /boot/linux-2.5.75 root=/dev/ram0 ramdisk_size=65536 rescue=1 showopts vga=ask initrd /boot/rescue9.1
Status:
2.5.37 - Gets as far as trying to do something with the ramdisk. Apparently doesn't like that it is not reiserfs and the kernel panics.
Seems the ramdisk is gzip compressed. Maybe I should try with a gunzipped version.
2.5.55 - Boots up all the way, but does make some usb comments, including 'cable is bad'. I have tried to write them down as accurately as I could:
First boot, without ramdisk (I had forgotten to specify it in menu.lst): hub 1-0:0: debounce: port 1: delay 100 ms stable 4 status 0x501 hub 1-0:0: debounce: port 3: delay 100 ms stable 4 status 0x501
Second time, with ramdisk (maybe the above was there as well, but I didn't notice it): hub 1-3:0 debounce: port 2: delay 100 ms stable 4 status 0x101 (not quite sure about this one)
cannot enable port2: Maybe the USB cable is bad? <many of those> hub 1-3:0: New USB device on port 2, assigned address 14 hub 1-3.2: USB device not accepting new address (error=-71)
The machine seems pretty responsive but load is approximately 1.0 as all times. Still way better than the latest 2.6 kernels though, where load is normally around 3.0 for whatever reason -- I had no trouble using the keyboard and my USB disc was detected. XFS is not in this kernel so I couldn't mount anything.
2.5.75 - Tried it since I had built it anyway. It initializes the ramdisks and loop devices then ..... nothing.
I guess the best thing to try now is a middle ground between 2.5.37 and 2.5.55, which would be 2.5.46...
/Martin.
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Hi there.
For a long time now I have had some issues with USB 2.0 enabled on one of my machines, but *only* in Linux. In Windows everything works fine, which makes me think that there's simply something that is not implemented/wrongly detected in Linux.
I get a bunch of these when the ehci-hcd module is loaded:
hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad?
At least 100 and they continue to show up until I unload the ehci-hcd module. My load with ehci-hcd loaded is very high. Typically about 2-3 whereas it would be around 0.5 otherwise.
At one point I replied to a bug with a similar problem on the vanilla kernel and got a patch that could block a USB hub, which took care of the load issue, but would also result in my wireless rt2570 disappearing. It was loaded like this:
#!/bin/sh modprobe ehci-hcd sleep 1s echo 2 > /sys/class/usb_hub/usbhub5.2/ignore date > /tmp/fix-usb.log 2&>1
I have (hopefully) attached the patch to this message.
Is there any way that we can get closer to what the real problem is here? Even if it means installing some debug software in Windows and running a battery of tests, I would just really like to have working USB 2.0 again...
I also wonder why the patch never made it to the kernel. It was scheduled for inclusion at one point. Maybe it has issues?
For the record: This happens with almost all 2.6 kernels I have tried, SUSE or otherwise. I think I didn't see it around 2.6.5, but I'm not quite sure. 2.4.x kernels do not have the problem as far as I can tell, but then USB 2.0 is a 2.6 feature, right?
If I do not load the ehci-hcd module I *can* actually see and use my wireless adapter, but naturally it maxes out at 12 Mbit/s...
The machine is pretty responsive even with the high load, but is does not seem right that is should behave this way. Just to mention it, I had something similar half a year ago. I had built an old MSI motherboard (nForce2 based) into a new tower case and got exactly the same messages about the bad USB cable. I investigated and found out, that pin 10 of the USB2 motherboard connector (called 'USBOC' by MSI, called 'NC' on modern boards) caused the problem, because in the
Martin Møller schrieb: old case there was nothing connected to pin 10, in the new one it was - as far as I remember - connected to GND. I isolated the single pin by pulling out the connector on the cable's connector (by lifting the very tiny plastic clasp that holds back the single pin connector and carefully (!!! ) pulling it out) and all went smooth in Linux again. So it was a hardware problem to me and not the kernels fault, kind regards, Tom -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Interesting....
This is a prebuilt machine, MD8800 from Medion, the motherboard has never been in other machines.
I don't suppose you tried 2.4 kernels on it? Mine works fine with 2.4 kernels, but that is not exactly modern anymore.
It is of course possible that Medion (or whomever assembles their machines) could have had a problem of the type you mention, especially if Windows doesn't care... But in that case, if everything is fine in Windows, couldn't Linux be told not to care as well?
When I used the usbhub patch, the load settled and the machine seemed fine, but I lost my wireless adapter which apparently is on the affected hub. There is also a card-reader in this machine that has never worked in Linux, not with 2.4 either, yet the inf file in windows says it is a USB device. Sounds like a very weirdly implemented one...
Incidentally I managed a quick test of 2.5.37 before I left for my parents'. Apparently is doesn't like having usbdevfs enabled, so I'll try again with that disabled when I get the chance...
I have basically make the simplest kernel I could think of:
All standard values, except:
* No loadable module support
* Ext3 support compiled in
* USB UHCI and EHCI controllers compiled in
* usbdevfs selected (apparently not a good idea)
* Drivers for most USB types compiled in (audio, serial, storage, HID, etc...) - although not scanners and digitizers
I got an oops with this kernel that seemed to imply that usbdevfs couldn't create the nodes it wanted. I have no initrd assigned.
I started it from grub with 'kernel /boot/linux-2.5.37 root=/dev/sdb3 vga=normal single init=/bin/sh'
/Martin.
----- "Thomas Meindl"
Martin Møller schrieb:
Just to mention it, I had something similar half a year ago. I had built an old MSI motherboard (nForce2 based) into a new tower case and got exactly the same messages about the bad USB cable. I investigated and found out, that pin 10 of the USB2 motherboard connector (called 'USBOC' by MSI, called 'NC' on modern boards) caused the problem, because in the old case there was nothing connected to pin 10, in the new one it was - as far as I remember - connected to GND. I isolated the single pin by pulling out the connector on the cable's connector (by lifting the very tiny plastic clasp that holds back the single pin connector and carefully (!!! ) pulling it out) and all went smooth in Linux again. So it was a hardware problem to me and not the kernels fault, kind regards, Tom
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
I have now tried the 2.5.37 kernel a couple of times. It doesn't seem to support my SATA controller: 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01) It therefore fails early on with a kernel panic about not being able to mount root. It does seem to load various USB stuff before then, but I can't really tell if it loads the ehci-hcd driver or not. It doesn't give me any 'cable is bad' errors, though, so *if* ehci-hcd is loaded, the change that would write this would not seem to have been implemented yet. I guess it's time to go higher and see what will happen. I have compiled 2.5.55 and will try it when I have a vacant moment again.. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
On Sep 8 2007 23:44, Martin Møller wrote:
I have now tried the 2.5.37 kernel a couple of times. It doesn't seem to support my SATA controller: 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
2.5.37 -
I have compiled 2.5.55 and will try it when I have a vacant moment again..
2.5.55 - ehrm. Why is it that try oldish development kernels? Jan -- -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Hello there, Jan.
That goes back to my original message and the suggestions made by other people on this list:
I get a bunch of these when the ehci-hcd module is loaded:
hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad?
hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad?
hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad?
hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad?
hub 5-3:1.0: Cannot enable port 2. Maybe the USB cable is bad?
With ehci-hcd loaded on 10.3, I cannot even use my USB keyboard and the USB harddisk is also not mounted before I unload this module.
Some of these things vary depending on how, say, usb-storage is handled. In 10.2 I just had high load, and problems with my keyboard, but the disk would mount. In SabayonLinux I have high load but am otherwise okay (at least in the last loop release I tried).
Since I got the '...USB cable is bad?' message in tests going back to 2.6.4 not not on any 2.4.xx kernels with USB 2.0 support, it was suggested I try to find the point in the development kernel releases that introduced the (for me) problem...
It doesn't seem to be present in 2.5.37, but I am not totally sure. I would just like to know why this problem is there and preferably find a fix for it. I used a usbhub patch in 10.2 that would let me ignore the hub that apparently is messing up, but then I lost my wireless NIC. Without ehci-hcd I of course am limited to 12 Mbps connections which is not ideal.
Thus I am on a wired connection still, even though it is a bit inpractical, and I really want the USB 2.0 speed back :-/
Windows on the same machine has no issues with USB 2.0 enabled, so my thinking is that whatever the kernel is complaining about can't be that serious?
/Martin.
----- "Jan Engelhardt"
On Sep 8 2007 23:44, Martin Møller wrote:
2.5.37 -
2.5.55 -
ehrm. Why is it that try oldish development kernels?
Jan
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
Tried the 2.5.55 kernel now. It loads the ehci-hcd driver just fine but since it still cannot fint a root filesystem the kernel panics about a second later... Didn't see any 'cable is bad' messages, though.
/Martin.
----- "Martin Møller"
I have now tried the 2.5.37 kernel a couple of times. It doesn't seem to support my SATA controller: 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
It therefore fails early on with a kernel panic about not being able to mount root.
It does seem to load various USB stuff before then, but I can't really tell if it loads the ehci-hcd driver or not. It doesn't give me any 'cable is bad' errors, though, so *if* ehci-hcd is loaded, the change that would write this would not seem to have been implemented yet.
I guess it's time to go higher and see what will happen.
I have compiled 2.5.55 and will try it when I have a vacant moment again..
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
participants (7)
-
Dirk Mueller
-
Jan Blunck
-
Jan Engelhardt
-
Jan Kara
-
Martin Møller
-
Oliver Neukum
-
Thomas Meindl