Author Topic: Emelfm2 0.1.6 And Crosscompiling Questions  (Read 4905 times)

0xDEADBEEF

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Emelfm2 0.1.6 And Crosscompiling Questions
« on: March 16, 2006, 02:23:02 am »
Cross compiling is fun!
I wanted to learn how to cross compile stuff.
I downloaded cross sdk.
And this is my first try. emelFM2 - simple GTK file manager. It only requires GTK2. I installed it and it works! Yay!
If anyone is interested please try it. (attached)
Next step is to try some packages dependant on other libraries.
How do I compile multiple libraries and dependency chains? Should I install compiled libs and headers into /opt/cross/arm or somewhere and maintain a little tree there? Or do I need to use pdaxrom build system for that? Inquiring minds need to know!

Now I shall troll freshmeat to see what useful app should I compile next!  

desertrat

  • Hero Member
  • *****
  • Posts: 743
    • View Profile
    • http://
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #1 on: March 16, 2006, 02:47:43 am »
Quote
Now I shall troll freshmeat to see what useful app should I compile next! 
I think there are quite a few outstanding requests for apps that people would like to see compiled. Maybe you should troll this forum first  

Personally, I would like to see a native compilation of OOo 2.x  

Failing that I would settle for Glom

-- cheers
SL-C3100 / Ambicon WL1100C-CF / pdaXrom 1.1.0beta3 / IceWM

azalin

  • Newbie
  • *
  • Posts: 33
    • View Profile
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #2 on: March 16, 2006, 03:28:45 am »
Quote
Next step is to try some packages dependant on other libraries.
How do I compile multiple libraries and dependency chains? Should I install compiled libs and headers into /opt/cross/arm or somewhere and maintain a little tree there? Or do I need to use pdaxrom build system for that? Inquiring minds need to know!
I would like to know the same, I succesfully compiled a library (OpenAL) than an app (GemRB) needs I am trying to cross compile, but if I make install for the library I have no clue where it puts it and the configure of the app (GemRB) can not find that the library is installed.
I have some .so, .so.0, .so.0.0.0, .lai, .la and .a files (the .0 and .0.0.0 are symlinks of course) after I did a make, I saw /opt/cross/arm/3.4.5-xscale-softvfp/lib exists and a /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/
also where do I need to put the includes? just in
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include/ and it should
work? The app depends on SDL, OpenAL, Python and zlib, of which I think zlib and SDL are in the SDK, not sure about python so I need to check but it does exist for the PdaXrom so if not in the SDK then I suppose there is a way to convert the ipk back to a set of libraries and includes and copy those in the proper places so that the configure of the app finds them.
« Last Edit: March 16, 2006, 03:34:00 am by azalin »

0xDEADBEEF

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #3 on: March 16, 2006, 03:37:39 am »
Quote
Quote
Now I shall troll freshmeat to see what useful app should I compile next! 
I think there are quite a few outstanding requests for apps that people would like to see compiled. Maybe you should troll this forum first  

Personally, I would like to see a native compilation of OOo 2.x  

Failing that I would settle for Glom

-- cheers
[div align=\"right\"][a href=\"index.php?act=findpost&pid=118806\"][{POST_SNAPBACK}][/a][/div]


It seems to require a whole bunch of gnome libraries (probably each one with more dependencies).
Right now I dont know how to compile it.

0xDEADBEEF

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #4 on: March 16, 2006, 03:43:42 am »
Quote
Quote
Next step is to try some packages dependant on other libraries.
How do I compile multiple libraries and dependency chains? Should I install compiled libs and headers into /opt/cross/arm or somewhere and maintain a little tree there? Or do I need to use pdaxrom build system for that? Inquiring minds need to know!
I would like to know the same, I succesfully compiled a library (OpenAL) than an app (GemRB) needs I am trying to cross compile, but if I make install for the library I have no clue where it puts it and the configure of the app (GemRB) can not find that the library is installed.
I have some .so, .so.0, .so.0.0.0, .lai, .la and .a files (the .0 and .0.0.0 are symlinks of course) after I did a make, I saw /opt/cross/arm/3.4.5-xscale-softvfp/lib exists and a /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/
also where do I need to put the includes? just in
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include/ and it should
work? The app depends on SDL, OpenAL, Python and zlib, of which I think zlib and SDL are in the SDK, not sure about python so I need to check but it does exist for the PdaXrom so if not in the SDK then I suppose there is a way to convert the ipk back to a set of libraries and includes and copy those in the proper places so that the configure of the app finds them.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=118817\"][{POST_SNAPBACK}][/a][/div]

/opt/cross/arm/3.4.5-xscale-softvfp/lib/ seems to contain i386 libraries, for instance
file libglib-2.0.so.0.800.1
libglib-2.0.so.0.800.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), not stripped

the other directory
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/

file libglib-2.0.so.0.800.1
libglib-2.0.so.0.800.1: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped

So my bet is that you should put .so and .a files into
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/
and
include files into
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include

if the package used "configure" script
you can try
PREFIX=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/ make install
(examine makefile whether it uses PREFIX variable or something)

humit

  • Newbie
  • *
  • Posts: 27
    • View Profile
    • http://
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #5 on: March 16, 2006, 04:05:50 am »
Hi, after I compiling new libraries you can manually place the files under
Code: [Select]
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/
 or  giving the command:
Code: [Select]
make DESTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/ install
will do the trick

-umit

Quote
Quote
Next step is to try some packages dependant on other libraries.
How do I compile multiple libraries and dependency chains? Should I install compiled libs and headers into /opt/cross/arm or somewhere and maintain a little tree there? Or do I need to use pdaxrom build system for that? Inquiring minds need to know!
I would like to know the same, I succesfully compiled a library (OpenAL) than an app (GemRB) needs I am trying to cross compile, but if I make install for the library I have no clue where it puts it and the configure of the app (GemRB) can not find that the library is installed.
I have some .so, .so.0, .so.0.0.0, .lai, .la and .a files (the .0 and .0.0.0 are symlinks of course) after I did a make, I saw /opt/cross/arm/3.4.5-xscale-softvfp/lib exists and a /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/lib/
also where do I need to put the includes? just in
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/include/ and it should
work? The app depends on SDL, OpenAL, Python and zlib, of which I think zlib and SDL are in the SDK, not sure about python so I need to check but it does exist for the PdaXrom so if not in the SDK then I suppose there is a way to convert the ipk back to a set of libraries and includes and copy those in the proper places so that the configure of the app finds them.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=118817\"][{POST_SNAPBACK}][/a][/div]
SL-C3000 pdaXii13

0xDEADBEEF

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #6 on: March 16, 2006, 04:07:59 am »
Quote
Hi, after I compiling new libraries you can manually place the files under
Code: [Select]
/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/
 or  giving the command:
Code: [Select]
make DESTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/ install
will do the trick

-umit

Excellent! Thank you!

azalin

  • Newbie
  • *
  • Posts: 33
    • View Profile
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #7 on: March 16, 2006, 05:38:52 am »
Thank you for the suggestions! In my case something still goes wrong but I suspect that is a different problem.
make DESTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux install
(if I put a slash behind the path I saw some generated paths with two slashes so I removed it) then it installs stuff in /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/usr/local/lib/
so it adds usr/local/lib to the paths, wonder if that is correct. I think I'll try what a manual copy will do after I fixed the following thing:

The error message in the configure script I am getting is this one
checking for alutInit in -lopenal... no
checking for alutInit in -lalut... no
configure: error: *** You need OpenAL (www.openal.org) to compile GemRB
The one I compiled is openal, not alut so perhaps that is the problem, there was not much documentation on the site but these names look similar to OpenGL and Glut, so alut are probably functions that add to base functions of openAL and you need both compiled and installed. Compiling alut gives me some trouble though and I have to look into that.
« Last Edit: March 16, 2006, 05:41:38 am by azalin »

humit

  • Newbie
  • *
  • Posts: 27
    • View Profile
    • http://
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #8 on: March 16, 2006, 09:10:38 am »
if you specify --prefix=/usr  for ./configure script, and then issue the command:
Code: [Select]
make DESTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux install
it should copy the files relative to /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/usr instead of /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/usr/local.

good luck.


Quote
Thank you for the suggestions! In my case something still goes wrong but I suspect that is a different problem.
make DESTDIR=/opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux install
(if I put a slash behind the path I saw some generated paths with two slashes so I removed it) then it installs stuff in /opt/cross/arm/3.4.5-xscale-softvfp/armv5tel-cacko-linux/usr/local/lib/
so it adds usr/local/lib to the paths, wonder if that is correct. I think I'll try what a manual copy will do after I fixed the following thing:

The error message in the configure script I am getting is this one
checking for alutInit in -lopenal... no
checking for alutInit in -lalut... no
configure: error: *** You need OpenAL (www.openal.org) to compile GemRB
The one I compiled is openal, not alut so perhaps that is the problem, there was not much documentation on the site but these names look similar to OpenGL and Glut, so alut are probably functions that add to base functions of openAL and you need both compiled and installed. Compiling alut gives me some trouble though and I have to look into that.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=118839\"][{POST_SNAPBACK}][/a][/div]
SL-C3000 pdaXii13

Armagon

  • Full Member
  • ***
  • Posts: 106
    • View Profile
    • http://
Emelfm2 0.1.6 And Crosscompiling Questions
« Reply #9 on: March 16, 2006, 02:09:47 pm »
Quote
How do I compile multiple libraries and dependency chains? Should I install compiled libs and headers into /opt/cross/arm or somewhere and maintain a little tree there? Or do I need to use pdaxrom build system for that? Inquiring minds need to know!
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

I had to compile libraries when I was doing inkscape (and it was my first cross-compilation, too.)  The whole inkscape thread may be useful, but most useful are the [a href=\"https://www.oesf.org/forums/index.php?showtopic=17787&view=findpost&p=116325]build notes[/url] I posted when I finally figured out what I needed to do.  I later posted a build script, which may prove useful.

Armagon
Sharp Zaurus SL-C1000 -- 2 GB SD Card -- Zippy Slim Mini Keyboard -- Loving pdaXii13!