Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
e-uae what should be avoided?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
k9dog
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jun 2009
Posts: 103
Location: Denmark

PostPosted: Thu Oct 18, 2018 8:47 pm    Post subject: e-uae what should be avoided? Reply with quote

Emulation. Amiga. Windows based emulator failing in recent enviroments from the looks. I tried with various gcc and with python 2.7 and 3.6. Various results.

Anyone got any idea what best enviroment to compile this? e-uae seems to be the prefered choice for many platforms, including PPC Amigas. Getting this Windows redeveloped bugger running is not without some bumps.

A bit of what seems to be stopping the build (gcc 7.3, python 2.7). I've tried other gcc versions as well

Code:
compemu_raw_x86.c: In function ‘handle_access’:
compemu_raw_x86.c:2199:60: error: dereferencing pointer to incomplete type ‘struct ucontext’
 #define CONTEXT_EIP(context)  (((struct ucontext *)context)->uc_mcontext.gregs[REG_EIP])
                                                            ^
compemu_raw_x86.c:2217:32: note: in expansion of macro ‘CONTEXT_EIP’
     uae_u8  *i    = (uae_u8 *) CONTEXT_EIP (context);
                                ^~~~~~~~~~~
compemu_raw_x86.c: At top level:
compemu_raw_x86.c:2472:37: warning: ‘struct siginfo’ declared inside parameter list will not be visible outside of this definition or declaration
 static void vec (int signum, struct siginfo *info, void *context)
                                     ^~~~~~~
compemu_raw_x86.c: In function ‘vec’:
compemu_raw_x86.c:2199:60: error: dereferencing pointer to incomplete type ‘struct ucontext’
 #define CONTEXT_EIP(context)  (((struct ucontext *)context)->uc_mcontext.gregs[REG_EIP])
                                                            ^
compemu_raw_x86.c:2474:32: note: in expansion of macro ‘CONTEXT_EIP’
     uae_u8  *i    = (uae_u8 *) CONTEXT_EIP (context);
                                ^~~~~~~~~~~
compemu_support.c: In function ‘build_comp’:
compemu_support.c:5588:19: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
  act.sa_sigaction = vec;
                   ^


This is only part of the build.log, and from what I can see where error occur. If you want I can try to pastebin some more details. At this point I'm not asking for anyone to do any in depth debugging, just if there is any known work-arounds, maybe different overlays. The ebuild seems to be very alone. The original uae builds. X11 is disliked, but using SDL.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21489

PostPosted: Fri Oct 19, 2018 1:49 am    Post subject: Reply with quote

According to the glibc wiki page for release 2.26, the name struct ucontext is no longer available. Use ucontext_t instead.
Back to top
View user's profile Send private message
k9dog
Tux's lil' helper
Tux's lil' helper


Joined: 22 Jun 2009
Posts: 103
Location: Denmark

PostPosted: Fri Oct 19, 2018 11:37 am    Post subject: Reply with quote

Hu wrote:
According to the glibc wiki page for release 2.26, the name struct ucontext is no longer available. Use ucontext_t instead.


This answers it fully. I'm running glibc 2.27, which also got problems elseswhere (like lazarus).

Patched the source in a user directory (just from distributed source). Installed with make install as root. Fixing all occurences of "struct ucontext" with "ucontext_t" was truely all it took. All located in 1 file src/compemu_raw_x86.c.

Knowing what we need to fix in the source, I might make a patchfile or contact the author if he is still around. Making fix official would of course require an ifdef/else so fix is applied dependent of which model is used to build. (Imagine that.. We need to support old code)

Contacted author according to readme. Linked to this page. If he/she/they already knows, he/she/they can ignore, if not it should point them to the problem and a solution. I don't want anyone to use more time than needed. Easily fixed, but you need to know.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21489

PostPosted: Fri Oct 19, 2018 10:41 pm    Post subject: Reply with quote

You should never make install as root.

Fixing this is actually easier than you thought. Older glibc defines both names, so you can unconditionally switch to the name ucontext_t. I checked the headers of a system backup from glibc-2.25 to confirm. I don't have anything older still readily accessible.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
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