Login  •  Register


The time is now: Sat Sep 21, 2019 8:06 pm

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 1 of 1 [ 13 posts ]
Print view Previous topic  |  Next topic
Author Message
PostPosted: Mon Apr 12, 2010 8:40 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4675
Location: Sittard, The Netherlands
Hi,

Running AppleShare IP 6.3 (file server, webserver, mail server etc) in SheepShaver for Windows or OSX always results in the file and web service not starting up. This seems to be caused by the limited number of timer descriptors available. The source code for SheepShaver (src/timer.cpp) can be fixed to solve this.

Change line 59 to read:
const int NUM_DESCS = 128;

This allows building a newer version of SheepShaver for Windows, and allows running AppleShare IP Server on SheepShaver for Windows.

This fix DOESN'T work for OSX! Perhaps someone can take a look at why increasing the number for available descriptors doesn't pass the OSX compiler? There is also at least one other error on the OSX side that has to do with a redefinition in sysdeps.h

For the time being: here is an updated sheepshaver.exe for those trying to run the apple server software: http://www.open.ou.nl/hsp/downloads/She ... 4_2010.zip


Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Wed May 05, 2010 12:31 am 
Offline
Granny Smith

Joined: Mon Dec 25, 2006 4:09 am
Posts: 109
I've changed the timer code to use a linked list, so you should no longer need to increase the limit now.


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Wed May 05, 2010 7:32 am 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4675
Location: Sittard, The Netherlands
Hi,

Thanks for that quick fix. It works.
Did you have a chance to look at the redefinition error when compiling on OSX?

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Fri May 07, 2010 12:20 am 
Offline
Granny Smith

Joined: Mon Dec 25, 2006 4:09 am
Posts: 109
I don't get that error. What version of OS X are you trying to compile with?


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Fri May 07, 2010 8:19 am 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4675
Location: Sittard, The Netherlands
Hi,

Thanks for getting back on this. I compile on 10.6.3 with the latest Xcode installed. (My earlier version of Xcode also showed this error.)

g++ -I../MacOSX/Launcher -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/Users/hsp/cvs/SDL-1.2.14/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -mdynamic-no-pic -c ../MacOSX/prefs_macosx.mm -o obj/prefs_macosx.o
In file included from /System/Library/Frameworks/Security.framework/Headers/Security.h:24,
from /System/Library/Frameworks/Foundation.framework/Headers/NSURLCredential.h:14,
from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:79,
from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
from ../MacOSX/prefs_macosx.mm:27:
/System/Library/Frameworks/Security.framework/Headers/cssmconfig.h:53: error: conflicting declaration ‘typedef uint64_t uint64’
./sysdeps.h:152: error: ‘uint64’ has a previous declaration as ‘typedef long unsigned int uint64’
make: *** [obj/prefs_macosx.o] Error 1
g++ -I../MacOSX/Launcher -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/Users/hsp/cvs/SDL-1.2.14/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -mdynamic-no-pic -c ../MacOSX/prefs_macosx.mm -o obj/prefs_macosx.o
In file included from /System/Library/Frameworks/Security.framework/Headers/Security.h:24,
from /System/Library/Frameworks/Foundation.framework/Headers/NSURLCredential.h:14,
from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:79,
from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12,
from ../MacOSX/prefs_macosx.mm:27:
/System/Library/Frameworks/Security.framework/Headers/cssmconfig.h:53: error: conflicting declaration ‘typedef uint64_t uint64’
./sysdeps.h:152: error: ‘uint64’ has a previous declaration as ‘typedef long unsigned int uint64’
make: *** [obj/prefs_macosx.o] Error 1

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Sat May 08, 2010 1:27 pm 
Offline
Expert User
User avatar

Joined: Thu Feb 09, 2006 10:24 pm
Posts: 5550
Location: Amsterdam, Netherlands
I have not been able to build a working SheepShaver application since November last year. I tried a couple of times, but I did not have the time to investigate what went wrong and decided to look again at it later. Already before that, I would get all sorts of errors unless I built against 10.4 SDK. However, trying to do that now from the current source, the resulting application does not run:
Quote:
08-05-10 13:32:55 [0x0-0x32032].SheepShaver[43264] SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
08-05-10 13:32:55 [0x0-0x32032].SheepShaver[43264] ERROR: Cannot map Low Memory Globals: Cannot allocate memory.


(MacOSX 10.5.8 and XCode 3.1.3 on Intel)


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Sat May 08, 2010 6:33 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4675
Location: Sittard, The Netherlands
Yes,

That's funny: I just tried on 10.5.8 Intel and could build and run successfully...

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Sat May 08, 2010 8:57 pm 
Offline
Expert User
User avatar

Joined: Thu Feb 09, 2006 10:24 pm
Posts: 5550
Location: Amsterdam, Netherlands
Well, apparently my problem is related to the SDL version used.

Building with SDL 1.2.13 results in a working application, albeit with software cursor only. I used to build with SDL 1.2.10 because with that version the resulting application would use the hardware cursor (hardware cursor when possible and software cursor only when needed) as implemented by kelvin31415. I also tried SDL 1.2.14, because last november chombier built a version with (a patched) SDL 1.2.14 that also used the hardware cursor. See: http://www.emaculation.com/forum/viewtopic.php?t=5956

SDL 1.2.10 needs to be build against 10.4 SDK. If I build, as I used to, either SDL 1.2.10 or SDL 1.2.14 and after that SheepShaver against 10.4 SDK, I get an application that quits on launch with the error I posted above.

Could it be that something in the source broke the hardware cursor?

If I build SDL 1.2.14 in OSX 10.5.8 and XCode 3.1.3 the simple way (not against a different SDK), the resulting application produces a different error when it quits on launch:
Code:
08-05-10 22:35:57 [0x0-0x86086].SheepShaver[12124] ### No appropriate blitter found
08-05-10 22:35:57 [0x0-0x86086].SheepShaver[12124]  R/G/B mask values  : 0x00ff00, 0xff0000, 0xff000000 (depth = 32)
08-05-10 22:35:57 [0x0-0x86086].SheepShaver[12124]  R/G/B shift values : 8/16/24
08-05-10 22:35:57 [0x0-0x86086].SheepShaver[12124] SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
08-05-10 22:35:57 [0x0-0x86086].SheepShaver[12124] Reading ROM file...
08-05-10 22:35:57 [0x0-0x86086].SheepShaver[12124] Using SDL/coreaudio audio output
08-05-10 22:35:59 com.apple.launchd[93] ([0x0-0x86086].SheepShaver[12124]) Exited abnormally: Abort trap


Building SheepShaver with SDL 1.2.13 works OK, but the result is a SheepShaver with only the software cursor, which moves not as smoothly as the hardware cursor, especially on slower machines.

BTW: SDL 1.2.14 should make it possible to use Quartz instead of the depreciated QuickDraw.

Edit: Sorry for hijacking the topic. :oops:


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Sun May 09, 2010 4:21 pm 
Offline
Expert User
User avatar

Joined: Thu Feb 09, 2006 10:24 pm
Posts: 5550
Location: Amsterdam, Netherlands
Well, I tried to build a UB version. Very frustrating. I do not succeed anymore in building for 10.4 as I still could in november last year on this Intel machine and on my PowerBook G4, both with 10.5.8 and XCode 3.1.3. I can only build straightforward for 10.5 (and later). I can only use SDL 1.2.13 and thus cannot build an application that uses the hardware cursor. I can make a working PPC version on my PowerBook (and combine it with the Intel version to be a UB), but because of the software cursor, it is hardly useable on a PPC machine.

In November 'chombier' built in MacOSX 10.6 on Intel a SheepShaver UB (with SDL 1.2.14 framework, not sdl static) that runs on both PPC and Intel in Tiger and Leopard in 32-bit, and on Intel in Snow Leopard in 64-bit, AND that uses the hardware cursor. He wrote that he "activated" the hardware cursor with SDL 1.2.14. I wonder how he did that.

According to the documentation, SDL 1.2.14 framework is compatible with 10.4 and later. I tried building SheepShaver with sdl-framework enabled and copying the framework into SheepShaver/Contents/Frameworks/, but it does not run, giving the error I reported above.

Of course I cannot build in 10.5 for Snow Leopard 64-bit, but I think that I should be able to do build a UB version for 10.4 and later with hardware cursor. Either some things are broken in the source or I am doing things wrong. Whatever it is, the way I did it before does not work anymore.

Edit: I asked chombier in a PM for additional information about the patches he used to make SheepShaver (and the hardware cursor) work with SDL 1.2.14.


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Wed Jun 02, 2010 3:42 pm 
Offline
Tinkerer

Joined: Thu Feb 18, 2010 10:09 pm
Posts: 63
Can you tell me what commands you used to build SheepShaver on Leopard with SDL 1.2.14?


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Wed Jun 02, 2010 8:48 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4675
Location: Sittard, The Netherlands
Open a terminal window

Download the SDL 1.2.14 source, the BasiliskII and SheepShaver source (all into the same folder)

Go into the SDL-1.2.14 folder, execute the following commands:
./autogen.sh
./configure --disable-shared --prefix=`pwd`
make
make install
PATH=`pwd`/bin:$PATH
export PATH

(this installs SDL into it's own folder and sets the path to sdl-config, which is needed for building SheepShaver (and BasiliskII)
Stay in the same terminal window.

Go into the SheepShaver folder, execute the following command:
make links
Go into the /src/Unix folder, execute the following commands:
NO_CONFIGURE=1 ./autogen.sh
./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --without-gtk
make
make SheepShaver_app

That should do it for building on (snow)leopard.
If you want to build with another version of SDL, just follow the steps in the beginning but download the source into another folder and use that other folder in the commands.

Best,
Cat_7


Last edited by Cat_7 on Thu Jun 03, 2010 5:59 am, edited 1 time in total.


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Wed Jun 02, 2010 9:40 pm 
Offline
Expert User
User avatar

Joined: Thu Feb 09, 2006 10:24 pm
Posts: 5550
Location: Amsterdam, Netherlands
Jean Pierre Chombier did not answer my PM asking for more detailed explanations regarding certain issues with using SDL 1.2.14 for building SheepShaver for MacOSX.

1. Memory leak with SheepShaver for which SDL 1.2.14 must be patched
http://bugzilla.libsdl.org/show_bug.cgi?id=870
(I do not fully understand the description of the patch. What else needs to be changed besides adding three lines to /src/video/quartz/SDL_QuartzVideo.m ?)

2. Needed addition to the Screen_blitters table in BasiliskII/src/Unix/video_blit.cpp
(Without this patch SheepShaver with SDL 1.2.14 will crash)
http://www.emaculation.com/forum/viewto ... 1804#31804
(Should the additional Screen_blit_func_info be added to the first table (after #ifdef) or to the second table (after #else) or to both?)

3. How to activate the 'hardware cursor' in SheepShaver with SDL 1.2.14
(Before SDL 1.2.14, a SheepShaver with hardware cursor could only be built with SDL 1.2.10)
http://www.emaculation.com/forum/viewto ... 1800#31800
(Apparently the hardware cursor can be activated for SDL 1.2.14, but how does one do that?)


Top
 Profile  
Reply with quote Post a reply  
 Post subject:
PostPosted: Thu Jun 03, 2010 8:54 am 
Offline
Tinkerer

Joined: Thu Feb 18, 2010 10:09 pm
Posts: 63
Can't seem to get it working
It gives me Cannot map low memory globals message (which I thought was fixed for os x)

The worst thing is that I managed to build a running version a month or so ago, but cannot recall how :(
Got then to point when I needed to apply the 2 patch to get it running


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 1 of 1 [ 13 posts ]


Who is online

Users browsing this forum: No registered users and 14 guests


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
 

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group