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

[AppImageKit] Issue with creating an AppImage #295

Closed
brmbrmcar opened this issue Nov 22, 2016 · 18 comments
Closed

[AppImageKit] Issue with creating an AppImage #295

brmbrmcar opened this issue Nov 22, 2016 · 18 comments
Labels

Comments

@brmbrmcar
Copy link

Hi,

I am trying to create an AppImage of a game mod I made. However, when trying to make it, I get the following errors:

Arch: 86_64
DESTINATION not specified, so assuming brmbrmTux-x86_64.AppImage
/home/brmbrmcar/brmbrmtux should be packaged as brmbrmTux-x86_64.AppImage
Generating squashfs...
mksquashfs: invalid option

SYNTAX:mksquashfs source1 source2 ...  dest [options] [-e list of exclude
dirs/files]

Filesystem build options:
-comp <comp>		select <comp> compression
			Compressors available:
				gzip (default)
				lzma
				lzo
				lz4
				xz
-b <block_size>		set data block to <block_size>.  Default 128 Kbytes
			Optionally a suffix of K or M can be given to specify
			Kbytes or Mbytes respectively
-no-exports		don't make the filesystem exportable via NFS
-no-sparse		don't detect sparse files
-no-xattrs		don't store extended attributes
-xattrs			store extended attributes (default)
-noI			do not compress inode table
-noD			do not compress data blocks
-noF			do not compress fragment blocks
-noX			do not compress extended attributes
-no-fragments		do not use fragments
-always-use-fragments	use fragment blocks for files larger than block size
-no-duplicates		do not perform duplicate checking
-all-root		make all files owned by root
-force-uid uid		set all file uids to uid
-force-gid gid		set all file gids to gid
-nopad			do not pad filesystem to a multiple of 4K
-keep-as-directory	if one source directory is specified, create a root
			directory containing that directory, rather than the
			contents of the directory
-fstime secs		Set fs time to seconds since epoch.  Default to current time

Filesystem filter options:
-p <pseudo-definition>	Add pseudo file definition
-pf <pseudo-file>	Add list of pseudo file definitions
-sort <sort_file>	sort files according to priorities in <sort_file>.  One
			file or dir with priority per line.  Priority -32768 to
			32767, default priority 0
-ef <exclude_file>	list of exclude dirs/files.  One per line
-wildcards		Allow extended shell wildcards (globbing) to be used in
			exclude dirs/files
-regex			Allow POSIX regular expressions to be used in exclude
			dirs/files

Filesystem append options:
-noappend		do not append to existing filesystem
-root-becomes <name>	when appending source files/directories, make the
			original root become a subdirectory in the new root
			called <name>, rather than adding the new source items
			to the original root

Mksquashfs runtime options:
-version		print version, licence and copyright message
-exit-on-error		treat normally ignored errors as fatal
-recover <name>		recover filesystem data using recovery file <name>
-no-recovery		don't generate a recovery file
-info			print files written to filesystem
-no-progress		don't display the progress bar
-progress		display progress bar when using the -info option
-processors <number>	Use <number> processors.  By default will use number of
			processors available
-mem <size>		Use <size> physical memory.  Currently set to 1729M
			Optionally a suffix of K, M or G can be given to specify
			Kbytes, Mbytes or Gbytes respectively

Miscellaneous options:
-root-owned		alternative name for -all-root
-noInodeCompression	alternative name for -noI
-noDataCompression	alternative name for -noD
-noFragmentCompression	alternative name for -noF
-noXattrCompression	alternative name for -noX

-Xhelp			print compressor options for selected compressor

Compressors available and compressor specific options:
	gzip (default)
	  -Xcompression-level <compression-level>
		<compression-level> should be 1 .. 9 (default 9)
	  -Xwindow-size <window-size>
		<window-size> should be 8 .. 15 (default 15)
	  -Xstrategy strategy1,strategy2,...,strategyN
		Compress using strategy1,strategy2,...,strategyN in turn
		and choose the best compression.
		Available strategies: default, filtered, huffman_only,
		run_length_encoded and fixed
	lzma (no options)
	lzo
	  -Xalgorithm <algorithm>
		Where <algorithm> is one of:
			lzo1x_1
			lzo1x_1_11
			lzo1x_1_12
			lzo1x_1_15
			lzo1x_999 (default)
	  -Xcompression-level <compression-level>
		<compression-level> should be 1 .. 9 (default 8)
		Only applies to lzo1x_999 algorithm
	lz4
	  -Xhc
		Compress using LZ4 High Compression
	xz
	  -Xbcj filter1,filter2,...,filterN
		Compress using filter1,filter2,...,filterN in turn
		(in addition to no filter), and choose the best compression.
		Available filters: x86, arm, armthumb, powerpc, sparc, ia64
	  -Xdict-size <dict-size>
		Use <dict-size> as the XZ dictionary size.  The dictionary size
		can be specified as a percentage of the block size, or as an
		absolute value.  The dictionary size must be less than or equal
		to the block size and 8192 bytes or larger.  It must also be
		storable in the xz header as either 2^n or as 2^n+2^(n+1).
		Example dict-sizes are 75%, 50%, 37.5%, 25%, or 32K, 16K, 8K
		etc.
Embedding ELF...
Not able to open the AppImage for writing, aborting

I have no idea what to do here. Also, I had some issues starting the desktop as for some reason AppImage only supports .svg files.

@probonopd
Copy link
Member

Are you running appimagetool-x86_64.AppImage? Or did you get appimagetool from somewhere else? It looks like it might call the system's rather the private bundled mksquashfs. Could that be? appimagetool requires a patched instance that has the -offset feature. This patched version should come with appimagetool-x86_64.AppImage.

@brmbrmcar
Copy link
Author

I'm using the appimagetool from build/appimagetool.

@probonopd
Copy link
Member

Please try using appimagetool-x86_64.AppImage or make sure that build/mksquashfs is on the $PATH before any other mksquashfs. Perhaps we should rename mksquashfs to mksquashfs-fork or something like that to make this clearer.

@brmbrmcar
Copy link
Author

I don't understand the mksquashfs part sorry (noob). What command should I run?

@probonopd
Copy link
Member

Instead of running build/appimagetool run appimagetool-x86_64.AppImage. Please let me know if the problem goes away.

@brmbrmcar
Copy link
Author

Same error

@probonopd
Copy link
Member

What system are you using as the build system on which you generate the AppImage? Is your game mod publicly available so that I can have a look?

@brmbrmcar
Copy link
Author

brmbrmcar commented Nov 22, 2016

Linux (Ubuntu 16.04). I can show you the source code if you wish. (it isn't modded mcuh yet)

@probonopd
Copy link
Member

Can you run with --verbose and paste the last 10 lines or so?

@brmbrmcar
Copy link
Author

They came out exactly the same.

	  -Xcompression-level <compression-level>
		<compression-level> should be 1 .. 9 (default 8)
		Only applies to lzo1x_999 algorithm
	lz4
	  -Xhc
		Compress using LZ4 High Compression
	xz
	  -Xbcj filter1,filter2,...,filterN
		Compress using filter1,filter2,...,filterN in turn
		(in addition to no filter), and choose the best compression.
		Available filters: x86, arm, armthumb, powerpc, sparc, ia64
	  -Xdict-size <dict-size>
		Use <dict-size> as the XZ dictionary size.  The dictionary size
		can be specified as a percentage of the block size, or as an
		absolute value.  The dictionary size must be less than or equal
		to the block size and 8192 bytes or larger.  It must also be
		storable in the xz header as either 2^n or as 2^n+2^(n+1).
		Example dict-sizes are 75%, 50%, 37.5%, 25%, or 32K, 16K, 8K
		etc.
Embedding ELF...
Not able to open the AppImage for writing, aborting

@probonopd
Copy link
Member

probonopd commented Nov 23, 2016

Sorry I can't reproduce this. Can you post the full script you are using when you are trying to produce your AppImage? The following works for me on xubuntu-16.04.1-desktop-amd64.iso:

wget https://github.com/probonopd/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod a+x appimagetool-x86_64.AppImage 
./appimagetool-x86_64.AppImage some.AppDir

DESTINATION not specified, so assuming XChat_IRC-x86_64.AppImage
some.AppDir should be packaged as XChat_IRC-x86_64.AppImage
WARNING: AppStream upstream metadata is missing, please consider creating it
         in usr/share/metainfo/xchat.appdata.xml
         Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
         for more information.
Generating squashfs...
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on XChat_IRC-x86_64.AppImage, block size 131072.
[===============================================================|] 123/123 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
	compressed data, compressed metadata, compressed fragments, no xattrs
	duplicates are removed
Filesystem size 4518.99 Kbytes (4.41 Mbytes)
	41.07% of uncompressed filesystem size (11003.10 Kbytes)
Inode table size 1539 bytes (1.50 Kbytes)
	30.08% of uncompressed inode table size (5116 bytes)
Directory table size 1304 bytes (1.27 Kbytes)
	37.93% of uncompressed directory table size (3438 bytes)
Number of duplicate files found 2
Number of inodes 152
Number of files 69
Number of fragments 39
Number of symbolic links  2
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 81
Number of ids (unique uids + gids) 1
Number of uids 1
	root (0)
Number of gids 1
	root (0)
Embedding ELF...
Marking the AppImage as executable...
Success

@brmbrmcar
Copy link
Author

I'm running the command ./appimagetool /home/brmbrmcar/brmbrmtux dest brmbrmtux --verbose

@probonopd
Copy link
Member

Please try just with ./appimagetool /home/brmbrmcar/brmbrmtux --verbose. "dest" looks wrong.

@probonopd
Copy link
Member

Did it work for you @brmbrmcar?

@brmbrmcar
Copy link
Author

no

@probonopd
Copy link
Member

Please post the relevant last ca. 30-50 lines of the output so that I can help debugging this.

@azubieta
Copy link
Contributor

Closing the issue due inactivity.

@probonopd
Copy link
Member

@brmbrmcar please comment here if the problem persists, then we will reopen it.

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

No branches or pull requests

3 participants