View previous topic :: View next topic |
Author |
Message |
Crumbz n00b
Joined: 07 Nov 2010 Posts: 15
|
Posted: Tue Sep 24, 2013 10:09 pm Post subject: Cannot build Virtualbox with 32 bit support |
|
|
Hi, I finally got round to installing Gentoo on my desktop! I'm a little shaky at this and I'm not entirely familiar with everything I'm doing. I'll try walk through the steps that +iamben and Marduk walked me through on IRC. So, here goes:
Compilation of Virtualbox fails at 32bit support:
Emerge log: http://bpaste.net/show/26FXRjaCZtlOH8kW4DNg/
Emerge info: http://bpaste.net/show/135107/
Emerge -pqv: http://bpaste.net/show/135108/
Code: | zcat /proc/config.gz | grep IA32
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not set
|
configure.log: http://bpaste.net/show/135117/
manually compiled:
Code: |
gcc -m32 -Wall test.c
#include <stdint.h>
int main(void)
{
return 0;
}
|
The above compiles okay (exit status 0) but ./a.out produces: No such file or directory - but it definately exists,
Code: |
file ./a.out
./a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
|
Code: |
ldd ./a.out
not a dynamic executable
|
This is the only profile I have used - I haven't used a nomultilib profile at all.
Code: |
eselect profile show
Current /etc/portage/make.profile symlink:
default/linux/amd64/13.0/desktop
|
Code: |
qsize glibc
sys-libs/glibc-2.15-r3: 1717 files, 58 non-files, 45271.570 KB
|
ls -al /lib32/: http://bpaste.net/show/135129/
Quote from IRC:
Quote: |
+iamben | i suspect a no-multilib stage3 may have been used
|
I'm pretty sure i used 'stage3-amd64-20130822.tar.bz2' : http://mirror.bytemark.co.uk/gentoo/releases/amd64/autobuilds/current-stage3-amd64/ |
|
Back to top |
|
|
username234 Guru
Joined: 09 May 2007 Posts: 332
|
Posted: Wed Sep 25, 2013 5:42 am Post subject: |
|
|
Could you post the output of the following command? Code: | ls -ld /{usr,}/lib{,32,64} | Also, try running Code: | file /lib32/ld-2.15.so | You should get something similar to: Code: | ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped | Also the "no such file" error message can be misleading at times. I'd guess in this case it's having a hard time finding the correct ELF-interpreter. If you want, post the output of and we can look at where a.out is trying to get its interpreter from. _________________ Creating usernames when you're
in a creative slump is a bad idea
because if you are when you do
then you end up with uninspiring
alphanumeric cocktails like the
one directly above. |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Wed Sep 25, 2013 6:47 am Post subject: |
|
|
IIRC, VirtualBox (and vmware) needs to be 64-bit, when on a 64-bit kernel. So you need to compile it non-multilib.
Or use qemu instead, which works fine as 32-bit on a 64-bit kernel. |
|
Back to top |
|
|
Crumbz n00b
Joined: 07 Nov 2010 Posts: 15
|
Posted: Wed Sep 25, 2013 6:37 pm Post subject: |
|
|
Code: |
ls -ld /{usr,}/lib{,32,64}
drwxr-xr-x 5 root root 4096 Sep 23 07:12 //lib
drwxr-xr-x 3 root root 4096 Sep 24 21:52 //lib32
drwxr-xr-x 11 root root 4096 Sep 24 21:52 //lib64
lrwxrwxrwx 1 root root 5 Aug 22 02:23 /usr/lib -> lib64
drwxr-xr-x 25 root root 28672 Sep 24 21:52 /usr/lib32
drwxr-xr-x 93 root root 69632 Sep 25 04:12 /usr/lib64
|
I just noticed that /lib is empty - Is this normal on Gentoo?
Code: |
ls -al /lib
total 20
drwxr-xr-x 5 root root 4096 Sep 23 07:12 .
drwxr-xr-x 22 root root 4096 Sep 25 01:32 ..
drwxr-xr-x 22 root root 4096 Sep 23 03:23 firmware
drwxr-xr-x 3 root root 4096 Sep 23 02:38 modules
drwxr-xr-x 4 root root 4096 Sep 24 18:18 udev
|
Code: |
file /lib32/ld-2.15.so
/lib32/ld-2.15.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
|
Code: |
readelf -aW a.out
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8048300
Start of program headers: 52 (bytes into file)
Start of section headers: 4400 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 10
Size of section headers: 40 (bytes)
Number of section headers: 30
Section header string table index: 27
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048174 000174 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048188 000188 000020 00 A 0 0 4
[ 3] .hash HASH 080481a8 0001a8 000024 04 A 5 0 4
[ 4] .gnu.hash GNU_HASH 080481cc 0001cc 000020 04 A 5 0 4
[ 5] .dynsym DYNSYM 080481ec 0001ec 000040 10 A 6 1 4
[ 6] .dynstr STRTAB 0804822c 00022c 000045 00 A 0 0 1
[ 7] .gnu.version VERSYM 08048272 000272 000008 02 A 5 0 2
[ 8] .gnu.version_r VERNEED 0804827c 00027c 000020 00 A 6 1 4
[ 9] .rel.dyn REL 0804829c 00029c 000008 08 A 5 0 4
[10] .rel.plt REL 080482a4 0002a4 000010 08 A 5 12 4
[11] .init PROGBITS 080482b4 0002b4 000016 00 AX 0 0 4
[12] .plt PROGBITS 080482d0 0002d0 000030 04 AX 0 0 16
[13] .text PROGBITS 08048300 000300 00019c 00 AX 0 0 32
[14] .fini PROGBITS 0804849c 00049c 00001a 00 AX 0 0 4
[15] .rodata PROGBITS 080484b8 0004b8 000008 00 A 0 0 4
[16] .eh_frame_hdr PROGBITS 080484c0 0004c0 000034 00 A 0 0 4
[17] .eh_frame PROGBITS 080484f4 0004f4 0000c4 00 A 0 0 4
[18] .ctors PROGBITS 08049f18 000f18 000008 00 WA 0 0 4
[19] .dtors PROGBITS 08049f20 000f20 000008 00 WA 0 0 4
[20] .jcr PROGBITS 08049f28 000f28 000004 00 WA 0 0 4
[21] .dynamic DYNAMIC 08049f2c 000f2c 0000d0 08 WA 6 0 4
[22] .got PROGBITS 08049ffc 000ffc 000004 04 WA 0 0 4
[23] .got.plt PROGBITS 0804a000 001000 000014 04 WA 0 0 4
[24] .data PROGBITS 0804a014 001014 000008 00 WA 0 0 4
[25] .bss NOBITS 0804a01c 00101c 000008 00 WA 0 0 4
[26] .comment PROGBITS 00000000 00101c 00002b 01 MS 0 0 1
[27] .shstrtab STRTAB 00000000 001047 0000e9 00 0 0 1
[28] .symtab SYMTAB 00000000 0015e0 000340 10 29 33 4
[29] .strtab STRTAB 00000000 001920 00013a 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x00140 0x00140 R E 0x4
INTERP 0x000174 0x08048174 0x08048174 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x005b8 0x005b8 R E 0x1000
LOAD 0x000f18 0x08049f18 0x08049f18 0x00104 0x0010c RW 0x1000
DYNAMIC 0x000f2c 0x08049f2c 0x08049f2c 0x000d0 0x000d0 RW 0x4
NOTE 0x000188 0x08048188 0x08048188 0x00020 0x00020 R 0x4
GNU_EH_FRAME 0x0004c0 0x080484c0 0x080484c0 0x00034 0x00034 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
GNU_RELRO 0x000f18 0x08049f18 0x08049f18 0x000e8 0x000e8 R 0x1
PAX_FLAGS 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .hash .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag
06 .eh_frame_hdr
07
08 .ctors .dtors .jcr .dynamic .got
09
Dynamic section at offset 0xf2c contains 21 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x80482b4
0x0000000d (FINI) 0x804849c
0x00000004 (HASH) 0x80481a8
0x6ffffef5 (GNU_HASH) 0x80481cc
0x00000005 (STRTAB) 0x804822c
0x00000006 (SYMTAB) 0x80481ec
0x0000000a (STRSZ) 69 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x804a000
0x00000002 (PLTRELSZ) 16 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x80482a4
0x00000011 (REL) 0x804829c
0x00000012 (RELSZ) 8 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x804827c
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x8048272
0x00000000 (NULL) 0x0
Relocation section '.rel.dyn' at offset 0x29c contains 1 entries:
Offset Info Type Sym. Value Symbol's Name
08049ffc 00000106 R_386_GLOB_DAT 00000000 __gmon_start__
Relocation section '.rel.plt' at offset 0x2a4 contains 2 entries:
Offset Info Type Sym. Value Symbol's Name
0804a00c 00000107 R_386_JUMP_SLOT 00000000 __gmon_start__
0804a010 00000207 R_386_JUMP_SLOT 00000000 __libc_start_main
The decoding of unwind sections for machine type Intel 80386 is not currently supported.
Symbol table '.dynsym' contains 4 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
2: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.0 (2)
3: 080484bc 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used
Symbol table '.symtab' contains 52 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 08048174 0 SECTION LOCAL DEFAULT 1
2: 08048188 0 SECTION LOCAL DEFAULT 2
3: 080481a8 0 SECTION LOCAL DEFAULT 3
4: 080481cc 0 SECTION LOCAL DEFAULT 4
5: 080481ec 0 SECTION LOCAL DEFAULT 5
6: 0804822c 0 SECTION LOCAL DEFAULT 6
7: 08048272 0 SECTION LOCAL DEFAULT 7
8: 0804827c 0 SECTION LOCAL DEFAULT 8
9: 0804829c 0 SECTION LOCAL DEFAULT 9
10: 080482a4 0 SECTION LOCAL DEFAULT 10
11: 080482b4 0 SECTION LOCAL DEFAULT 11
12: 080482d0 0 SECTION LOCAL DEFAULT 12
13: 08048300 0 SECTION LOCAL DEFAULT 13
14: 0804849c 0 SECTION LOCAL DEFAULT 14
15: 080484b8 0 SECTION LOCAL DEFAULT 15
16: 080484c0 0 SECTION LOCAL DEFAULT 16
17: 080484f4 0 SECTION LOCAL DEFAULT 17
18: 08049f18 0 SECTION LOCAL DEFAULT 18
19: 08049f20 0 SECTION LOCAL DEFAULT 19
20: 08049f28 0 SECTION LOCAL DEFAULT 20
21: 08049f2c 0 SECTION LOCAL DEFAULT 21
22: 08049ffc 0 SECTION LOCAL DEFAULT 22
23: 0804a000 0 SECTION LOCAL DEFAULT 23
24: 0804a014 0 SECTION LOCAL DEFAULT 24
25: 0804a01c 0 SECTION LOCAL DEFAULT 25
26: 00000000 0 SECTION LOCAL DEFAULT 26
27: 00000000 0 FILE LOCAL DEFAULT ABS test.c
28: 00000000 0 FILE LOCAL DEFAULT ABS
29: 08049f18 0 NOTYPE LOCAL DEFAULT 18 __init_array_end
30: 08049f2c 0 OBJECT LOCAL DEFAULT 21 _DYNAMIC
31: 08049f18 0 NOTYPE LOCAL DEFAULT 18 __init_array_start
32: 0804a000 0 OBJECT LOCAL DEFAULT 23 _GLOBAL_OFFSET_TABLE_
33: 08048460 2 FUNC GLOBAL DEFAULT 13 __libc_csu_fini
34: 08048462 0 FUNC GLOBAL HIDDEN 13 __i686.get_pc_thunk.bx
35: 0804a014 0 NOTYPE WEAK DEFAULT 24 data_start
36: 0804a01c 0 NOTYPE GLOBAL DEFAULT 24 _edata
37: 0804849c 0 FUNC GLOBAL DEFAULT 14 _fini
38: 08049f24 0 OBJECT GLOBAL HIDDEN 19 __DTOR_END__
39: 0804a014 0 NOTYPE GLOBAL DEFAULT 24 __data_start
40: 00000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
41: 0804a018 0 OBJECT GLOBAL HIDDEN 24 __dso_handle
42: 080484bc 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used
43: 00000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@@GLIBC_2.0
44: 080483e0 101 FUNC GLOBAL DEFAULT 13 __libc_csu_init
45: 0804a024 0 NOTYPE GLOBAL DEFAULT 25 _end
46: 08048300 0 FUNC GLOBAL DEFAULT 13 _start
47: 080484b8 4 OBJECT GLOBAL DEFAULT 15 _fp_hw
48: 0804a01c 0 NOTYPE GLOBAL DEFAULT 25 __bss_start
49: 080483d4 10 FUNC GLOBAL DEFAULT 13 main
50: 00000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
51: 080482b4 0 FUNC GLOBAL DEFAULT 11 _init
Histogram for bucket list length (total of 3 buckets):
Length Number % of total Coverage
0 0 ( 0.0%)
1 3 (100.0%) 100.0%
Histogram for `.gnu.hash' bucket list length (total of 2 buckets):
Length Number % of total Coverage
0 1 ( 50.0%)
1 1 ( 50.0%) 100.0%
Version symbols section '.gnu.version' contains 4 entries:
Addr: 0000000008048272 Offset: 0x000272 Link: 5 (.dynsym)
000: 0 (*local*) 0 (*local*) 2 (GLIBC_2.0) 1 (*global*)
Version needs section '.gnu.version_r' contains 1 entries:
Addr: 0x000000000804827c Offset: 0x00027c Link: 6 (.dynstr)
000000: Version: 1 File: libc.so.6 Cnt: 1
0x0010: Name: GLIBC_2.0 Flags: none Version: 2
Notes at offset 0x00000188 with length 0x00000020:
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux, ABI: 2.6.9
|
Quote: | "IIRC, VirtualBox (and vmware) needs to be 64-bit, when on a 64-bit kernel. So you need to compile it non-multilib." |
Would I still be able to run 32bit guests? It doesn't explain why I can't run 32 bit binaries though.
Thanks. |
|
Back to top |
|
|
username234 Guru
Joined: 09 May 2007 Posts: 332
|
Posted: Thu Sep 26, 2013 1:09 am Post subject: |
|
|
Glasscup_uk wrote: | Code: |
ls -ld /{usr,}/lib{,32,64}
drwxr-xr-x 5 root root 4096 Sep 23 07:12 //lib
drwxr-xr-x 3 root root 4096 Sep 24 21:52 //lib32
drwxr-xr-x 11 root root 4096 Sep 24 21:52 //lib64
lrwxrwxrwx 1 root root 5 Aug 22 02:23 /usr/lib -> lib64
drwxr-xr-x 25 root root 28672 Sep 24 21:52 /usr/lib32
drwxr-xr-x 93 root root 69632 Sep 25 04:12 /usr/lib64
|
I just noticed that /lib is empty - Is this normal on Gentoo? | No it's not. /lib should actually be a symbolic link to /lib64 in multilib setups.
Glasscup_uk wrote: | Code: |
ls -al /lib
total 20
drwxr-xr-x 5 root root 4096 Sep 23 07:12 .
drwxr-xr-x 22 root root 4096 Sep 25 01:32 ..
drwxr-xr-x 22 root root 4096 Sep 23 03:23 firmware
drwxr-xr-x 3 root root 4096 Sep 23 02:38 modules
drwxr-xr-x 4 root root 4096 Sep 24 18:18 udev
|
Code: |
file /lib32/ld-2.15.so
/lib32/ld-2.15.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
|
| This looks good. Glasscup_uk wrote: |
Code: |
readelf -aW a.out
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8048300
Start of program headers: 52 (bytes into file)
Start of section headers: 4400 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 10
Size of section headers: 40 (bytes)
Number of section headers: 30
Section header string table index: 27
Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .interp PROGBITS 08048174 000174 000013 00 A 0 0 1
[ 2] .note.ABI-tag NOTE 08048188 000188 000020 00 A 0 0 4
[ 3] .hash HASH 080481a8 0001a8 000024 04 A 5 0 4
[ 4] .gnu.hash GNU_HASH 080481cc 0001cc 000020 04 A 5 0 4
[ 5] .dynsym DYNSYM 080481ec 0001ec 000040 10 A 6 1 4
[ 6] .dynstr STRTAB 0804822c 00022c 000045 00 A 0 0 1
[ 7] .gnu.version VERSYM 08048272 000272 000008 02 A 5 0 2
[ 8] .gnu.version_r VERNEED 0804827c 00027c 000020 00 A 6 1 4
[ 9] .rel.dyn REL 0804829c 00029c 000008 08 A 5 0 4
[10] .rel.plt REL 080482a4 0002a4 000010 08 A 5 12 4
[11] .init PROGBITS 080482b4 0002b4 000016 00 AX 0 0 4
[12] .plt PROGBITS 080482d0 0002d0 000030 04 AX 0 0 16
[13] .text PROGBITS 08048300 000300 00019c 00 AX 0 0 32
[14] .fini PROGBITS 0804849c 00049c 00001a 00 AX 0 0 4
[15] .rodata PROGBITS 080484b8 0004b8 000008 00 A 0 0 4
[16] .eh_frame_hdr PROGBITS 080484c0 0004c0 000034 00 A 0 0 4
[17] .eh_frame PROGBITS 080484f4 0004f4 0000c4 00 A 0 0 4
[18] .ctors PROGBITS 08049f18 000f18 000008 00 WA 0 0 4
[19] .dtors PROGBITS 08049f20 000f20 000008 00 WA 0 0 4
[20] .jcr PROGBITS 08049f28 000f28 000004 00 WA 0 0 4
[21] .dynamic DYNAMIC 08049f2c 000f2c 0000d0 08 WA 6 0 4
[22] .got PROGBITS 08049ffc 000ffc 000004 04 WA 0 0 4
[23] .got.plt PROGBITS 0804a000 001000 000014 04 WA 0 0 4
[24] .data PROGBITS 0804a014 001014 000008 00 WA 0 0 4
[25] .bss NOBITS 0804a01c 00101c 000008 00 WA 0 0 4
[26] .comment PROGBITS 00000000 00101c 00002b 01 MS 0 0 1
[27] .shstrtab STRTAB 00000000 001047 0000e9 00 0 0 1
[28] .symtab SYMTAB 00000000 0015e0 000340 10 29 33 4
[29] .strtab STRTAB 00000000 001920 00013a 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
There are no section groups in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x00140 0x00140 R E 0x4
INTERP 0x000174 0x08048174 0x08048174 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2] |
| So this line will keep the binary from loading. Afterall, /lib/ld-linux.so.2 doesn't exist.
At this point you have two options. The first is to backup files like your kernel's configuration and make.conf, home area etc., erase root and re-extract the stage3 making especially sure it's the multilib variant. If you don't have a lot of customized data, then this would be the best approach.
The second is to move everything in /lib to /lib64, delete /lib, and then create the /lib symlink and have it point to /lib64. You'll then need to re-emerge binutils, glibc, and then gcc (in that order). After that, I would recommend running emerge @system, followed by emerge @world. However, there is a good possibility you'd still have random problems (especially If I forgot something, which is possible as I'm working more on theory than a verified procedure with this approach). _________________ Creating usernames when you're
in a creative slump is a bad idea
because if you are when you do
then you end up with uninspiring
alphanumeric cocktails like the
one directly above. |
|
Back to top |
|
|
Crumbz n00b
Joined: 07 Nov 2010 Posts: 15
|
Posted: Thu Sep 26, 2013 3:54 am Post subject: |
|
|
Right.. So I used a non-multilib stage3? That's pretty stupid to be honest - considering I know the difference.
At least I know now what the problem is. I'll just rm -rfv .. Should be fun.
Thanks for your time man; guys. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|