Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 158416
Alias:
Product:
Component:
Status: NEW
Resolution:
Assigned To: Peter Volkov <pva@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Christian Authmann <christian@authmann.de>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 158416 depends on: Show dependency tree
Bug 158416 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.








View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2006-12-17 17:00 0000
app-emulation/e-uae can use games-emulation/caps to load .idf disk files.

unfortunately, there is only a binary release for caps, containing .so's for
i686 and ppc, but not for amd64. This leaves two bugs:

- games-emulation/caps will install the 32bit-library to /usr/lib and a symlink
to /usr/lib64 instead of both to /usr/lib32. Despite being in amd64 stable,
there is no mention during install of it being 32 bit only, so it appears to be
a valid 64 bit library. It's not.

- app-emulation/e-uae will give a generic error message when failing to
dlopen() the library, without including the dlerror() call. load_capslib() in
capc/caps.c could use some better error handling, but that's for upstream to
do.
for gentoo, compilation should abort on amd64 when the capslib use flag is set,
explaining why.
an option to compile e-uae as a 32bit application would be perfect, either by a
second ebuild or a use flag. Emulating a 32 bit cpu shouldn't need 64 bits
anyway :)


it took me a couple of hours to trace the reason why e-uae wouldn't load my
.idf images, including manually compiling e-uae from source and writing a small
capslib test app which used dlopen(). I doubt the average user could find the
problem on his own, so at least a warning message is needed.

------- Comment #1 From Simon Stelling (RETIRED) 2007-02-04 18:39:50 0000 -------
providing the same package in different bitnesses would mess up the dependency
tree, the only option for now is to mask the capslib use flag, which is done
now. also, caps now installs its lib into /usr/lib32

------- Comment #2 From Christian Authmann 2008-03-15 11:10:09 0000 -------
the situation has changed. softpres.org released a 64-bit-version of capslib
last november.

so the new fix would be to:

- update games-emulation/caps to include the 64bit-version. I'd attach a patch,
but since it's a binary release the changes to the ebuild are quite trivial.

- re-enable the capslib USE flag on e-uae.

------- Comment #3 From Tupone Alfredo 2008-10-27 20:50:30 0000 -------
The new version of games-emulation/caps is in portage, and it includes a native
amd64 library.

Done by games team, as pva is away, without an extensive testing.
Please test it, maybe with e-uae, and report.

Thanks

------- Comment #4 From Jonathan Heaney 2008-10-28 00:56:55 0000 -------
20071115 fails to install here on ~x86.

>>> Emerging (1 of 1) games-emulation/caps-20071115
 * ipfdevlib_linux-20060612.tgz RMD160 SHA1 SHA256 size ;-) ...          [ ok ]
 * ipflib_linux-i686-20071115.tgz RMD160 SHA1 SHA256 size ;-) ...        [ ok ]
 * config_uae_ocs13_512c-512s.zip RMD160 SHA1 SHA256 size ;-) ...        [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...                                                        
>>> Unpacking ipfdevlib_linux-20060612.tgz to /var/tmp/portage/games-emulation/caps-20071115/work                                                               
>>> Unpacking ipflib_linux-i686-20071115.tgz to /var/tmp/portage/games-emulation/caps-20071115/work                                                             
>>> Unpacking config_uae_ocs13_512c-512s.zip to /var/tmp/portage/games-emulation/caps-20071115/work                                                             
>>> Source unpacked.                                                            
>>> Compiling source in /var/tmp/portage/games-emulation/caps-20071115/work ... 
>>> Source compiled.                                                            
>>> Test phase [not enabled]: games-emulation/caps-20071115                     

>>> Install caps-20071115 into /var/tmp/portage/games-emulation/caps-20071115/image/ category games-emulation                                                   
!!! dolib: ipflib_linux-i686/libcapsimage.so.2.3 does not exist                 
 *                                                                              
 * ERROR: games-emulation/caps-20071115 failed.                                 
 * Call stack:                                                                  
 * ebuild.sh, line   49:  Called src_install                                    
 * environment, line 2074:  Called die                                          
 * The specific snippet of code:                                                
 * dolib.so ipflib_linux-${myArch}/libcapsimage.so.2.3 || die;                  
 * The die message:                                                             
 * (no error message)
 *
 * If you need support, post the topmost build error, and the call stack if
relevant.
 * A complete build log is located at
'/var/tmp/portage/games-emulation/caps-20071115/temp/build.log'.
 * The ebuild environment file is located at
'/var/tmp/portage/games-emulation/caps-20071115/temp/environment'.
 *

>>> Failed to emerge games-emulation/caps-20071115, Log file:

>>>  '/var/tmp/portage/games-emulation/caps-20071115/temp/build.log'

 * Messages for package games-emulation/caps-20071115:

 *
 * ERROR: games-emulation/caps-20071115 failed.
 * Call stack:
 * ebuild.sh, line   49:  Called src_install
 * environment, line 2074:  Called die
 * The specific snippet of code:
 * dolib.so ipflib_linux-${myArch}/libcapsimage.so.2.3 || die;
 * The die message:
 * (no error message)
 *
 * If you need support, post the topmost build error, and the call stack if
relevant.
 * A complete build log is located at
'/var/tmp/portage/games-emulation/caps-20071115/temp/build.log'.
 * The ebuild environment file is located at
'/var/tmp/portage/games-emulation/caps-20071115/temp/environment'.

------- Comment #5 From Jonathan Heaney 2008-10-28 01:27:59 0000 -------
Seems the file is libcapsimage.so.2.0, not libcapsimage.so.2.3

------- Comment #6 From Tupone Alfredo 2008-10-28 05:52:48 0000 -------
(In reply to comment #5)
> Seems the file is libcapsimage.so.2.0, not libcapsimage.so.2.3
> 

Well, yes, I tested it on amd64. 
It seems that the library in the ppc and x86 tgz are the same as the old
versions. So, I'm using now the old tgz for those. 
Thanks

------- Comment #7 From Christian Authmann 2008-10-28 12:14:25 0000 -------
installing the new capslib-ebuild on amd64 works fine.
I re-enabled the capslib use flag on e-uae, it compiled fine.

However, when attempting to run a game with .idf disk files, e-uae exits with
this error:

[..]
X11GFX: Enabling raw key-mapping.
CAPS: library version 2.3
e-uae: symbol lookup error: /usr/lib/libcapsimage.so.2: undefined symbol: _Znwm

uae didn't mind the images, but displayed the "insert workbench disk" screen.
Does the original uae even have capslib support?

I don't know if e-uae or capslib is at fault. I'm currently ill and unable to
think straight, thus I can't investigate further for now. sorry.

------- Comment #8 From Tupone Alfredo 2008-10-28 21:21:20 0000 -------
(In reply to comment #7)
> installing the new capslib-ebuild on amd64 works fine.
> I re-enabled the capslib use flag on e-uae, it compiled fine.
> 
> However, when attempting to run a game with .idf disk files, e-uae exits with
> this error:
> 
> [..]
> X11GFX: Enabling raw key-mapping.
> CAPS: library version 2.3
> e-uae: symbol lookup error: /usr/lib/libcapsimage.so.2: undefined symbol: _Znwm
My guess is that the linking of e-uae should be done with g++ instead of gcc,
so to include specific c++ library.

------- Comment #9 From Jeremy Olexa (darkside) 2008-12-08 00:55:35 0000 -------
pva: You are the maintainer of both app-emulation/e-uae & games-emulation/caps
- I can't tell what the problem is there. Please determine what you request of
the amd64 team and add us back to CC, if needed.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug