Package Details: ucon64 2.2.2-1

Git Clone URL: https://aur.archlinux.org/ucon64.git (read-only, click to copy)
Package Base: ucon64
Description: A ROM backup tool and emulator's Swiss Army knife program.
Upstream URL: https://ucon64.sourceforge.io/index.php
Keywords: backup emulator hacking programming rom
Licenses: GPL
Submitter: None
Maintainer: gammy
Last Packager: gammy
Votes: 6
Popularity: 0.000088
First Submitted: 2006-11-06 20:54 (UTC)
Last Updated: 2021-12-30 12:49 (UTC)

Dependencies (3)

Required by (1)

Sources (1)

Latest Comments

« First ‹ Previous 1 2

gammy commented on 2019-05-17 09:49 (UTC)

Hi harpin! I've tried to reproduce it here, but it builds just fine. libieee1284 is a parallel port communication library optionally used by the CD64 (Nintendo 64) backup code in ucon64. It looks like the cd64 code supports two parallel port libraries: One is libieee1284 (as a static library as you state), and the other is the standard linux ppdev parallel port library, part of the kernel.

Here's the code in src/backup/libcd64/Makefile:

feq ($(findstring Linux,$(OSTYPE)),Linux)
ifeq ($(shell if test -r /usr/include/ieee1284.h; then echo 1; else echo 0; fi),1) LIBIEEE1284=1
endif
ifeq ($(shell if test -r /usr/include/linux/ppdev.h; then echo 1; else echo 0; fi),1) PPDEV=1
endif
PORTDEV=1
RAWIO=1
endif

I'm not sure what extra functionality is provided by libeee1248, but it's certainly not required to build or run the CD64 component. My guess is that you for whatever reason happen to have the file /usr/include/ieee1284.h, and that this triggers the build files to use the static library, which you most likely do not have (and as you say, the libieee1284 library provided in arch/artix is in the form of a shared library, not a static library).

The fact that ucon64 uses a static library is an upstream issue and is either due to ucon64 being developed on a linux distribution which uses a static library version of libieee1284, or that the code is out of date or no longer maintained.

The solution (without losing cd64 support) is to remove the offending ieee1284 header; if you really don't have any ieee1284 library installed, then the file should not be there. This isn't a proper fix either though: If you have that file, you - on arch/artix - should have the shared library version of ieee1284, which ucon64 doesn't support at this time anyway. I could write a patch for it to use in the package (and suggest it be merged upstream), but I'm too busy to do it right now this minute.

Can you check if you have the aforementioned file, and check if a package actually owns it with "pacman -Fos /usr/include/ieee1284.h" ? I'd be interested to know.

hugoarpin commented on 2019-05-14 20:57 (UTC)

It fails to build on my machine (x86_64): ld: cannot find /usr/lib/libieee1284.a: No such file or directory

This is because the option --with-libcd64 is added to configure. Even if I install libieee1284 manually it fails because libieee1284.a is not included in the package, only libieee1284.so.

I can build the package manually if I remove --with-libcd64. Can you reproduce?

Boris commented on 2016-05-17 07:07 (UTC)

Currently makepkg fails: ==> ERROR: license should be an array ==> ERROR: Makepkg was unable to build ucon64. The license just has to be included in brackets and it should work again: license=("GPL")

parashep commented on 2014-08-16 10:44 (UTC)

updated the tarball and PKGBUILD to contain patches from http://www.freshports.org/emulators/ucon64/ that allow it to build with modern versions of zlib.

salviati commented on 2012-04-05 19:55 (UTC)

Compilation fails: misc_z.c:410:15: error: ‘FILE’ has no member named ‘have’ misc_z.c:410:15: error: ‘FILE’ has no member named ‘have’ misc_z.c:410:15: error: ‘FILE’ has no member named ‘pos’ misc_z.c:410:15: warning: left-hand operand of comma expression has no effect [-Wunused-value] misc_z.c:410:15: error: ‘FILE’ has no member named ‘next’