Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error compiling AppimageKit for Arch Linux #854

Open
DanielPrjct opened this issue Sep 24, 2018 · 2 comments
Open

Error compiling AppimageKit for Arch Linux #854

DanielPrjct opened this issue Sep 24, 2018 · 2 comments

Comments

@DanielPrjct
Copy link

Hi!

I'm trying to generate a PKGBUILD to compile AppimageKit on Arch Linux via makepkg script, without installing appimaged daemon (thus, users must run appimage files from file manager or console).

I've found mksquashfs errors, that aborts compilation:

Scanning dependencies of target mksquashfs
[ 11%] Creating directories for 'mksquashfs'
[ 12%] Performing download step (git clone) for 'mksquashfs'
Cloning into 'mksquashfs'...
Note: checking out '5be5d61'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at 5be5d61 pseudo.c: Fix pseudo format error message
[ 14%] Performing patch step for 'mksquashfs'
patching file squashfs-tools/mksquashfs.c
[ 15%] No update step for 'mksquashfs'
[ 16%] Performing configure step for 'mksquashfs'
[ 18%] Performing build step for 'mksquashfs'
mksquashfs.c: In function ‘create_inode’:
mksquashfs.c:996:24: error: called object ‘major’ is not a function or function pointer
unsigned int major = major(buf->st_rdev);
^~~~~
mksquashfs.c:996:16: note: declared here
unsigned int major = major(buf->st_rdev);
^~~~~
mksquashfs.c:997:24: error: called object ‘minor’ is not a function or function pointer
unsigned int minor = minor(buf->st_rdev);
^~~~~
mksquashfs.c:997:16: note: declared here
unsigned int minor = minor(buf->st_rdev);
^~~~~
mksquashfs.c:1020:24: error: called object ‘major’ is not a function or function pointer
unsigned int major = major(buf->st_rdev);
^~~~~
mksquashfs.c:1020:16: note: declared here
unsigned int major = major(buf->st_rdev);
^~~~~
mksquashfs.c:1021:24: error: called object ‘minor’ is not a function or function pointer
unsigned int minor = minor(buf->st_rdev);
^~~~~
mksquashfs.c:1021:16: note: declared here
unsigned int minor = minor(buf->st_rdev);
^~~~~
mksquashfs.c: In function ‘dir_scan2’:
mksquashfs.c:3559:17: warning: implicit declaration of function ‘makedev’ [-Wimplicit-function-declaration]
buf.st_rdev = makedev(pseudo_ent->dev->major,
^~~~~~~
make[3]: *** [: mksquashfs.o] Error 1
make[2]: *** [CMakeFiles/mksquashfs.dir/build.make:115: mksquashfs-prefix/src/mksquashfs-stamp/mksquashfs-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:937: CMakeFiles/mksquashfs.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

What can I do to solve this?

@probonopd
Copy link
Member

Why do you want to compile it yourself rather than using binaries we provide?

Building AppImageKIt on a rolling release distribution like Arch is a bad idea, since you will be pulling in dependencies that are newer than those coming with the oldest still-supported operating systems. Hence we recommend to build on the oldest still-supported distributions, e.g., we are using CentOS 6. This ensures best compatibility with various target systems out there.

Compiling AppImageKit on Arch Linux is not something we support for this reason.

Reference:
https://docs.appimage.org/

@TheAssassin
Copy link
Member

The error is in external dependencies being compiled with a compiler enforcing C98 or newer standards. Not sure if we can fix that, but it's likely to cause issue on newer, stable distributions soon, too. Therefore reopening with "low priority" and "PRs welcome".

Perhaps you could add some flags to our CFLAGS we apply to all dependencies on compilation. PRs welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants