Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 255644

Summary: app-emulation/basiliskII-jit: a lot improved ebuild
Product: Gentoo Linux Reporter: Martin Mokrejš <mmokrejs>
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: UNCONFIRMED ---    
Severity: trivial CC: candrews, maekke, orzel
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://www.info.apple.com/support/oldersoftwarelist.html#system
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: basiliskII-jit-1.0_pre20060501-r1.ebuild
basiliskII-jit-1.0_pre20060501-r1.ebuild
sys_unix.cpp.patch
file_handle.patch
basiliskII-jit-1.0_pre20060501-r1.ebuild
cast-uint8-uint32-loses-precision.patch
basiliskII-jit-9999.ebuild

Description Martin Mokrejš 2009-01-20 15:02:55 UTC
The ebuild mentions one can download the MacOS software installation from Apple but took me several hours:

http://www.info.apple.com/support/oldersoftwarelist.html#system

BTW, here it is clearer what one can get: ;)
ftp://ftp.mayn.de/pub/really_old_stuff/unix/emulators/computer/macintosh
Comment 1 Martin Mokrejš 2009-01-22 18:17:26 UTC
Created attachment 179360 [details]
basiliskII-jit-1.0_pre20060501-r1.ebuild

An improved ebuild extensively tested. It correctly passes fbdev or dga or sdl flags to configure, contains extra einfo() lines for the user. Also, supports USE=debug to trun on extra debug. Extensively tested.
Comment 2 Martin Mokrejš 2009-03-04 12:21:11 UTC
This package is anyway in ~x86 and ~amd64. Would somebody please commit this improved ebuild? Thanks a lot.
Comment 3 Markus Meier gentoo-dev 2009-03-07 10:12:12 UTC
(In reply to comment #2)
> This package is anyway in ~x86 and ~amd64. Would somebody please commit this
> improved ebuild? Thanks a lot.

why are you CC-ing me? =)
Comment 4 Martin Mokrejš 2009-03-09 13:08:03 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > This package is anyway in ~x86 and ~amd64. Would somebody please commit this
> > improved ebuild? Thanks a lot.
> 
> why are you CC-ing me? =)
> 

# $Header: /var/cvsroot/gentoo-x86/app-emulation/basiliskII-jit/basiliskII-jit-1.0_pre20060501.ebuild,v 1.3 2008/08/24 12:51:33 maekke Exp $
Comment 5 Martin Mokrejš 2010-10-30 19:16:34 UTC
Created attachment 252607 [details]
basiliskII-jit-1.0_pre20060501-r1.ebuild

Updated ebuild with a patch to src/Unix/sys_unix.cpp to fix:

error: ‘INT_MAX’ was not declared in this scope

Fix proposed at http://ubuntuforums.org/showthread.php?t=670336 in comment #7
Comment 6 Martin Mokrejš 2010-10-30 19:17:57 UTC
Created attachment 252609 [details, diff]
sys_unix.cpp.patch

files/sys_unix.cpp.patch
Comment 7 Pacho Ramos gentoo-dev 2012-02-09 12:10:07 UTC
This is no longer in the tree
Comment 8 Martin Mokrejš 2012-02-09 14:02:31 UTC
Created attachment 301387 [details, diff]
file_handle.patch

One more patch is needed to avoid name clash with /usr/include/bits/fcntl.h defining struct file_handle.
Comment 9 Martin Mokrejš 2012-02-09 14:23:33 UTC
Created attachment 301389 [details]
basiliskII-jit-1.0_pre20060501-r1.ebuild

An updated ebuild. Just in case you would like to add it to portage.

It does not compile at the very moment due to picky gcc-4.5.3 I think:

x86_64-pc-linux-gnu-g++ -I../include -I. -I../uae_cpu -I../slirp -DHAVE_CONFIG_H  -DOS_linux -DREAL_ADDRESSING -DUNALIGNED_PROFITABLE -DX86_64_ASSEMBLY -DOPTIMIZED_FLAGS -DFPU_IEEE -D_REENTRANT -DDATADIR=\"/usr/share/BasiliskII\" -O2 -pipe -march=native -fno-merge-constants -fno-gcse-sm -pthread -DQT_SHARED -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/libdrm -I/usr/include/qt4/QtCore   -c ../uae_cpu/basilisk_glue.cpp -o obj/basilisk_glue.o
../uae_cpu/basilisk_glue.cpp: In function 'bool Init680x0()':
../uae_cpu/basilisk_glue.cpp:71:23: error: cast from 'uint8*' to 'uint32' loses precision
../uae_cpu/basilisk_glue.cpp:72:23: error: cast from 'uint8*' to 'uint32' loses precision


A pointer to http://us.generation-nt.com/bug-297014-basilisk2-ftbfs-amd64-gcc-4-0-cast-uint8-uint32-loses-precision-help-165740261.html might help somebody but involves a change somewhere else where the code in basiliskII-jit is somewhat different (I will attach it as well as cast-uint8-uint32-loses-precision.patch though am not sure if this is proper at all).
Comment 10 Martin Mokrejš 2012-02-09 14:25:11 UTC
Created attachment 301391 [details, diff]
cast-uint8-uint32-loses-precision.patch

Uncertain if this is correct patch. Anyways, I do not need it on ~amd64 multilib. But maybe a clue for somebody else.

In general, basiliskII-jit compiled fine on ~x86 in the past.
Comment 11 Hubert Kromer 2012-12-14 15:30:51 UTC
Created attachment 332292 [details]
basiliskII-jit-9999.ebuild

Ebuild updated to work nicely with Git version, which is still maintained - don't see a reason of using old build from 2006.
Comment 12 Hubert Kromer 2012-12-14 15:37:41 UTC
Hello,

I've modified the basiliskII-jit-1.0_pre20060501-r1.ebuild to fetch sources from Git - it looks like they're still maintained. Only additional file required is sys_unix.cpp.patch. For this version of BasiliskII to work is required to add following to /etc/sysctl.conf:
vm.mmap_min_addr = 0
After that Basilisk works like a charm. Another thing is that no more Gnome librarys are required for GTK2 interface to work - ebuild was altered to include that change as well.
You can find modified ebuild above: basiliskII-jit-9999.ebuild
Comment 13 Thomas Capricelli 2014-11-14 15:40:53 UTC
Tested the jit-9999.ebuild today on a fairly standard ~amd64 gentoo box


USE=jit will fail with :
--------------------------------------------------------
checking whether linker script is usable... yes
checking for the addressing mode to use... 
configure: WARNING: Sorry, no suitable addressing mode in real
configure: error: Sorry, the JIT Compiler requires Direct Addressing, at least
make: *** No targets specified and no makefile found.  Stop.
emake failed
--------------------------------------------------------

USE=-jit will emerge/install fine.
Comment 14 Thomas Capricelli 2016-08-30 19:21:15 UTC
I can confirm the last bug using the 9999 ebuild attached. The reason is that (at least on amd64) the jit option is not compatible with the real mode adressing.

The fix is to remove --enable-addressing=real in the configure line. Then everything goes well.
Comment 15 Thomas Capricelli 2021-08-03 20:55:25 UTC
The ebuilds are now too old and refused by emerge:
 *   flag-o-matic.eclass: EAPI  is too old.