Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > More E-Book Readers > iRex > iRex Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 01-10-2007, 02:44 PM   #1
mike b
Member
mike b began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Jan 2007
How to get started in development?

This is arguably one of the most interesting forums on mobileread. I imagine many readers like me might ask, "If I were keen to try my hand at development, where should I start?" I have some programming skills (C, Python, Matlab) and basic hardware knowledge. But where would I find information to bridge the gap between that superficial level and what is required to actually port an app? Any advice would be appreciated. TIA.
mike b is offline   Reply With Quote
Old 01-10-2007, 08:16 PM   #2
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,695
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
I'm starting right here: http://wiki.mobileread.com/wiki/Ilia...cial_toolchain

I just finished the VMware tutorial, and I'm going to try porting my first app. I have very little programming skills, but I can understand code, and I know quite a bit about linux.
Adam B. is offline   Reply With Quote
 
Advertisement
Old 01-11-2007, 04:20 AM   #3
Antartica
Evangelist
Antartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-books
 
Posts: 415
Karma: 754
Join Date: Jun 2006
Location: Madrid, Spain
Device: iliad, onhandpc, newton, zaurus
Quote:
Originally Posted by Adam B.
I'm starting right here: http://wiki.mobileread.com/wiki/Ilia...cial_toolchain

I just finished the VMware tutorial, and I'm going to try porting my first app. I have very little programming skills, but I can understand code, and I know quite a bit about linux.
I'll not be able to mess with the iliad for some weeks (no free time), but I'll gladly try to answer questions and try to help to put other devs "on right track".

So, ask whatever you need and I'll try to do my best (answering).
Antartica is offline   Reply With Quote
Old 01-11-2007, 07:32 AM   #4
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,695
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
Here's one...

I'm trying to compile a package. When I run a ./configure, it complains that it needs gconf-2.0 and libgtkhtml. I've found and downloaded those packages. They in turn, require other gnome libraries. I've gotten frustrated and gave up...If I keep following the dependencies, I feel like I'm going to compile all of gnome to resolve these 2 packages. Or do I not need to compile these, but simply have the source available?
Adam B. is offline   Reply With Quote
Old 01-11-2007, 09:14 AM   #5
Antartica
Evangelist
Antartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-books
 
Posts: 415
Karma: 754
Join Date: Jun 2006
Location: Madrid, Spain
Device: iliad, onhandpc, newton, zaurus
Quote:
Originally Posted by Adam B.
Here's one...

I'm trying to compile a package. When I run a ./configure, it complains that it needs gconf-2.0 and libgtkhtml. I've found and downloaded those packages. They in turn, require other gnome libraries. I've gotten frustrated and gave up...If I keep following the dependencies, I feel like I'm going to compile all of gnome to resolve these 2 packages. Or do I not need to compile these, but simply have the source available?
Ops! The precompiled libraries package only contains the libraries needed for compiling Motif apps and gtk+ 2.x apps.

Anyway, yours is a "Good question" :-).

Firstly, yes, you'll end compiling a lot of gnome libraries just to fullfill those two dependencies. For example, looking at the libgtkhtml library installed in the PC:
Code:
~$ ldd /usr/lib/libgtkhtml-2.so.0
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x40063000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x40177000)
        libz.so.1 => /usr/lib/libz.so.1 (0x401c8000)
        libgailutil.so.17 => /usr/lib/libgailutil.so.17 (0x401db000)
        libgnomecanvas-2.so.0 => /usr/lib/libgnomecanvas-2.so.0 (0x401e3000)
        libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0x4020f000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x40225000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x4024b000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x40529000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x405a9000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x405c7000)
        libm.so.6 => /lib/libm.so.6 (0x405dd000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x405ff000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x40606000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x40611000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x4064b000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x4067f000)
        libdl.so.2 => /lib/libdl.so.2 (0x40683000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x40686000)
        libc.so.6 => /lib/libc.so.6 (0x40706000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x4083a000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40869000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x408d6000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x4099d000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x409a1000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x409a9000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0x409b8000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x409cb000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x409d4000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x409dc000)
I've put in bold the ones that are clearly part of gnome. And I can have missed some O:-).

If you really, really want to compile gnome for the iliad, your best bet is using GARNOME ( http://www.gnome.org/projects/garnome/ ), as it is somewhat difficult to compile it "by hand". That will create a gnome environment in the home of your user.

In the iliad, you'll have to install it in a SD or CF and replicate the path you used to compile it with a symlink in the iliad.

Now, I'll try to dissuade you from doing so :-).

1. Gnome is HUGE. It contains a lot of libraries and data files.

2. Its slow, as every library that you add as a dependency for your program, is more work for the dynamic linker at program startup, and the iliad is not a 3Ghz computer.

3. It consumes a lot of memory (because of the huge quantity of libraries it brings to memory).

Ideally, you should aim for motif apps, gtk+2.x apps, GPE apps, SDL-based apps or just plain X (ace of penguins, for example).

If this doesn't answer your question, keep asking ;-).

EDIT: Re-reading my post... Well, it's not as it connot be done, If you want to try it, I'll assist you :-). Even without the Garnome approach, if you really only depend on gconf and libggtkhtml, it's not that hard (less than a dozen or so of libraries), but I'm not so sure that you will only need those two libraries (configure checks the one-at-a-time, and after you have that check fulfilled it will check the next dependency...)

Last edited by Antartica; 01-11-2007 at 09:20 AM.
Antartica is offline   Reply With Quote
Old 01-11-2007, 09:23 AM   #6
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,695
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
Thanks, that helps a lot. I never had any intention of running gnome on the iLiad...I was just trying to get what looked to be a small chm viewer (http://sourceforge.net/projects/chmview/) compiled. I guess I will continue my quest elsewhere
Adam B. is offline   Reply With Quote
Old 01-11-2007, 09:30 AM   #7
b_k
Übernerd
b_k is on a distinguished road
 
Posts: 238
Karma: 74
Join Date: Jun 2006
Location: Germany
Device: iRex iLiad
Quote:
Originally Posted by Adam B.
.... I guess I will continue my quest elsewhere
http://only.mawhrin.net/fbreader/
b_k is offline   Reply With Quote
Old 01-11-2007, 11:58 AM   #8
Antartica
Evangelist
Antartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-books
 
Posts: 415
Karma: 754
Join Date: Jun 2006
Location: Madrid, Spain
Device: iliad, onhandpc, newton, zaurus
Quote:
Originally Posted by Adam B.
I just finished the VMware tutorial
I've just read the linux-on-vmware installing tutorial for windows users. Thanks for the nice work

BTW, I'll post here the direct link to your work O:-), just to remember everyone else that it's for mobilereaders consumption:
http://wiki.mobileread.com/wiki/Usin...s_using_vmware

Last edited by Antartica; 01-11-2007 at 12:00 PM.
Antartica is offline   Reply With Quote
Old 01-13-2007, 09:52 AM   #9
Adam B.
Addicted to Porting
Adam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the roughAdam B. is a jewel in the rough
 
Adam B.'s Avatar
 
Posts: 1,695
Karma: 7194
Join Date: Oct 2006
Location: Indianapolis, IN
Device: iRex iLiad, Nokia 770, Samsung i760
Alright, here's another one...

Code:
Creating libzlibrary-gtk.so.0 .../scratchbox/compilers/arm-linux-iliad-softfloat/gcc-3.4.2-glibc-2.3.3/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.2/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lenca
collect2: ld returned 1 exit status
make[1]: *** [libzlibrary-gtk.so.0] Error 1
It looks as though a path isn't set correctly. I've been able to compile other things without seeing this error. Any ideas?
Adam B. is offline   Reply With Quote
Old 02-01-2007, 04:38 AM   #10
Antartica
Evangelist
Antartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-booksAntartica has learned how to read e-books
 
Posts: 415
Karma: 754
Join Date: Jun 2006
Location: Madrid, Spain
Device: iliad, onhandpc, newton, zaurus
Quote:
Originally Posted by Adam B.
Alright, here's another one...

Code:
Creating libzlibrary-gtk.so.0 .../scratchbox/compilers/arm-linux-iliad-softfloat/gcc-3.4.2-glibc-2.3.3/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.2/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lenca
collect2: ld returned 1 exit status
make[1]: *** [libzlibrary-gtk.so.0] Error 1
It looks as though a path isn't set correctly. I've been able to compile other things without seeing this error. Any ideas?
Do you have libenca.so, part of libenca-dev package, installed?

P.S.: Sorry for the late reply. I have just checked the mail and there was the mobileread report with your message of 13 of Jan! I almost missed it...
Antartica is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Trying to get started . . . GLL Calibre 3 04-29-2010 04:36 AM
Getting Started Pinecone Calibre 2 11-02-2009 02:14 AM
Let's getting started ! ^^ scaza Introduce Yourself 2 03-04-2009 01:25 PM
Can u help me to get started? jeremygold Sony Reader 2 01-02-2009 01:27 PM
Let's get started with Handstory... gvtexas Reading and Management 9 06-16-2003 07:55 AM


All times are GMT -4. The time now is 01:35 AM.


MobileRead.com is a privately owned, operated and funded community.