Summary: | games-emulation/dolphin-9999 fails to build when net-libs/enet:1.3 is installed | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Samuel Bauer <samuel.bauer> |
Component: | [OLD] Games | Assignee: | Devan Franchini (RETIRED) <twitch153> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Can you try re-emerging it? I just tried replicating it myself and I wasn't able too with enet-1.3.12 installed. Thank you :) In reply to comment #1 As build.log remain unchanged when emerging again I tripled checked this wget http://enet.bespin.org/download/enet-1.3.6.tar.gz wget http://enet.bespin.org/download/enet-1.3.12.tar.gz tar -zxvf enet-1.3.6.tar.gz grep enet_socket_get_address enet-1.3.6/include/enet/* tar -zxvf enet-1.3.12.tar.gz grep enet_socket_get_address enet-1.3.12/include/enet/* enet-1.3.12/include/enet/enet.h:ENET_API int enet_socket_get_address (ENetSocket, ENetAddress *); as 1.3.7, is installed here, checked like grep enet_socket_get_address /usr/include/enet/* So, affected version (in the current portage tree) seems only to be enet-1.3.6 and enet-1.3.7, those version doesn't declare enet_socket_get_address. Maybe is it time to ask stabilisation for enet-1.3.12. Thanks for your interest in this bug. It's obviously not an upstream bug as I thought, but related to enet dolphin should depends on || ( <net-libs/enet-1.3.6 >net-libs/enet-1.3.7 !net-libs/enet ) It would then depend on API compatible version of enet, or the shipped one linked statically. Thank you for looking into this as well. It seems the issue lies with the build env, which looks to see if a local version of enet is installed and passes their required tests and if it does then it won't fall back on the pre-built version. However, since both yourself and me seem to be able to test this with our locally installed versions of enet (and fail if we have the incorrect version) then the build env must not have proper testing for enet. Because of this I guess I should just remove the preservation of the bundled enet libs and just add the check to ensure it's pulling in the enet dependency correctly. I'll do some testing and it should be updated within a bit. Also, giving a look at the ebuild you'll see that we remove all bundled libs as much as possible when we can. Thanks for the work on removing bundled libraries Other todo about dolphin ebuild: 1/ git version now complains about <gcc-4.9 (builds fine with gcc-4.9.2) 2/ there's now a ENABLE_LTO option in the build system (add masked useflag ???) (In reply to Samuel BAUER from comment #6) > Thanks for the work on removing bundled libraries > > Other todo about dolphin ebuild: > 1/ git version now complains about <gcc-4.9 (builds fine with gcc-4.9.2) > 2/ there's now a ENABLE_LTO option in the build system (add masked useflag > ???) No worries about the gcc version requirements, I caught that yesterday too and fixed it. That should be okay with a sync now. And I'll check the ENABLE_LTO some time this upcoming week. |
Created attachment 404342 [details] build.log From CMakeList.txt: if (ENET_FOUND) message("Using shared enet") else() message("Using static enet from Externals") include_directories(Externals/enet/include) add_subdirectory(Externals/enet) endif() leads to compile time failure: 'enet_socket_get_address' was not declared in this scope whith net-libs/enet:1.3 installed here, grep enet_socket_get_address /usr/include/enet/*, returns nothing The ebuild should check whether enet:1.3 is installed, and when it is use shipped enet version. As enet:1.3 is installed here I checked it would compile fine using: sed -i -e 's/ENET_FOUND/APPLE AND NOT APPLE/' CMakeLists.txt || die appended at the end of src_prepare, and it does. Rather seems an upstream bug, but could be fixed within the ebuild