Cannot compile AppImageKit: gcc: No such file or directory!

Get help on how to use PortableLinuxApps.org and help others

Cannot compile AppImageKit: gcc: No such file or directory!

Postby SoftHacker » Sun Sep 04, 2011 12:55 pm

Here the complete terminal output:

Code: Select all
SoftHacker@linux-5ahv:~/PortableApps/AppImageKit-9> make
gcc -Os -DHAVE_CONFIG_H -I. -D_FILE_OFFSET_BITS=64 `pkg-config --cflags fuse glib-2.0` -Wall -g -MT fuseiso.o -MD -MP -MF ".deps/fuseiso.Tpo" -c -o fuseiso.o fuseiso.c
fuseiso.c: In function ‘del_mount_point’:
fuseiso.c:78:5: warning: implicit declaration of function ‘rmdir’
fuseiso.c: In function ‘isofs_init’:
fuseiso.c:110:5: warning: implicit declaration of function ‘run_when_fuse_fs_mounted’
fuseiso.c:109:9: warning: unused variable ‘rc’
gcc -Os -DHAVE_CONFIG_H -I. -D_FILE_OFFSET_BITS=64 `pkg-config --cflags fuse glib-2.0` -Wall -g -MT isofs.o -MD -MP -MF ".deps/isofs.Tpo" -c -o isofs.o isofs.c
isofs.c: In function ‘isofs_parse_sa’:
isofs.c:820:1: warning: "/*" within comment
isofs.c:835:25: warning: unused variable ‘ext_ver’
isofs.c:1066:33: warning: passing argument 2 of ‘fprintf’ makes pointer from integer without a cast
/usr/include/stdio.h:335:12: note: expected ‘const char * __restrict__’ but argument is of type ‘int’
isofs.c: At top level:
isofs.c:296:14: warning: ‘dstr’ defined but not used
gcc -Os runtime.c -c
gcc -Os -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -g -pthread -o runtime ./runtime.o ./fuseiso.o ./isofs.o /usr/lib/libglib-2.0.so -lz /usr/lib/libfuse.so -lrt -ldl
gcc: /usr/lib/libglib-2.0.so: No such file or directory
gcc: /usr/lib/libfuse.so: No such file or directory
make: *** [runtime] Error 1
SoftHacker@linux-5ahv:~/PortableApps/AppImageKit-9>


Here is my OS Information:
Code: Select all
OS Information
  OS:            Linux 2.6.37.6-0.7-desktop x86_64
  Current user:  SoftHacker@linux-5ahv
  System:        openSUSE 11.4 (x86_64)
  KDE:           4.6.00 (4.6.0) "release 6"


libglib and libfuse are installed, both the 64bit and the 32bit version ;)
also the devel packages are installed

how i can fix this problem, i want to create portable apps :cry:

and just a second question: can i pack 64bit apps :?: :?: to have portable 64bit apps??
SoftHacker
 
Posts: 1
Joined: Sun Sep 04, 2011 12:48 pm

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby probono » Sun Sep 04, 2011 3:20 pm

From the error message above, you are missing /usr/lib/libglib-2.0.so and /usr/lib/libfuse.so - you need to install those with your distribution's package manager. (Or you could use an Ubuntu Live CD; this is what I use.)

I just tried to compile AppImageKit on a 64-bit system; it went without major issues (some things to watch out for are commented below):

Code: Select all
# I am running the 64-bit Ubuntu 10.10 Live CD
cat /etc/*release
# DISTRIB_ID=Ubuntu
# DISTRIB_RELEASE=10.10
# DISTRIB_CODENAME=maverick
# DISTRIB_DESCRIPTION="Ubuntu 10.10"

# I am running the 64-bit version
arch
# x86_64

# Download the AppImageKit source
wget http://portablelinuxapps.org/source/AppImageKit-9.tar.gz

# Unpack
tar xfvz AppImageKit-9.tar.gz
cd AppImageKit-9/

# Install prerequisites
sudo add-apt-repository ppa:ehoover/compholio
sudo apt-get update
sudo apt-get -y install libselinux1-dev libfuse-dev libglib2.0-dev xorriso elfres

# The source tarball comes bundled with some precompiled helper binaries,
# replace these with 64-bit versions
cp $(which xorriso) $(which elfres) $(which elficon) ./AppImageAssistant.appdir/usr/bin/

# Compile
make clean ; make

We now have a 64-bit version of AppImageAssistant and of AppRun, you can use these two files to produce 64-bit AppImages.

Once I have an ARM machine, I will try it there too :-)
If you like PortableLinuxApps and the AppImage format, you might consider a donation --> Image
probono
Site Admin
 
Posts: 429
Joined: Sun Apr 25, 2010 9:41 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby ike » Sat Jan 07, 2012 2:55 am

running oneiric, was able to find some oneiric dependencies elsewhere that allowed me to install the maverick elfres, but when it came down to it i couldn't compile. i'm going to find a maverick cd and install on a harddrive to try that.
ike
 
Posts: 16
Joined: Thu Aug 12, 2010 4:53 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby ike » Mon Jan 09, 2012 3:29 am

well installed maverick, compiled fine on 64-bit, now i'll start playing around with some packages.
ike
 
Posts: 16
Joined: Thu Aug 12, 2010 4:53 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby chulai » Mon Jun 25, 2012 1:35 am

Hi probono. With the instructions below I was able to compile AppImageKit-9 and AppImageKit-10 in Ubuntu 10.04 (Lucid Lynx) 64-bit.

The problem is that the AppImageAssistant built with AppImageKit-10 gives me Segmentation Faults.
If I try to run the AppDir instead from AppImageAssistant.appDir/AppRun it works OK. But the generated AppImages (of the program I'm trying to make portable) also throw Segmentation Faults.

That's not the case with AppImageAssistant built with AppImageKit-9. But the problem with AppImageKit-9 is that apparently does not create the ".thumbnails/normal" path if it doesn't exist to store the binary icon cached. This issue seems to be fixed in AppImageKit-10.

I compared both AppImageKit directories and found the following differences:

AppImageKit.png
AppImageKit.png (10.88 KiB) Viewed 2432 times


AppImageKit-runtime.c.png
AppImageKit-runtime.c.png (38.11 KiB) Viewed 2432 times


AppImageKit-install-dependencies.sh.png
AppImageKit-install-dependencies.sh.png (22.03 KiB) Viewed 2432 times


Can you or someone else please give me an idea of what's wrong?

Thanks,

Chulai

BTW, I have successfully created 32-bit and 64-bit AppImages of GoldenDict program: viewtopic.php?f=10&t=311

probono wrote:From the error message above, you are missing /usr/lib/libglib-2.0.so and /usr/lib/libfuse.so - you need to install those with your distribution's package manager. (Or you could use an Ubuntu Live CD; this is what I use.)

I just tried to compile AppImageKit on a 64-bit system; it went without major issues (some things to watch out for are commented below):

Code: Select all
# I am running the 64-bit Ubuntu 10.10 Live CD
cat /etc/*release
# DISTRIB_ID=Ubuntu
# DISTRIB_RELEASE=10.10
# DISTRIB_CODENAME=maverick
# DISTRIB_DESCRIPTION="Ubuntu 10.10"

# I am running the 64-bit version
arch
# x86_64

# Download the AppImageKit source
wget http://portablelinuxapps.org/source/AppImageKit-9.tar.gz

# Unpack
tar xfvz AppImageKit-9.tar.gz
cd AppImageKit-9/

# Install prerequisites
sudo add-apt-repository ppa:ehoover/compholio
sudo apt-get update
sudo apt-get -y install libselinux1-dev libfuse-dev libglib2.0-dev xorriso elfres

# The source tarball comes bundled with some precompiled helper binaries,
# replace these with 64-bit versions
cp $(which xorriso) $(which elfres) $(which elficon) ./AppImageAssistant.appdir/usr/bin/

# Compile
make clean ; make

We now have a 64-bit version of AppImageAssistant and of AppRun, you can use these two files to produce 64-bit AppImages.

Once I have an ARM machine, I will try it there too :-)
.thumbnails/normal
chulai
 
Posts: 6
Joined: Mon Jun 04, 2012 1:43 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby probono » Tue Jul 03, 2012 11:19 am

I would suspect the issue is around the "open destination file" code in runtime.c
If you like PortableLinuxApps and the AppImage format, you might consider a donation --> Image
probono
Site Admin
 
Posts: 429
Joined: Sun Apr 25, 2010 9:41 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby probono » Tue Jul 03, 2012 2:30 pm

I can confirm the issue:

Code: Select all
ubuntu@ubuntu:~/AppImageKit-10$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION="Ubuntu 10.04.4 LTS"

wget "http://portablelinuxapps.org/source/AppImageKit-10.tar.gz"
tar xfvz AppImageKit-10.tar.gz
cd AppImageKit-10/
sudo add-apt-repository ppa:ehoover/compholio
sudo apt-get update
sudo apt-get -y install libselinux1-dev libfuse-dev libglib2.0-dev xorriso elfres
cp $(which xorriso) $(which elfres) $(which elficon) ./AppImageAssistant.appdir/usr/bin/
make clean ; make

ubuntu@ubuntu:~/AppImageKit-10$ ./AppImageAssistant
Segmentation fault

/usr/bin/strace -eopen -f ./AppImageAssistant
(...)
fusermount: mount failed: Operation not permitted

sudo /usr/bin/strace  -f ./AppImageAssistant
Process 4745 detached
<... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 4745
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
close(5)                                = -1 EBADF (Bad file descriptor)
rmdir("/tmp/.mount_NOZwW5")             = 0
exit_group(0)                           = ?
Process 4741 detached
Segmentation fault
If you like PortableLinuxApps and the AppImage format, you might consider a donation --> Image
probono
Site Admin
 
Posts: 429
Joined: Sun Apr 25, 2010 9:41 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby chulai » Wed Jul 04, 2012 2:21 pm

Great! Are you planning to provide a fix for this?
Thanks
chulai
 
Posts: 6
Joined: Mon Jun 04, 2012 1:43 am

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby davideddu » Sat Jul 07, 2012 3:48 pm

I have 64 bit Precise; I have tried to compile AppImageKit with probono's guide for maverick: I had to add manually the ppa and edit libr0's DEBIAN/control because it had dependencies problems. I also had to copy fuse.h from kernel headers to AppImageKit-10. I've runned make and this is the output:
Code: Select all
$ make clean; make
rm -f *.a *.o runtime AppRun AppImageAssistant ./AppImageAssistant.appdir/runtime
gcc -Os -DHAVE_CONFIG_H -I. -D_FILE_OFFSET_BITS=64 `pkg-config --cflags fuse glib-2.0` -Wall -g -MT fuseiso.o -MD -MP -MF ".deps/fuseiso.Tpo" -c -o fuseiso.o fuseiso.c
In file included from fuseiso.c:37:0:
isofs.h:161:30: warning: ‘struct statfs’ declared inside parameter list [enabled by default]
isofs.h:161:30: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
fuseiso.c: In function ‘del_mount_point’:
fuseiso.c:78:5: warning: implicit declaration of function ‘rmdir’ [-Wimplicit-function-declaration]
fuseiso.c: At top level:
fuseiso.c:93:48: warning: ‘struct fuse_file_info’ declared inside parameter list [enabled by default]
fuseiso.c:99:43: warning: ‘struct fuse_file_info’ declared inside parameter list [enabled by default]
fuseiso.c:104:57: warning: ‘struct fuse_file_info’ declared inside parameter list [enabled by default]
fuseiso.c: In function ‘isofs_init’:
fuseiso.c:110:5: warning: implicit declaration of function ‘run_when_fuse_fs_mounted’ [-Wimplicit-function-declaration]
fuseiso.c:109:9: warning: unused variable ‘rc’ [-Wunused-variable]
fuseiso.c: At top level:
fuseiso.c:118:51: warning: ‘struct fuse_file_info’ declared inside parameter list [enabled by default]
fuseiso.c:122:55: error: unknown type name ‘fuse_fill_dir_t’
fuseiso.c:127:58: warning: ‘struct statfs’ declared inside parameter list [enabled by default]
fuseiso.c: In function ‘isofs_statfs’:
fuseiso.c:129:5: warning: passing argument 1 of ‘isofs_real_statfs’ from incompatible pointer type [enabled by default]
isofs.h:161:5: note: expected ‘struct statfs *’ but argument is of type ‘struct statfs *’
fuseiso.c: At top level:
fuseiso.c:132:15: error: variable ‘isofs_oper’ has initializer but incomplete type
fuseiso.c:133:5: error: unknown field ‘getattr’ specified in initializer
fuseiso.c:133:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:133:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:134:5: error: unknown field ‘readlink’ specified in initializer
fuseiso.c:134:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:134:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:135:5: error: unknown field ‘open’ specified in initializer
fuseiso.c:135:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:135:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:136:5: error: unknown field ‘read’ specified in initializer
fuseiso.c:136:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:136:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:137:5: error: unknown field ‘flush’ specified in initializer
fuseiso.c:137:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:137:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:138:5: error: unknown field ‘init’ specified in initializer
fuseiso.c:138:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:138:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:139:5: error: unknown field ‘destroy’ specified in initializer
fuseiso.c:139:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:139:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:140:5: error: unknown field ‘opendir’ specified in initializer
fuseiso.c:140:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:140:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:141:5: error: unknown field ‘readdir’ specified in initializer
fuseiso.c:141:19: error: ‘isofs_readdir’ undeclared here (not in a function)
fuseiso.c:141:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:141:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c:142:5: error: unknown field ‘statfs’ specified in initializer
fuseiso.c:142:5: warning: excess elements in struct initializer [enabled by default]
fuseiso.c:142:5: warning: (near initialization for ‘isofs_oper’) [enabled by default]
fuseiso.c: In function ‘ext2_main’:
fuseiso.c:179:5: warning: implicit declaration of function ‘fuse_main’ [-Wimplicit-function-declaration]
fuseiso.c: In function ‘normalize_name’:
fuseiso.c:55:13: warning: ignoring return value of ‘realpath’, declared with attribute warn_unused_result [-Wunused-result]
make: *** [fuseiso.o] Error 1


Cheers.

Davide

P.S.: Why don't you send us the directory after running make? I don't need the source, I can't program C...
davideddu
 
Posts: 1
Joined: Sat Jul 07, 2012 3:44 pm

Re: Cannot compile AppImageKit: gcc: No such file or directo

Postby chulai » Tue Jul 17, 2012 1:54 am

davideddu wrote:P.S.: Why don't you send us the directory after running make? I don't need the source, I can't program C...


I have created a 64-bit version of AppImageAssistant. You can get it from http://www.mediafire.com/?acqdybjuad1qm94
This is AppImageAssistant-0.9.1 (made with AppImageKit-9). It works but it has the issue I mentioned above with the thumbnail files.
AppImageAssistant-0.9.2 (made with AppImageKit-10) fixed that issue but it's giving me Segmentation Faults so I could not use it. I als reported that issue above.
chulai
 
Posts: 6
Joined: Mon Jun 04, 2012 1:43 am

Next

Return to Help

Who is online

Users browsing this forum: No registered users and 1 guest

cron