stefan-gr / abendbrot

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

ppsspp-libretro-1.0_pre20180317-r1 build failure #107

Open ghost opened 6 years ago

ghost commented 6 years ago

Hello, trying to build this package gives me

git update-ref --no-deref refs/git-r3/games-emulation/ppsspp-libretro/0/__main__ dbbe316c5617a4608dcab4a568fb090b207aa21a
fatal: update_ref failed for ref 'refs/git-r3/games-emulation/ppsspp-libretro/0/__main__': cannot update ref 'refs/git-r3/games-emulation/ppsspp-libretro/0/__main__': trying to write ref 'refs/git-r3/games-emulation/ppsspp-libretro/0/__main__' with nonexistent object dbbe316c5617a4608dcab4a568fb090b207aa21a

I have no idea of what it means.

stefan-gr commented 6 years ago

ppsspp-libretro seems to have been rebased a few days ago. That means that the src users downloaded before that time are incompatible with current upstream. Please delete ${DISTDIR}/git3-src as root, normally like this rm -rf /usr/portage/distfiles/git3-src.

I bumped the ebuild just in case there are still missing refs at the old commit.

ghost commented 6 years ago

Now it fetches, but compilation fails with

../ext/native/ext/cityhash/city.cpp: In function ‘void CityHashCrc256Long(const char*, size_t, uint32, uint64*)’:
../ext/native/ext/cityhash/city.cpp:562:31: error: ‘_mm_crc32_u64’ was not declared in this scope
     z = _mm_crc32_u64(z, b + g);                \
                               ^
../ext/native/ext/cityhash/city.cpp:569:5: note: in expansion of macro ‘CHUNK’
     CHUNK(0); PERMUTE3(a, h, c);
     ^~~~~
../ext/native/ext/cityhash/city.cpp:562:31: error: ‘_mm_crc32_u64’ was not declared in this scope
     z = _mm_crc32_u64(z, b + g);                \
                               ^
../ext/native/ext/cityhash/city.cpp:578:5: note: in expansion of macro ‘CHUNK’
     CHUNK(29);
     ^~~~~
../ext/native/ext/cityhash/city.cpp:562:31: error: ‘_mm_crc32_u64’ was not declared in this scope
     z = _mm_crc32_u64(z, b + g);                \
                               ^
../ext/native/ext/cityhash/city.cpp:588:5: note: in expansion of macro ‘CHUNK’
     CHUNK(33);
     ^~~~~
make: *** [Makefile:438: ../ext/native/ext/cityhash/city.o] Error 1
stefan-gr commented 6 years ago

Yeah, a fix is already commited to original upstream but didn't land on libretro yet. I hope I chose a commit that works for now.

ghost commented 6 years ago

New ebuild didn't change a thing. I deleted ${DISTDIR}/git3-src too, to be sure.

stefan-gr commented 6 years ago

This one includes the fix I was talking about.

crocket commented 6 years ago
In file included from ../ffmpeg/libavutil/common.h:45:0,
                 from ../ffmpeg/libavutil/avutil.h:288,
                 from ../ffmpeg/libavutil/samplefmt.h:24,
                 from ../ffmpeg/libavcodec/avcodec.h:31,
                 from ../Core/AVIDump.cpp:18:
/usr/include/libavutil/avconfig.h:13:3: error: #error "abi_x86_32 not supported by the package."
 # error

make: *** [Makefile:438: ../Core/AVIDump.o] Error 1
make: *** Waiting for unfinished jobs....
 * ERROR: games-emulation/ppsspp-libretro-1.0_pre20180328::abendbrot failed (compile phase):
 *   emake failed
crocket commented 6 years ago

Perhaps, you need to package v1.5.4 from https://github.com/libretro/ppsspp/releases

stefan-gr commented 6 years ago

I took a peek into the Makefile and noticed that the sed lines aren't needed anymore and had the potential to break building. I think that was responsible for this.

The releases are from upstream ppsspp and don't include libretro.

crocket commented 6 years ago

games-emulation/ppsspp-libretro-1.0_pre20180328 can be built, but there should be protections against git repository rebase which happens often.

stefan-gr commented 6 years ago

In the past I caught these things almost as soon as they happened because I used to sync everyday and used smart-live-rebuild to be up-to-date upstream. But it's true that it is bothersome that upstream changes their underwear so often.

The most reliable way is to host the non-9999 sources somewhere save and fetch them from there.

Perhaps we could use github in some way to deliver them, I think I can upload binary files when making a tag release and edit it according to version bumps. Well, that will have to wait until I have gentoo again so that I can get all needed tarballs to calculate if github would be able to host them.