Login  •  Register


The time is now: Tue Feb 20, 2018 5:29 pm

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 10 of 10 [ 235 posts ]    Go to page Previous  1 ... 6, 7, 8, 9, 10
Print view Previous topic  |  Next topic
Author Message
PostPosted: Sun Dec 10, 2017 6:24 pm 
Offline
Expert User
User avatar

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

This has something to do with a test during configure, not your virtualisation settings. I seem to remember it is related to gnome development libs (or something that is installed alongside those). But I don't know which is the magic combination.
I've given up on finding out ;-)

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Dec 11, 2017 2:55 am 
Offline
Student Driver

Joined: Thu Nov 09, 2017 12:06 pm
Posts: 18
Actually, I get the same error while building current cebix/macemu code.
The VM error occurs if configure can't find vm_alloc.cpp.
Similarly, "Windows exceptions" error occurs if sigsegv.cpp is not found.
Confirm two files are exist at the directory written in configure file.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Mon Dec 11, 2017 2:02 pm 
Offline
Forum All-Star

Joined: Tue Oct 14, 2008 12:12 am
Posts: 813
kanjitalk755 wrote:
Actually, I get the same error while building current cebix/macemu code.
The VM error occurs if configure can't find vm_alloc.cpp.
Similarly, "Windows exceptions" error occurs if sigsegv.cpp is not found.
Confirm two files are exist at the directory written in configure file.


Using rakslice's code, I tried copying those two files from src/Windows to src/Unix (to match the paths in the configure file), and I also tried editing the configure file to use the ../Windows instead of ../Unix, but I got the same error message. Clearly I don't know enough to get this right. I hope someone expert can modify the macemu code so that it builds in msys.

One other issue: "make links" produces a number of error messages with rakslice's code and all other code that I tried.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Dec 12, 2017 2:02 am 
Offline
Student Driver

Joined: Thu Nov 09, 2017 12:06 pm
Posts: 18
Did you check out rakslice:windows_build_script branch?
I could build not rakslice:master but rakslice:windows_build_script.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Dec 12, 2017 1:24 pm 
Offline
Expert User
User avatar

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

You can get past the "Sorry, Windows VM functions don't work as expected on your system." and "Sorry, Windows exceptions don't work as expected on your system." errors by creating a file extra.cache with the following content:

ac_cv_have_win32_exceptions=yes
ac_cv_VirtualProtect_works=yes

Then, at configure, add the following parameter: --cache-file=extra.cache

In cygwin (using the mingw compiler) I then use configure like this:
./configure --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --cache-file=extra.cache

This successfully gets you to the end of configure. However, at make some files are not found...

Which can be fixed by adding some links:

ln -s ../CrossPlatform/vm_alloc.cpp vm_alloc.cpp
ln -s ../CrossPlatform/sigsegv.cpp sigsegv.cpp
ln -s ../CrossPlatform/sigsegv.h sigsegv.h
ln -s ../CrossPlatform/video_vosf.h video_vosf.h
ln -s ../CrossPlatform/video_blit.cpp video_blit.cpp
ln -s ../CrossPlatform/video_blit.h video_blit.h

and then:

x86_64-w64-mingw32-g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c ../main.cpp -o obj/main.o
In file included from ../main.cpp:52:0:
../include/debug.h: In function ‘void vwinbug(const char*, va_list)’:
../include/debug.h:41:30: error: ‘lengthof’ was not declared in this scope
_snprintf( msg, lengthof(msg), "B2: %s %s:%03u ", date, hours, tstruct.millitm );
^
../include/debug.h: In function ‘void vwwinbug(const wchar_t*, va_list)’:
../include/debug.h:56:31: error: ‘lengthof’ was not declared in this scope
_snwprintf( msg, lengthof(msg), L"B2: %s %s:%03u ", date, hours, tstruct.millitm );
^
make: *** [Makefile:157: obj/main.o] Error 1


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Dec 12, 2017 4:12 pm 
Offline
Forum All-Star

Joined: Tue Oct 14, 2008 12:12 am
Posts: 813
This really isn't worth anyone's trouble (and kanjitalk755 shouldn't waste his time on my failures), but here's what happened when I tried to follow kanjitalk755's build instructions for rakslice's code in msys.

I have a build of SDL-1.2.15. I downloaded rakslice's macemu-windows_buildscript branch and copied into src. Then I performed these steps:

Quote:
cd src
cd SDL-1.2.15
PATH=`pwd`/bin:$PATH
export PATH
cd ..
cd macemu-windows_build_script
cd SheepShaver
make links
cd src/Windows
ln -s ../Unix/m4
NO_CONFIGURE=1 ../Unix/autogen.sh
## see firstoutput.txt
./configure --with-gtk=no --disable-jit
## delete sysdeps.h, line 28: #define min(x,y) ((x) < (y) ? (x) : (y))
## delete from makefile, line 40, the string "-lpthread"
make
## see secondoutput.text


The messages I got from autogen.sh are these (referred to above as firstoutput.txt):

Quote:
Edward@Edward ~/src/macemu-windows_build_script/SheepShaver/src/Windows
$ NO_CONFIGURE=1 ../Unix/autogen.sh
+ Running aclocal: configure.ac:186: warning: AC_CACHE_VAL(ac_cv_gcc_no_strict_aliasing, ...): suspicious presence of an AC_SUBST in the second argument, where no actions should be taken
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...configure.ac:186: the top level
done.
+ Running autoheader: configure.ac:186: warning: AC_CACHE_VAL(ac_cv_gcc_no_strict_aliasing, ...): suspicious presence of an AC_SUBST in the second argument, where no actions should be taken
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:186: the top level
done.
+ Running autoconf: configure.ac:186: warning: AC_CACHE_VAL(ac_cv_gcc_no_strict_aliasing, ...): suspicious presence of an AC_SUBST in the second argument, where no actions should be taken
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
/mingw/src/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
configure.ac:186: the top level
done.


And the output of make (referred to above as secondoutput.txt) is this:

Quote:
Edward@Edward ~/src/macemu-windows_build_script/SheepShaver/src/Windows
$ make
cp -p ../CrossPlatform/vm_alloc.cpp vm_alloc.cpp
cp -p ../CrossPlatform/vm_alloc.h vm_alloc.h
cp -p ../CrossPlatform/sigsegv.cpp sigsegv.cpp
cp -p ../CrossPlatform/sigsegv.h sigsegv.h
cp -p ../CrossPlatform/video_vosf.h video_vosf.h
cp -p ../CrossPlatform/video_blit.cpp video_blit.cpp
cp -p ../CrossPlatform/video_blit.h video_blit.h
g++ -I../kpx_cpu/include -I../kpx_cpu/src -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -I/home/Edward/src/SDL-1.2.15/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -c ../main.cpp -o obj/main.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -I/home/Edward/src/SDL-1.2.15/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -c main_windows.cpp -o obj/main_windows.o
In file included from main_windows.cpp:46:0:
util_windows.h:66:5: error: 'constexpr' does not name a type
constexpr null_delete() noexcept = default;
^
util_windows.h:66:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11
util_windows.h:67:59: error: expected initializer before 'noexcept'
template <class U> null_delete(const null_delete<U>&) noexcept { }
^
util_windows.h:68:26: error: expected ';' at end of member declaration
void operator ()(T*) const noexcept { }
^
util_windows.h:68:32: error: 'noexcept' does not name a type
void operator ()(T*) const noexcept { }
^
util_windows.h:68:32: note: C++11 'noexcept' only available with -std=c++11 or -std=gnu++11
util_windows.h:71:5: error: 'constexpr' does not name a type
constexpr null_delete() noexcept = default;
^
util_windows.h:71:5: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11
util_windows.h:72:26: error: expected ';' at end of member declaration
void operator ()(T*) const noexcept { }
^
util_windows.h:72:32: error: 'noexcept' does not name a type
void operator ()(T*) const noexcept { }
^
util_windows.h:72:32: note: C++11 'noexcept' only available with -std=c++11 or -std=gnu++11
util_windows.h:73:53: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
template <class U> void operator ()(U*) const = delete;
^
util_windows.h:77:6: error: 'unique_ptr' in namespace 'std' does not name a template type
std::unique_ptr<char[]> str(const wchar_t* s);
^
util_windows.h:78:6: error: 'unique_ptr' in namespace 'std' does not name a template type
std::unique_ptr<wchar_t[]> wstr(const char* s);
^
util_windows.h:80:13: error: 'unique_ptr' in namespace 'std' does not name a template type
inline std::unique_ptr<const char[], null_delete<const char[]>> str(const char* s)
^
util_windows.h:84:13: error: 'unique_ptr' in namespace 'std' does not name a template type
inline std::unique_ptr<const wchar_t[], null_delete<const wchar_t[]>> wstr(const wchar_t* s)
^
make: *** [obj/main_windows.o] Error 1


Again, someone more competent than I am can probably accomplish this, but maybe this will be helpful for future work.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Tue Dec 12, 2017 9:18 pm 
Offline
Student Driver

Joined: Thu Nov 09, 2017 12:06 pm
Posts: 18
You have to add compiler option "-std=gnu++11" in case using old MinGW, latest one doesn't need.
Or, try to build using latest MinGW.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Dec 13, 2017 1:43 am 
Offline
Forum All-Star

Joined: Tue Oct 14, 2008 12:12 am
Posts: 813
kanjitalk755 wrote:
You have to add compiler option "-std=gnu++11" in case using old MinGW, latest one doesn't need.
Or, try to build using latest MinGW.


Thank you for this very impressive information! I will install latest MinGW and try again.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Wed Dec 13, 2017 8:05 pm 
Offline
Forum All-Star

Joined: Tue Oct 14, 2008 12:12 am
Posts: 813
OK, following kanjitalk755's expert and generous advice, I've built rakslice's macemu-windows_build_script fork in Msys under Windows 7. I downloaded and installed a fresh copy of MinGW, added the mingw-developer-toolkit from the MinGW Installation Manager, and then (following the excellent guide on this site), created a directory named "src" in my MinGW\msys\1.0\home\MYUSERNAME\ folder.

As the guide says, I did this: downloaded the source code from: http://www.libsdl.org/release/SDL-1.2.15.zip and extracted the folder inside the Zip to the src directory.

Then I downloaded a ZIP of rakslice's code from https://github.com/rakslice/macemu/tree ... ild_script and extracted the folder inside the Zip to the src directory.

Then, from the Msys prompt, I did this:

Quote:
cd src/SDL-1.2.15
./autogen.sh
./configure --disable-shared
make
make install
## when rebuilding SheepShaver after building SDL, skip the previous steps, but cd to SDL-1.2.15 and perform the next steps:
PATH=`pwd`/bin:$PATH
export PATH
cd ..
cd macemu-windows_build_script
cd SheepShaver
## next step (make links) not needed after first time
make links
cd src/Windows
## next step create symbolic link) not needed after first time
ln -s ../Unix/m4
NO_CONFIGURE=1 ../Unix/autogen.sh
./configure --with-gtk=no --disable-jit
## next step (edit sysdeps.h) not needed after first time
## delete sysdeps.h, line 28: #define min(x,y) ((x) < (y) ? (x) : (y))
## next step needed every time (unless you make matching edit in makefile.in)
## delete from makefile, line 40, the string "-lpthread"
make
strip SheepShaver.exe


and I had a working build, exactly as kanjitalk755 said.

Now, is it possible to do something similar with more up-to-date branches of the macemu code?

Again, thanks to kanjitalk755 for all his help.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Dec 23, 2017 6:24 pm 
Offline
Space Cadet

Joined: Sat Oct 21, 2017 5:52 am
Posts: 2
Hello,
With your last version of SheepShaver CD open but there is a problem of color. Indeed 256 do not correspond any more. While on the previous version no problem with colors but no CD.
Has you he a solution there?
Cordially


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 10 of 10 [ 235 posts ]    Go to page Previous  1 ... 6, 7, 8, 9, 10


Who is online

Users browsing this forum: No registered users and 9 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