Hello!
I'm trying to compile Mac-on-Linux (MOL) on a current Debian unstable
powerpc system. It hangs and I don't know what's wrong, so HELP is
highly appreciated.
Before you ask: yes, I know that MOL is likely to fail on a recent Linux
system. Anyway, the error doesn't seem to be related to that particular
circumstance.
What I did:
1) Download MOL from
https://sourceforge.net/projects/mac-on-linux/files/mac-on-linux/mol-0.9.72.1/mol-0.9.72.1.tar.bz2/download
and unpack, I used /usr/local/src/ for unpacking.
2) Get dependencies, requirements:
a) apt install build-essential fakeroot devscripts
b) ./autogen.sh and ./configure revealed some dependences, which are:
apt install zlib1g-dev linux-headers-powerpc-smp libasound2-dev
libpng-dev libpng-dev
I then again ran:
1) fakeroot ./autogen.sh
==================================================
Invoking autoheader and autoconf.
The next step is 'make'
==================================================
2) fakeroot ./configure
checking whether ln -s works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for bison... no
checking for byacc... no
checking for flex... no
checking for lex... no
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking obstack.h usability... yes
checking obstack.h presence... yes
checking for obstack.h... yes
checking dependency style... new
checking for clearenv()... yes
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking for snd_pcm_open in -lasound... yes
checking alsa/asoundlib.h usability... yes
checking alsa/asoundlib.h presence... yes
checking for alsa/asoundlib.h... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking for working XDGA headers... no
checking whether XDGA workaround works... *** Error in
`/usr/lib/gcc/powerpc-linux-gnu/6/cc1': double free or corruption
(fasttop): 0x11a92fa0 ***
======= Backtrace: =========
/lib/powerpc-linux-gnu/libc.so.6(+0x81adc)[0xf9b2adc]
/lib/powerpc-linux-gnu/libc.so.6(+0x8b254)[0xf9bc254]
/lib/powerpc-linux-gnu/libc.so.6(+0x8bd74)[0xf9bcd74]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1(_Z17split_quote_chainv+0x50)[0x1044ca90]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1(_Z22c_common_handle_optionjPKciijPK18cl_option_handlers+0x8d0)[0x1020aab0]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1[0x10c3bb0c]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1(_Z19read_cmdline_optionP11gcc_optionsS0_P17cl_decoded_optionjjPK18cl_option_handlersP18diagnostic_context+0xb4)[0x10c3bce4]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1(_Z14decode_optionsP11gcc_optionsS0_P17cl_decoded_optionjjP18diagnostic_context+0x194)[0x105779e4]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1(_ZN6toplev4mainEiPPc+0x2c8)[0x101578d8]
/usr/lib/gcc/powerpc-linux-gnu/6/cc1(main+0x3c)[0x1015985c]
/lib/powerpc-linux-gnu/libc.so.6(+0x21274)[0xf952274]
/lib/powerpc-linux-gnu/libc.so.6(__libc_start_main+0xdc)[0xf95247c]
======= Memory map: ========
00100000-00103000 r-xp 00000000 00:00 0 [vdso]
0f931000-0fabb000 r-xp 00000000 08:04 3407880
/lib/powerpc-linux-gnu/libc-2.24.so
0fabb000-0facc000 ---p 0018a000 08:04 3407880
/lib/powerpc-linux-gnu/libc-2.24.so
0facc000-0fad1000 r--p 0018b000 08:04 3407880
/lib/powerpc-linux-gnu/libc-2.24.so
0fad1000-0fad2000 rw-p 00190000 08:04 3407880
/lib/powerpc-linux-gnu/libc-2.24.so
0fad2000-0fad5000 rw-p 00000000 00:00 0
0fae5000-0fba6000 r-xp 00000000 08:04 3407884
/lib/powerpc-linux-gnu/libm-2.24.so
0fba6000-0fbc0000 ---p 000c1000 08:04 3407884
/lib/powerpc-linux-gnu/libm-2.24.so
0fbc0000-0fbc5000 r--p 000cb000 08:04 3407884
/lib/powerpc-linux-gnu/libm-2.24.so
0fbc5000-0fbc6000 rw-p 000d0000 08:04 3407884
/lib/powerpc-linux-gnu/libm-2.24.so
0fbd6000-0fbef000 r-xp 00000000 08:04 3407961
/lib/powerpc-linux-gnu/libz.so.1.2.8
0fbef000-0fc05000 ---p 00019000 08:04 3407961
/lib/powerpc-linux-gnu/libz.so.1.2.8
0fc05000-0fc06000 r--p 0001f000 08:04 3407961
/lib/powerpc-linux-gnu/libz.so.1.2.8
0fc06000-0fc07000 rw-p 00020000 08:04 3407961
/lib/powerpc-linux-gnu/libz.so.1.2.8
0fc17000-0fc1a000 r-xp 00000000 08:04 3407883
/lib/powerpc-linux-gnu/libdl-2.24.so
0fc1a000-0fc36000 ---p 00003000 08:04 3407883
/lib/powerpc-linux-gnu/libdl-2.24.so
0fc36000-0fc37000 r--p 0000f000 08:04 3407883
/lib/powerpc-linux-gnu/libdl-2.24.so
0fc37000-0fc38000 rw-p 00010000 08:04 3407883
/lib/powerpc-linux-gnu/libdl-2.24.so
0fc48000-0fcc9000 r-xp 00000000 08:04 3937380
/usr/lib/powerpc-linux-gnu/libgmp.so.10.3.2
0fcc9000-0fce7000 ---p 00081000 08:04 3937380
/usr/lib/powerpc-linux-gnu/libgmp.so.10.3.2
0fce7000-0fce8000 r--p 0008f000 08:04 3937380
/usr/lib/powerpc-linux-gnu/libgmp.so.10.3.2
0fce8000-0fce9000 rw-p 00090000 08:04 3937380
/usr/lib/powerpc-linux-gnu/libgmp.so.10.3.2
0fcf9000-0fd6b000 r-xp 00000000 08:04 3941315
/usr/lib/powerpc-linux-gnu/libmpfr.so.4.1.5
0fd6b000-0fd87000 ---p 00072000 08:04 3941315
/usr/lib/powerpc-linux-gnu/libmpfr.so.4.1.5
0fd87000-0fd89000 r--p 0007e000 08:04 3941315
/usr/lib/powerpc-linux-gnu/libmpfr.so.4.1.5
0fd89000-0fd8a000 rw-p 00080000 08:04 3941315
/usr/lib/powerpc-linux-gnu/libmpfr.so.4.1.5
0fd9a000-0fdb3000 r-xp 00000000 08:04 3949609
/usr/lib/powerpc-linux-gnu/libmpc.so.3.0.0
0fdb3000-0fdc9000 ---p 00019000 08:04 3949609
/usr/lib/powerpc-linux-gnu/libmpc.so.3.0.0
0fdc9000-0fdca000 r--p 0001f000 08:04 3949609
/usr/lib/powerpc-linux-gnu/libmpc.so.3.0.0
0fdca000-0fdcb000 rw-p 00020000 08:04 3949609
/usr/lib/powerpc-linux-gnu/libmpc.so.3.0.0
0fddb000-0ff9f000 r-xp 00000000 08:04 3949607
/usr/lib/powerpc-linux-gnu/libisl.so.15.3.0
0ff9f000-0ffb8000 ---p 001c4000 08:04 3949607
/usr/lib/powerpc-linux-gnu/libisl.so.15.3.0
0ffb8000-0ffbb000 r--p 001cd000 08:04 3949607
/usr/lib/powerpc-linux-gnu/libisl.so.15.3.0
0ffbb000-0ffbf000 rw-p 001d0000 08:04 3949607
/usr/lib/powerpc-linux-gnu/libisl.so.15.3.0
0ffcf000-0ffda000 r-xp 00000000 08:04 4072658
/usr/lib/powerpc-linux-gnu/libfakeroot/libfakeroot-sysv.so
0ffda000-0ffee000 ---p 0000b000 08:04 4072658
/usr/lib/powerpc-linux-gnu/libfakeroot/libfakeroot-sysv.so
0ffee000-0ffef000 r--p 0000f000 08:04 4072658
/usr/lib/powerpc-linux-gnu/libfakeroot/libfakeroot-sysv.so
0ffef000-0fff0000 rw-p 00010000 08:04 4072658
/usr/lib/powerpc-linux-gnu/libfakeroot/libfakeroot-sysv.so
10000000-11260000 r-xp 00000000 08:04 3932489
/usr/lib/gcc/powerpc-linux-gnu/6/cc1
1127b000-11280000 r--p 0126b000 08:04 3932489
/usr/lib/gcc/powerpc-linux-gnu/6/cc1
11280000-11286000 rw-p 01270000 08:04 3932489
/usr/lib/gcc/powerpc-linux-gnu/6/cc1
11286000-11368000 rw-p 00000000 00:00 0
11a60000-11acf000 rw-p 00000000 00:00 0 [heap]
b7649000-b784d000 rw-p 00000000 00:00 0
b784d000-b7870000 r-xp 00000000 08:04 3407875
/lib/powerpc-linux-gnu/ld-2.24.so
b7886000-b788c000 rw-p 00000000 00:00 0
b788c000-b788d000 r--p 0002f000 08:04 3407875
/lib/powerpc-linux-gnu/ld-2.24.so
b788d000-b788e000 rw-p 00030000 08:04 3407875
/lib/powerpc-linux-gnu/ld-2.24.so
bfc12000-bfc33000 rw-p 00000000 00:00 0 [stack]
no
checking for m4... m4
checking for as... as
checking for strip... strip
checking for ld... ld
checking for nm... nm
checking for objdump... objdump
checking for install... install
checking whether off_t is 64 bit... no
checking for broken syscall macro... yes
checking for uc_context.gregs... no
checking for png_read_png in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for -fno-stack-protector support... yes
checking for inflate in -lz... yes
configure: creating ./config.status
config.status: creating unconfig
config.status: creating Makefile.defs
config.status: creating config.h
config.status: config.h is unchanged
3) fakeroot make
config.status: creating unconfig
config.status: creating Makefile.defs
config.status: creating config.h
config.status: config.h is unchanged
+ Entering scripts
+ Entering src
+ Entering lib
Compiling extralib.o
extralib.c: In function ‘perrorm’:
extralib.c:331:6: warning: variable ‘ret’ set but not used
[-Wunused-but-set-variable]
int ret, err=errno;
^~~
Compiling llseek.o
Compiling elfload.o
Compiling unicode.o
Compiling backtrace.o
Linking libcommon.a
ar: `u' modifier ignored since `D' is the default (see `U')
+ Entering main
+ Entering linux
Compiling misc.o
Linking libarch.a
ar: `u' modifier ignored since `D' is the default (see `U')
Compiling res_manager.o
Compiling molrcget.o
= Building molrcget
Linking libres.a
ar: `u' modifier ignored since `D' is the default (see `U')
Compiling async.o
Compiling main.o
Compiling memory.o
memory.c: In function ‘unmap_mem’:
memory.c:208:19: warning: variable ‘page_start’ set but not used
[-Wunused-but-set-variable]
ulong page_offs, page_start;
^~~~~~~~~~
Compiling os_interface.o
Compiling promif.o
Compiling session.o
Compiling thread.o
Compiling timer.o
Linking libmain.a
ar: `u' modifier ignored since `D' is the default (see `U')
+ Entering drivers
+ Entering disk
Compiling blkdev.o
blkdev.c: In function ‘find_disk_type’:
blkdev.c:101:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
if ( QCOW_MAGIC == be32_to_cpu(((QCowHeader *)buf)->magic) ) {
^~
blkdev.c: In function ‘inspect_disk’:
blkdev.c:150:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
signature = hfs_get_ushort(mdb->drSigWord);
^~~~~~~~~
blkdev.c:168:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
if( hfs_get_ushort(mdb->drEmbedSigWord) == HFS_PLUS_SIGNATURE ) {
^~
Compiling disk_open.o
Compiling ablk.o
ablk.c: In function ‘osip_ablk_disk_info’:
ablk.c:385:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
*(ablk_disk_info_t*)&mregs->gpr[4] = info;
^
Compiling pseudofs.o
Compiling scsi.o
Compiling blk_raw.o
Compiling blk_qcow.o
Compiling vec_wrap.o
Compiling blk_dmg.o
In file included from /usr/include/zlib.h:34:0,
from ./include/blk_dmg.h:37,
from blk_dmg.c:30:
/usr/include/zlib.h:1673:5: error: unknown type name ‘off64_t’
z_off64_t pos;
^
/usr/include/zlib.h:1693:12: error: unknown type name ‘off64_t’
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
^
In file included from /usr/include/zlib.h:34:0,
from ./include/blk_dmg.h:37,
from blk_dmg.c:30:
/usr/include/zlib.h:1693:51: error: unknown type name ‘off64_t’
ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
^
In file included from /usr/include/zlib.h:34:0,
from ./include/blk_dmg.h:37,
from blk_dmg.c:30:
/usr/include/zlib.h:1694:12: error: unknown type name ‘off64_t’
ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
^
/usr/include/zlib.h:1695:12: error: unknown type name ‘off64_t’
ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
^
In file included from /usr/include/zlib.h:34:0,
from ./include/blk_dmg.h:37,
from blk_dmg.c:30:
/usr/include/zlib.h:1696:62: error: unknown type name ‘off64_t’
ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
^
/usr/include/zlib.h:1697:60: error: unknown type name ‘off64_t’
ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
^
../../../config/Rules.make:95: recipe for target
'../../../obj-ppc/build/src/drivers/disk/blk_dmg.o' failed
make[3]: *** [../../../obj-ppc/build/src/drivers/disk/blk_dmg.o] Error 1
../../config/Rules.make:73: recipe for target 'sub-disk-all' failed
make[2]: *** [sub-disk-all] Error 2
../config/Rules.make:73: recipe for target 'sub-drivers-all' failed
make[1]: *** [sub-drivers-all] Error 2
config/Rules.make:73: recipe for target 'sub-src-all' failed
make: *** [sub-src-all] Error 2
So, what's the problem with the xdga error?
And why is off64_t a problem? FYI, I had the exact same error when I
tried to compile it all with ONLY zlib1g-dev installed, i.e. before I
installed (apt install) linux-headers-powerpc-smp libasound2-dev
libpng-dev libpng-dev.
Does this make any sense at all?
Thanks in advance.