stefan-gr / abendbrot

Desktop oriented overlay for various ebuilds and the occasional gamer
19 stars 13 forks source link

games-emulation/dolphin-libretro-1.0_pre20160807 does not compile #66

Closed Neo2003 closed 7 years ago

Neo2003 commented 7 years ago

I am using a fresh gentoo x64 on an i3 cpu

Here is the output

x86_64-pc-linux-gnu-g++ -march=native -pipe -std=c++11 -O3 -DNDEBUG  -D__LIBRETRO__ -DINLINE="inline" -DBAKE_IN_GIT -DFSML_STATIC -I../Source -I../Source/Core -I../Source/Core/VideoCommon -I../Source/Core/Common -I../Source/../libretro -I../Externals/GL -I../Externals/libpng -I../Externals/SOIL -I../Externals/zlib -I../Externals/Bochs_disasm -I../Externals/polarssl/include -I../Externals/SFML/include -I../Externals/SFML/src -I../Externals/LZO -I../Externals/xxhash   -fPIC  -msse -msse2 -D_M_X86 -D_M_X86_64 -D_ARCH_64 -DHAVE_OPENGL   -c ../Source/Core/Common/IniFile.cpp -o ../Source/Core/Common/IniFile.o
../Source/Core/Common/Hash.cpp: In function ‘u64 GetCRC32(const u8*, u32, u32)’:
../Source/Core/Common/Hash.cpp:259:29: erreur: ‘memcpy’ was not declared in this scope
   memcpy(&temp, end, len & 7);
                             ^
make: *** [Makefile:284: ../Source/Core/Common/Hash.o] Error 1

My configuration:

Portage 2.3.3 (python 3.4.5-final-0, default/linux/amd64/13.0, gcc-4.9.4, glibc-2.23-r3, 4.9.16-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.9.16-gentoo-x86_64-Intel-R-_Core-TM-_i3-4010U_CPU_@_1.70GHz-with-gentoo-2.3
KiB Mem:     3942056 total,   1884128 free
Timestamp of repository gentoo: Sat, 15 Apr 2017 14:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.1-r1::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.23.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.15::gentoo
sys-devel/binutils:       2.26.1::gentoo
sys-devel/gcc:            4.9.4::gentoo, 5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

abendbrot
    location: /var/lib/layman/abendbrot
    sync-type: laymansync
    sync-uri: https://github.com/stefan-gr/abendbrot.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.mirrors.ovh.net/gentoo-distfiles/ http://mirror.switch.ch/ftp/mirror/gentoo/"
LANG="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="7zip X acl alsa amd64 berkdb bindist bzip2 clang cli cracklib crypt cxx dri egl fortran gdbm glamor iconv jpeg kms libusb modules multilib ncurses network nls nptl opengl openmp pam pcre png python readline seccomp session ssl sync-plugin-portage tcpd udev unicode vulkan xattr xkb zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="fr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

I also tried dolphin-libretro-1.0_pre20161211 but it does not link :(

stefan-gr commented 7 years ago

Oh, it seems like things changed dramatically in the last few months. I can't build any version at the moment and the latest commit is already on cmake. I will adapt the ebuilds and see how that works out, it can take some time since I'm still at work. Please don't get your hopes up for a working dolphin core even if it builds. Though the repo did get some love recently but it didn't work at all the last time I tried this core. That's also why it isn't pulled by default with libretro-meta. I forgot to properly keyword the builds, sorry.

stefan-gr commented 7 years ago

It should build OK now. I can not test the vulkan backend but opengl results in black screen with good audio and software works and is unplayable slow. looks like it will become usable this year 😄

Neo2003 commented 7 years ago

Hello and many thanks for this work. It still does not compile but now for a known reason (std::align missing in default gentoo GCC 4.9.4):

../Core/PowerPC/Jit64Common/ConstantPool.cpp: In member function ‘const void* ConstantPool::GetConstant(const void*, size_t, size_t, size_t)’:
../Core/PowerPC/Jit64Common/ConstantPool.cpp:47:17: erreur: ‘align’ is not a member of ‘std’
     void* ptr = std::align(ALIGNMENT, value_size, m_current_ptr, m_remaining_size);
                 ^
make: *** [rules/libretro.mk:147: ../Core/PowerPC/Jit64Common/ConstantPool.o] Error 1

keywording gcc 5.4.0_r3, emerging it, then reverting the keywording allow to have a 2nd compiler not erased by emerge --depclean. I switched to this 5.4.0 just to emerge dolphin and it compiles fine.

It results in black screen in opengl and refuses to start with Vulkan because I have a graphic card that does not support it fully (Intel HD4000).

Let' hope it become usable this year yes :)

stefan-gr commented 7 years ago

Oh, then I should add some gcc checks. It seems more and more software requires gcc above 5. Thanks for checking things out.