[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" <oneukum@suse.de> wrote:
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" <oneukum@suse.de> wrote:
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" <oneukum@suse.de> To: "Martin Møller" <martin@mail.martinm-76.dk> Cc: opensuse-kernel@opensuse.org Sent: 29. august 2007 07:36:51 (GMT+0100) Europe/Berlin Subject: Re: [opensuse-kernel] Issues with USB 2.0 on one machine. 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
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" <oneukum@suse.de> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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 <jack@suse.cz> SuSE CR Labs -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kernel+help@opensuse.org
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" <jblunck@suse.de> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <dmueller@suse.de> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <dmueller@suse.de> wrote:
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 . <Didn't seem to work. Tried putting it in include/linux.. Didn't work. copied stdarg.h to the kernels include dir and set it to "stdarg.h" in stead of <stdarg.h> in kernel.h .. That seemed to do it...> Maybe someone here will now what I did wrong since I had to resort to changing the code, albeit very little... Wha-hey! A 2.5 kernel.. : make[1]: Entering directory `/usr/src/TEST/linux-2.5.37/init' Generating /usr/src/TEST/linux-2.5.37/include/linux/compile.hdnsdomainname: Host name lookup failure (updated) gcc -Wp,-MD,./.version.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 -DKBUILD_BASENAME=version -c -o version.o version.c ld -m elf_i386 -r -o built-in.o main.o version.o do_mounts.o make[1]: Leaving directory `/usr/src/TEST/linux-2.5.37/init' ld -m elf_i386 -e stext -T arch/i386/vmlinux.lds.s arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o --start-group arch/i386/kernel/built-in.o arch/i386/mm/built-in.o arch/i386/mach-generic/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o lib/lib.a arch/i386/lib/lib.a drivers/built-in.o sound/built-in.o arch/i386/pci/built-in.o net/built-in.o --end-group -o vmlinux echo 'cmd_vmlinux := ld -m elf_i386 -e stext -T arch/i386/vmlinux.lds.s arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o --start-group arch/i386/kernel/built-in.o arch/i386/mm/built-in.o arch/i386/mach-generic/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o lib/lib.a arch/i386/lib/lib.a drivers/built-in.o sound/built-in.o arch/i386/pci/built-in.o net/built-in.o --end-group -o vmlinux' > ./.vmlinux.cmd nm vmlinux | grep -v '\(compiled\)\|\(\.o$\)\|\( [aUw] \)\|\(\.\.ng$\)\|\(LASH[RL]DI\)' | sort > System.map make[1]: Entering directory `/usr/src/TEST/linux-2.5.37/arch/i386/boot' gcc -Wp,-MD,./.bootsect.o.d -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/TEST/linux-2.5.37/include -I/usr/src/TEST/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -traditional -DSVGA_MODE=NORMAL_VGA -D__BIG_KERNEL__ -c -o bootsect.o bootsect.S ld -m elf_i386 -Ttext 0x0 -s --oformat binary bootsect.o -o bootsect gcc -Wp,-MD,./.setup.o.d -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/TEST/linux-2.5.37/include -I/usr/src/TEST/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -traditional -DSVGA_MODE=NORMAL_VGA -D__BIG_KERNEL__ -c -o setup.o setup.S setup.S: Assembler messages: setup.S:160: Warning: value 0x37ffffff truncated to 0x37ffffff ld -m elf_i386 -Ttext 0x0 -s --oformat binary -e begtext setup.o -o setup make[2]: Entering directory `/usr/src/TEST/linux-2.5.37/arch/i386/boot/compressed' gcc -Wp,-MD,./.head.o.d -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/TEST/linux-2.5.37/include -I/usr/src/TEST/linux-2.5.37/arch/i386/mach-generic -nostdinc -iwithprefix include -traditional -c -o head.o head.S gcc -Wp,-MD,./.misc.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 -DKBUILD_BASENAME=misc -c -o misc.o misc.c objcopy -O binary -R .note -R .comment -S /usr/src/TEST/linux-2.5.37/vmlinux vmlinux.bin gzip -f -9 < vmlinux.bin > vmlinux.bin.gz ld -m elf_i386 -r --format binary --oformat elf32-i386 -T vmlinux.scr vmlinux.bin.gz -o piggy.o ld -m elf_i386 -Ttext 0x100000 -e startup_32 head.o misc.o piggy.o -o vmlinux make[2]: Leaving directory `/usr/src/TEST/linux-2.5.37/arch/i386/boot/compressed' objcopy -O binary -R .note -R .comment -S compressed/vmlinux vmlinux.bin gcc-2.96 -Wp,-MD,tools/.build.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o tools/build tools/build.c tools/build -b bootsect setup vmlinux.bin CURRENT > bzImage Root device is (7, 0) Boot sector 512 bytes. Setup is 2598 bytes. System is 1304 kB warning: kernel is too big for standalone boot from floppy make[1]: Leaving directory `/usr/src/TEST/linux-2.5.37/arch/i386/boot' Will attempt a test with this soon, probably in the morning... Regards, /Martin. ----- "Martin Møller" <martin@mail.martinm-76.dk> wrote:
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" <oneukum@suse.de> wrote:
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" <martin@mail.martinm-76.dk> wrote:
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" <twm.mst@gmail.com> wrote:
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" <jengelh@computergmbh.de> wrote:
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" <martin@mail.martinm-76.dk> 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)
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