Skip to contentSkip to conversation

Problems compiling any 2.6.x UML

uml-devel Dominik Jürgens 6 participants 9 messages Sep 2, 2004 – Sep 5, 2004 User-mode Linux (UML)

lore
Share & tools
lore
#0 lore raw

I have a problem with compiling user-mode-linux on my debian sarge system. Some importent package versions:

Hostkernel 2.6.8.1
gcc (GCC) 3.3.4 (Debian 1:3.3.4-6sarge1)
GNU Make 3.80
GNU binutils version 2.14.90.0.7 20031029 Debian GNU/Linux

Problem: When I try to compile any 2.6.x UML-Kernel I get following message:

make ARCH=um linux \n
...
<--zip-->

  LD      init/built-in.o
  LD      .tmp_vmlinux1
  KSYM    .tmp_kallsyms1.S
  AS      .tmp_kallsyms1.o
  LD      .tmp_vmlinux2
  KSYM    .tmp_kallsyms2.S
  AS      .tmp_kallsyms2.o
  MAIN    arch/um/main.o
  LD      vmlinux

/bin/sh: Syntax error: "(" unexpected
CPP arch/um/uml.lds.s
gcc -Wl,-T,arch/um/uml.lds.s -static -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc \
-o linux arch/um/main.o vmlinux -L/usr/lib -lutil
/usr/bin/ld:arch/um/uml.lds.s:150: syntax error
collect2: ld returned 1 exit status
make: *** [linux] Fehler 1
</--zip-->

The content of the 'arch/um/uml.lds.s' file arround line 150:
<--zip-->

147:  init.data : { *(init.data) }
148:  .data :
149:  {
150:    . = ALIGN(); /* init_task */
151:    *(.data.init_task)
152:    *(.data)
153:    *(.gnu.linkonce.d*)
154:    CONSTRUCTORS

155: }
</--zip-->

I googled for it a longer time and found nothing.

Thanks for helping me :-)
Dominik Juergens

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#1 lore raw

Hi,

I have builded debian packages for 2.6 umls, or better I made the original debian sourcepackage include a 2.6 kernel and compile cleanly.

You can get the source-package at:
deb http://packages.debianbase.de/sources/uml-exp/ ./

and the binaries for sarge at:
deb http://packages.debianbase.de/sarge/i386/uml-exp/ ./

The last version available there is 2.6.8, but I would suggest that you test the 2.6.6 package, because I know that this version works without any problem on more than just my machine. The 2.6.7 should be fine, too.

I have problems myself with the 2.6.8 package, but I have to take a closer look at this, because I don't know if its a debian packaging problem or something like this or actually a uml bug. But any of these source packages compiles cleanly without any problem.

Ah, before I forget it: with skas patch in the host kernel the umls are running very smoothly... Without skas patch the umls sometimes doesn't start (diffrent kernel panics). I don't know why, but I am a bit confussed because the uml kernel doesn't always hang at the same point... Maybe there is something broken in the uml or in the debian system...

Hope this helps a bit...

--Ralph

Am Donnerstag 02 September 2004 17:28 schrieb Dominik Jürgens:

Quoted 53 lines

I have a problem with compiling user-mode-linux on my debian sarge system. Some importent package versions:

Hostkernel 2.6.8.1
gcc (GCC) 3.3.4 (Debian 1:3.3.4-6sarge1)
GNU Make 3.80
GNU binutils version 2.14.90.0.7 20031029 Debian GNU/Linux

Problem: When I try to compile any 2.6.x UML-Kernel I get following message:

make ARCH=um linux \n
...
<--zip-->

  LD      init/built-in.o
  LD      .tmp_vmlinux1
  KSYM    .tmp_kallsyms1.S
  AS      .tmp_kallsyms1.o
  LD      .tmp_vmlinux2
  KSYM    .tmp_kallsyms2.S
  AS      .tmp_kallsyms2.o
  MAIN    arch/um/main.o
  LD      vmlinux

/bin/sh: Syntax error: "(" unexpected
CPP arch/um/uml.lds.s
gcc -Wl,-T,arch/um/uml.lds.s -static -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc \
-o linux arch/um/main.o vmlinux -L/usr/lib -lutil
/usr/bin/ld:arch/um/uml.lds.s:150: syntax error
collect2: ld returned 1 exit status
make: *** [linux] Fehler 1
</--zip-->

The content of the 'arch/um/uml.lds.s' file arround line 150:
<--zip-->

147:  init.data : { *(init.data) }
148:  .data :
149:  {
150:    . = ALIGN(); /* init_task */
151:    *(.data.init_task)
152:    *(.data)
153:    *(.gnu.linkonce.d*)
154:    CONSTRUCTORS

155: }
</--zip-->

I googled for it a longer time and found nothing.

Thanks for helping me :-)
Dominik Juergens

Quoted 9 lines

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47&alloc_id808&opÌk
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#2 lore raw
In reply to Dominik Jürgens

--- Dominik Jürgens <[email protected]> ha scritto:

Quoted 26 lines

I have a problem with compiling user-mode-linux on my debian sarge
system. Some importent package versions:

Hostkernel 2.6.8.1
gcc (GCC) 3.3.4 (Debian 1:3.3.4-6sarge1)
GNU Make 3.80
GNU binutils version 2.14.90.0.7 20031029 Debian
GNU/Linux

Problem: When I try to compile any 2.6.x UML-Kernel I get following
message:

make ARCH=um linux \n
...
<--zip-->

  LD      init/built-in.o
  LD      .tmp_vmlinux1
  KSYM    .tmp_kallsyms1.S
  AS      .tmp_kallsyms1.o
  LD      .tmp_vmlinux2
  KSYM    .tmp_kallsyms2.S
  AS      .tmp_kallsyms2.o
  MAIN    arch/um/main.o
  LD      vmlinux
Quoted 1 line

/bin/sh: Syntax error: "(" unexpected

If /bin/sh is not bash, this is the problem. Also make sure you properly configured your kernel with make *config ARCH=um

Quoted 22 lines

CPP arch/um/uml.lds.s
gcc -Wl,-T,arch/um/uml.lds.s -static

(quoted diff) +0 -3
-Wl,--wrap,malloc -Wl,--wrap,free
-Wl,--wrap,calloc \
        -o linux arch/um/main.o vmlinux -L/usr/lib
-lutil

/usr/bin/ld:arch/um/uml.lds.s:150: syntax error
collect2: ld returned 1 exit status
make: *** [linux] Fehler 1
</--zip-->

The content of the 'arch/um/uml.lds.s' file arround line 150:
<--zip-->

147:  init.data : { *(init.data) }
148:  .data :
149:  {
150:    . = ALIGN(); /* init_task */
151:    *(.data.init_task)
152:    *(.data)
153:    *(.gnu.linkonce.d*)
154:    CONSTRUCTORS
Quoted 11 lines

155: }
</--zip-->

I googled for it a longer time and found nothing.

Thanks for helping me :-)
Dominik Juergens

-------------------------------------------------------

Quoted 6 lines

This SF.Net email is sponsored by BEA Weblogic
Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1
today.

http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click

Quoted 4 lines

_______________________________________________
User-mode-linux-devel mailing list
[email protected]

https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Quoted 1 line

___________________________________
Yahoo! Companion - Scarica gratis la toolbar di Ricerca di Yahoo!
http://companion.yahoo.it

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#3 lore raw

Thank you very very much, that really fixed the problem!

But why does anyone use the /bin/sh in any script, when he wants to use the bash? That is in my opinion a very bad fault!!

My /bin/sh was linked to the /bin/dash, not because I linked it, but anything else! It does not seem to be very failure tolerant to suppose that /bin/sh is the bash...

Greatings from Braunschweig, Germany
Dominik Jürgens

Am Fr, den 03.09.2004 schrieb p g um 20:02:

Quoted 89 lines

--- Dominik Jürgens <[email protected]> ha scritto:

Quoted 26 lines

I have a problem with compiling user-mode-linux on my debian sarge
system. Some importent package versions:

Hostkernel 2.6.8.1
gcc (GCC) 3.3.4 (Debian 1:3.3.4-6sarge1)
GNU Make 3.80
GNU binutils version 2.14.90.0.7 20031029 Debian
GNU/Linux

Problem: When I try to compile any 2.6.x UML-Kernel I get following
message:

make ARCH=um linux \n
...
<--zip-->

  LD      init/built-in.o
  LD      .tmp_vmlinux1
  KSYM    .tmp_kallsyms1.S
  AS      .tmp_kallsyms1.o
  LD      .tmp_vmlinux2
  KSYM    .tmp_kallsyms2.S
  AS      .tmp_kallsyms2.o
  MAIN    arch/um/main.o
  LD      vmlinux
Quoted 1 line

/bin/sh: Syntax error: "(" unexpected

If /bin/sh is not bash, this is the problem. Also make sure you properly configured your kernel with make *config ARCH=um

Quoted 22 lines

CPP arch/um/uml.lds.s
gcc -Wl,-T,arch/um/uml.lds.s -static

(quoted diff) +0 -3
-Wl,--wrap,malloc -Wl,--wrap,free
-Wl,--wrap,calloc \
        -o linux arch/um/main.o vmlinux -L/usr/lib
-lutil

/usr/bin/ld:arch/um/uml.lds.s:150: syntax error
collect2: ld returned 1 exit status
make: *** [linux] Fehler 1
</--zip-->

The content of the 'arch/um/uml.lds.s' file arround line 150:
<--zip-->

147:  init.data : { *(init.data) }
148:  .data :
149:  {
150:    . = ALIGN(); /* init_task */
151:    *(.data.init_task)
152:    *(.data)
153:    *(.gnu.linkonce.d*)
154:    CONSTRUCTORS
Quoted 11 lines

155: }
</--zip-->

I googled for it a longer time and found nothing.

Thanks for helping me :-)
Dominik Juergens

-------------------------------------------------------

Quoted 6 lines

This SF.Net email is sponsored by BEA Weblogic
Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1
today.

http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click

Quoted 4 lines

_______________________________________________
User-mode-linux-devel mailing list
[email protected]

https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Quoted 1 line

___________________________________
Yahoo! Companion - Scarica gratis la toolbar di Ricerca di Yahoo!
http://companion.yahoo.it

Quoted 10 lines

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#4 lore raw
Quoted 2 lines · On Sat, 4 Sep 2004, Dominik [ISO-8859-1] Jürgens wrote:

But why does anyone use the /bin/sh in any script, when he wants to use the bash? That is in my opinion a very bad fault!!

/bin/sh is by UNIX standard a "UNIX compatible shell". It does not need to be bash, but it needs to implement the UNIX standard shell syntax.

So any shell script using the UNIX shell syntax should be using /bin/sh

Any shell script explicitly written for bash only shold be using /bin/bash

Assuming /bin/sh understands bash specific extensions to the UNIX shell syntax is wrong.

Regards
Henrik

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47&alloc_id808&opÌk
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#5 lore raw

Am Sa, den 04.09.2004 schrieb Henrik Nordstrom um 16:29:

Quoted 7 lines · Dominik Jürgens
Quoted 3 lines

But why does anyone use the /bin/sh in any script, when he wants to use the bash? That is in my opinion a very bad fault!!

/bin/sh is by UNIX standard a "UNIX compatible shell". It does not need to be bash, but it needs to implement the UNIX standard shell syntax.

O.K!

Quoted 8 lines

So any shell script using the UNIX shell syntax should be using /bin/sh

Any shell script explicitly written for bash only shold be using /bin/bash

Assuming /bin/sh understands bash specific extensions to the UNIX shell syntax is wrong.

I thought that any script in the build process uses such an extention, so I wanted to report this. If not, I agree to you!

Quoted 3 lines

Regards
Henrik

Dominik Juergens

-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#6 lore raw
In reply to Dominik Jürgens

Alle 14:11, sabato 4 settembre 2004, Dominik Jürgens ha scritto:

Quoted 8 lines

Thank you very very much, that really fixed the problem!

But why does anyone use the /bin/sh in any script, when he wants to use the bash? That is in my opinion a very bad fault!!

My /bin/sh was linked to the /bin/dash, not because I linked it, but anything else! It does not seem to be very failure tolerant to suppose that /bin/sh is the bash...

1) Someone else got a similar problem, because he used a Debian, too, and he had /bin/sh -> /bin/dash. Why and when does Debian do this?

2) Well, I'm attaching the patch to fix this.

Signature · 2 lines
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729

---

 uml-linux-2.6.8.1-paolo/arch/um/Makefile |    2 ++
 1 files changed, 2 insertions(+)
arch/um/Makefile renamed from arch/um/Makefile~uml-force-bash +2 -0
diff -puN arch/um/Makefile~uml-force-bash arch/um/Makefile
@@ -5,6 +5,8 @@
 
 ARCH_DIR = arch/um
 OS := $(shell uname -s)
+#We require it or things break.
+SHELL := /bin/bash
 
 filechk_gen_header = $<
 

_

#7 lore raw
Quoted 6 lines · BlaisorBlade

Alle 14:11, sabato 4 settembre 2004, Dominik Jürgens ha scritto:

Quoted 5 lines

Thank you very very much, that really fixed the problem!

But why does anyone use the /bin/sh in any script, when he wants to use the bash? That is in my opinion a very bad fault!!

Quoted 6 lines
Quoted 3 lines

My /bin/sh was linked to the /bin/dash, not because I linked it, but anything else! It does not seem to be very failure tolerant to suppose that /bin/sh is the bash...

1) Someone else got a similar problem, because he used a Debian, too, and he had /bin/sh -> /bin/dash. Why and when does Debian do this?

Debian doesn't do this, but Debian users are permitted to do so if they desire, in order to have a more lightweight /bin/sh. The only requirement is that /bin/sh be POSIX compliant, so scripts which specify #!/bin/sh must be written with only POSIX syntax.

Signature · 12 lines
 - mdz


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
#8 lore raw
In reply to BlaisorBlade
Quoted 6 lines · BlaisorBlade

Alle 14:11, sabato 4 settembre 2004, Dominik Jürgens ha scritto:

Quoted 5 lines

Thank you very very much, that really fixed the problem!

But why does anyone use the /bin/sh in any script, when he wants to use the bash? That is in my opinion a very bad fault!!

Quoted 6 lines
Quoted 3 lines

My /bin/sh was linked to the /bin/dash, not because I linked it, but anything else! It does not seem to be very failure tolerant to suppose that /bin/sh is the bash...

1) Someone else got a similar problem, because he used a Debian, too, and he had /bin/sh -> /bin/dash. Why and when does Debian do this?

Someone has already answered this, but here is a more detailed answer:

When you install the dash package it will ask you if you want to use this as your default shell. This should be OK, since dash is posix compliant, and if you ask for /bin/sh you should only expect posix compliance. Under debian, any package that specifies /bin/sh and then uses bash extensions will normally get a level 3 bug raised, which is a violation of packaging policy. I.e. Only use /bin/sh if you want a posix shell, otherwise use /bin/bash.

As to when, dash is the only package that I know of that will do this for you, and then only if you ask it to. Why? Dash is faster than bash, and could save up to a second of boot time! ;-) Seriously, some people use it to ensure package compliance, some people do it because it seems right. I do it because it has a very low overhead, and it helps me to ensure that my scripts are cross platform compatible.

Quoted 1 line

2) Well, I'm attaching the patch to fix this.

Much appreciated :-)

Cheers,
Paul