Yactfeau


I found the problem, yay! As I had no idea how Makefiles work I just used the one you posted on the second page of this thread. In there are two lines containing STRIP:

At the top:
Code:
STRIP ?= $(CC:%gcc=%strip)

And then later:
Code:
$(EXE) : $(OBJS)
        $(CXX) $(OBJS) -o $(EXE) $(LDFLAGS)
        $(STRIP) $(EXE)

Now when I just delete the call to $(STRIP) it works fine. :) I have no idea what that's supposed to do anyways...

Thanks sebt3, without your remark about that the middle line shouldn't be there I wouldn't have figured it out!
 
Emnasut said:
Now when I just delete the call to $(STRIP) it works fine. :) I have no idea what that's supposed to do anyways...
Strip is not mandatory. gcc left many things in the binaries that are not usefull when running (mostly debug information). strip remove that. But it's still cool as the binary size is more than halfed most of the time ;)
 
Last edited by a moderator:
sebt3 said:
Emnasut said:
Now when I just delete the call to $(STRIP) it works fine. :) I have no idea what that's supposed to do anyways...
Strip is not mandatory. gcc left many things in the binaries that are not usefull when running (mostly debug information). strip remove that. But it's still cool as the binary size is more than halfed most of the time ;)

Interesting! Well it works for the PND and I don't care if my binarys for debugging on my desktop are a bit larger. ^^

Now back to coding! *g*
 
Last edited by a moderator:
crazy question... (possibly answered in posts shortly before this one, but too tired to read through all the pages of posts here at the moment) but would anybody be willing to supply a Qemu image of what's in the VirtualBox image? Not sure if I'm asking too much, but I'd prefer to work with Qemu vs VirtualBox (moreso familiarity vs personal reasons)... If not, it is what it is... but I figured I'd at least ask.
 
Quick noob question: If I'm getting errors during make telling me it is skipping incompatible libSDL.so and can't find lSDL (and a few others), does that mean I'm out of luck with this program or do I just need to figure out what dependencies I'm missing or something?
 
is anyone else having problems downloading the virtualbox image? so far, the direct download errors out after about 50% and the torrent offers 0 of 0 seeders... will try the old wget method for direct downlaod and see if that makes a difference...


EDIT: ok, I'm good... something wrong on my end and I took care of it...
 
I made this before I noticed you figured out your problem but I'll post it anyways since I don't see a torrent for the virtual box image yet.

http://www.mediafire.com/file/182awt9qid474p9/pandora-toolchain-virtualbox-20110313.vdi.7z.torrent

I'm seeding it also. :)
 
thanks MonkeyChops... glad you went through all the trouble to help... I'm sure others will benefit from it even if I no longer need it (of course, I could lose what I have and may need it another time, so we will see how that plays out. On a side note, I may be offering up another option for people to test out once I make more space on my system(s) by using all these external drives I have sitting around my house (by external, I mean not actually inside a computer :p)...
 
It only took a second, no problem at all. I was searching for an open source magic the gathering program to practice compiling with and having no luck so I had some extra time.

Question for seb3 or anyone else in the know: When compiling source code for a program that requires java, do I need to do anything special or is the java part taken care of after the fact through wizardstan's java pnd?

btw, cpu, You can adjust the drive size after loading the image.
 
B-ZaR said:
One small addition: I got the libmpfr error, but there was no 32bit libmpfr available on kubuntu 10.10 repos. I googled a bit and found out that symlinking to libgmp.so.3 also works. Tried it and the compilation went smooth as butter.

I'm trying to cross-compile audacious on my laptop running 64bit Ubuntu 10.04. Unfortunately, neither libmpfr* nor libgmp* exist in /usr/lib32 on my machine. I remember that installing individual 32bit libs on a 64bit machine is quite a hassle, please tell me there's an easier way... thanks in advance.
 
Last edited by a moderator:
delete000 said:
B-ZaR said:
One small addition: I got the libmpfr error, but there was no 32bit libmpfr available on kubuntu 10.10 repos. I googled a bit and found out that symlinking to libgmp.so.3 also works. Tried it and the compilation went smooth as butter.

I'm trying to cross-compile audacious on my laptop running 64bit Ubuntu 10.04. Unfortunately, neither libmpfr* nor libgmp* exist in /usr/lib32 on my machine. I remember that installing individual 32bit libs on a 64bit machine is quite a hassle, please tell me there's an easier way... thanks in advance.

I managed to compile libmowgli, but when I try to compile libmcs I get the following:

Code:
configure: WARNING: using cross tools not prefixed with host triplet
checking pkg-config is at least version 0.9.0... yes
checking for MOWGLI... no
configure: error: libmowgli 0.4.0 or newer required

My guess is libmowgli is built successfully but is not installed properly. I looked for it in $SDK_PATH/usr/lib but it's not there. I copied it there but I got the same error. Now what am I doing wrong?... :huh:
 
Last edited by a moderator:
sebt3 said:
Have a look into $SDK_PATH/host-lib (probably /usr/local/angstrom/arm/host-lib)
Nope, it's not in there. I copied libmowgli.so there but I still get the same error. I have put SDK_PATH somewhere in my home directory, I hope this is not a problem. Here's some more info:

Code:
stefanos@lapp:~/Pandora/audacious/libmcs-0.7.2$ echo $LD_LIBRARY_PATH 
/opt/intel/Compiler/11.1/072/lib/intel64:/opt/intel/Compiler/11.1/072/mkl/lib/em64t:/home/stefanos/Documents/pandora/SDK/host-lib
stefanos@lapp:~/Pandora/audacious/libmcs-0.7.2$ cd /home/stefanos/Documents/pandora/SDK/host-lib
stefanos@lapp:~/Documents/pandora/SDK/host-lib$ ls
libgmp.so.3  libgmp.so.3.5.2  libmowgli.so  libmpfr.so.1  libmpfr.so.1.2.2

Edit:: here's another suspicious snippet I get when compiling libmcs:

Code:
checking for arm-angstrom-linux-gnueabi-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
configure: WARNING: using cross tools not prefixed with host triplet

The first line is what worries me. Is it normal?
 
Last edited by a moderator:
delete000 said:
sebt3 said:
Have a look into $SDK_PATH/host-lib (probably /usr/local/angstrom/arm/host-lib)
Nope, it's not in there. I copied libmowgli.so there but I still get the same error. I have put SDK_PATH somewhere in my home directory, I hope this is not a problem.
I was replying to :
delete000 said:
B-ZaR said:
One small addition: I got the libmpfr error, but there was no 32bit libmpfr available on kubuntu 10.10 repos. I googled a bit and found out that symlinking to libgmp.so.3 also works. Tried it and the compilation went smooth as butter.

I'm trying to cross-compile audacious on my laptop running 64bit Ubuntu 10.04. Unfortunately, neither libmpfr* nor libgmp* exist in /usr/lib32 on my machine. I remember that installing individual 32bit libs on a 64bit machine is quite a hassle, please tell me there's an easier way... thanks in advance.

delete000 said:
Code:
checking for arm-angstrom-linux-gnueabi-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
configure: WARNING: using cross tools not prefixed with host triplet

The first line is what worries me. Is it normal?
As long as you have PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_SYSROOT_DIR set, that's not a problem (setprj command set that).

Have you installed libmowgli ? (should be in /mnt/utmp/audacious)
 
Last edited by a moderator:
sebt3 said:
Have you installed libmowgli ? (should be in /mnt/utmp/audacious)
I have changed $PND_BASEDIR to point somewhere in my home directory instead of /mnt/utmp, but yes, libmowgli is in my PND_BASEDIR. Still, it is not found when compiling libmcs.
 
Last edited by a moderator:
Finding stuff is pkg-config job (yet the config.log would have shown this).
So what's your PKG_CONFIG_PATH ?
$PND_BASEDIR/$PRJ/lib/pkgconfig/libmowgli.pc exist ? and provide the righ path ?
What does "pkg-config --libs libmowgli" say ?
 
sebt3 said:
So what's your PKG_CONFIG_PATH ?
Code:
stefanos@lapp:~/Pandora/audacious$ echo $PKG_CONFIG_PATH
/mnt/utmp/audacious/lib/pkgconfig:/home/stefanos/Documents/pandora/SDK/arm-angstrom-linux-gnueabi/usr/lib/pkgconfig
sebt3 said:
$PND_BASEDIR/$PRJ/lib/pkgconfig/libmowgli.pc exist ? and provide the righ path ?
Code:
stefanos@lapp:~/Pandora/audacious/libmcs-0.7.2$ ls $PND_BASEDIR/$PRJ/lib/pkgconfig/libmowgli.pc
/home/stefanos/Documents/pandora/SDK/mnt/audacious/lib/pkgconfig/libmowgli.pc
stefanos@lapp:~/Pandora/audacious/libmcs-0.7.2$ cat $PND_BASEDIR/$PRJ/lib/pkgconfig/libmowgli.pc
prefix=/home/stefanos/Documents/pandora/SDK/mnt/audacious
exec_prefix=${prefix}
datarootdir=${prefix}/share
data_dir=${datarootdir}/libmowgli

version=0.7.1
include_dir=${prefix}/include/libmowgli
lib_dir=${exec_prefix}/lib

Name: libmowgli
Description: A library which contains many utility functions and classes.
Version: 0.7.1
Libs: -L${lib_dir} -lmowgli
Cflags: -I${include_dir}
sebt3 said:
What does "pkg-config --libs libmowgli" say ?
Code:
stefanos@lappy:~/Pandora/audacious/libmcs-0.7.2$ pkg-config --libs libmowgli
Package libmowgli was not found in the pkg-config search path.
Perhaps you should add the directory containing `libmowgli.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libmowgli' found

libmowgli.pc is indeed not copied into PKG_CONFIG_PATH. I manually copied it there and compilation of libmcs completed normally. Then, during compilation of audacious I get the following:
Code:
checking for MOWGLI... yes
checking for LIBMCS... no
configure: error: 
Cannot find libmcs! If you are using binary packages based system, check that you
have the corresponding -dev/devel packages installed.

Same story: manually copied libmcs.pc into PKG_CONFIG_PATH and tried again. Now audacious compiles fine, but gives the warning:
Code:
**
** NOTICE! Configure has discovered that you already have Audacious installed
** and it does not match with the given --prefix. You have Audacious installed
** in /usr/bin and you chose /home/stefanos/Documents/pandora/SDK/mnt/audacious/bin.
**
** If you don't want two copies of Audacious installed, rerun configure with
** the --prefix option set to the location of the old Audacious, or uninstall
** the old Audacious.
**

I guess this is normal though. It would be nice if the .pc files are copied automatically in the right directory.

Then, after installing audacious, I tried genpxml. I get the following error:
Code:
stefanos@lapp:~/Pandora/audacious/audacious-2.4.3$ genpxml 
/mnt/utmp/audacious don't exist
/home/stefanos/Documents/pandora/SDK/scripts/genpxml [args] :
-s|--src <src dir>      : Define source directory (default: /home/stefanos/Pandora/audacious/audacious-2.4.3)
-n|--name <name>	: Define the pnd base name (default: audacious)
-d|--dest <dest dir>    : Define destination directory (default: /mnt/utmp/audacious)
-a|--author <name>      : programmers names (default: stefanos)
-v|--version <version>  : Define the version (default: 2.4.3)
-w|--website <url>      : Define the url (default: http://www.openpandora.org/)
-b|--build <build id>   : Define the build number (default: 1)
-f|--force	      : overide PXML.xml file if found
-h|--help	       : show this screen

so then I tried "genpxml -d /home/stefanos/Documents/pandora/SDK/mnt/audacious/" and it worked. Finally, I run pndmakeauto and a nice audacious.pnd appeared in my 'PNDs' folder! genpxml was probably smart enough to find the icon by itself.

Thanks for the help sebt3! I'm glad I managed to make this work. Now I can start trying to port stuff :) If I am allowed to make a request, I would have liked it if the steps I had to do manually were automated somehow. Maybe I can look into it, but my impression is that it is probably a very easy edit for the people who maintain the toolchain.

Thanks again for all the work you've put into this.
 
Last edited by a moderator:
When I made that installable anywhere, I didnt tested it ;)
This where things got broken ;)

there is a symlink in $SDK_ROOT pointing to /mnt.
change it to your actual $PND_BASEDIR/..
Something like this should do it :
ln -sf $(basename $PND_BASEDIR) $SDK_ROOT/mnt
 
I'm having a problem with this, trying to cross-compile the new version of Crawl. (the last version worked fine) I get the following:

Code:
devel@devel-VirtualBox:~/Pandora/stone_soup-0.8.0/source$ make install CROSSHOST=arm-angstrom-linux-gnueabi PREFIX=/mnt/utmp
(...)
    CXX libunix.o
In file included from libunix.cc:70:
/usr/include/ncursesw/curses.h:60:34: error: ncursesw/ncurses_dll.h: No such file or directory
/usr/include/ncursesw/curses.h:1969:29: error: ncursesw/unctrl.h: No such file or directory
(...)
(Lots of declaration errors follow)
But I have these header files. What gives?
 
Back
Top