Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 05-23-2012, 12:34 PM   #121
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by geekmaster View Post
@knc1: Our posts keep getting out of sequence, which leads to me pointing out that I already answered your question in a previous post. I am not trying to compete with you. I am just trying to suggest that you read the answer that I provided above so that you can use my input in your research. No harm intended.

The information that you seek is in post #118 above.
You are speed reading again, post #118 calls tcc through your wrapper script, my request does not - it makes a difference.
PS: I did not get a PM before you posted that I had done something wrong.
knc1 is offline   Reply With Quote
Old 05-23-2012, 12:42 PM   #122
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by knc1 View Post
You are speed reading again, post #118 calls tcc through your wrapper script, my request does not - it makes a difference.
PS: I did not get a PM before you posted that I had done something wrong.
The output from a tcc command is exactly the same when you type it by hand OR when a wrapper script generates that exact same command. If the command was typed outside the wrapper script, it would fail because of the missing bind mounts. The same command done by the tccmake script worked (with output in post #118) because it was called from the wrapper script. Do not discard my output that I posted in reply to your request just because of some trivial detail of HOW it was created.

The RESULTS posted in #118 ARE what you asked for. It does not matter that they were created with a wrapper script. So either run the script, or do the bind mounts yourself before typing the command. The script is easier. That is why I wrote it.

Your post did not take the CONTENTS of my previous post into account (even after you quoted my link to it), so I agree that ONE of us must be "speed reading", as you say. I did not accuse you of doing anything wrong, despite your P.S. claiming that I did. If you READ what I wrote, you will see that I am trying to synchronize our parallel "threads of thought", where your posts request information that I already provided.

Last edited by geekmaster; 05-23-2012 at 03:54 PM.
geekmaster is offline   Reply With Quote
Advert
Old 05-23-2012, 05:16 PM   #123
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
@knc1: Here is the output that you requested, except this time I HAND-TYPED the command instead of doing it in a script:
Code:
[root@kindle tcc]# tcc -vvv -run demo.c
tcc version 0.9.25
-> demo.c
nf /usr/local/include/stdio.h
nf /usr/include/stdio.h
nf /usr/local/lib/tcc/include/stdio.h
demo.c:11: include file 'stdio.h' not found
[root@kindle tcc]# tcc -Iinclude -vvv -run demo.c
tcc version 0.9.25
-> demo.c
-> include/stdio.h
->  include/features.h
->   include/bits/predefs.h
->   include/sys/cdefs.h
->    include/bits/wordsize.h
->   include/gnu/stubs.h
->  include/stddef.h
->  include/bits/types.h
->   include/bits/wordsize.h
->   include/bits/typesizes.h
->  include/libio.h
->   include/_G_config.h
->    include/wchar.h
->     include/bits/wchar.h
->    include/gconv.h
->     include/wchar.h
->   include/stdarg.h
->  include/bits/stdio_lim.h
->  include/bits/sys_errlist.h
-> include/stdlib.h
->  include/sys/types.h
->   include/time.h
->   include/endian.h
->    include/bits/endian.h
->   include/sys/select.h
->    include/bits/select.h
->    include/bits/sigset.h
->    include/time.h
->    include/bits/time.h
->   include/sys/sysmacros.h
->   include/bits/pthreadtypes.h
->  include/alloca.h
-> include/string.h
-> include/unistd.h
->  include/bits/posix_opt.h
->  include/bits/confname.h
->  include/getopt.h
-> include/fcntl.h
->  include/bits/fcntl.h
-> include/time.h
->  include/bits/time.h
-> include/sys/mman.h
->  include/bits/mman.h
-> include/sys/ioctl.h
->  include/bits/ioctls.h
->   include/asm/ioctls.h
->    include/asm/ioctl.h
->     include/asm-generic/ioctl.h
->  include/bits/ioctl-types.h
->  include/sys/ttydefaults.h
-> include/linux/fb.h
->  include/linux/types.h
->   include/asm/types.h
->   include/linux/posix_types.h
->    include/linux/stddef.h
->     include/linux/compiler.h
->    include/asm/posix_types.h
->  include/linux/i2c.h
nf /usr/local/lib/libc.so
-> /usr/lib/libc.so
-> /lib/libc.so.6
nf /usr/lib/libc_nonshared.a
tcc: file '/usr/lib/libc_nonshared.a' not found
-> /lib/libgcc_s.so.1
[root@kindle tcc]# 
The "nf" (not found) errors (marked in red) were because the bind mount is only done while the tccmake script is running. The library is loaded correctly if you type a bind mount command just like is done in the tccmake script. Although tcc looks in two different places, you only need to bind mount one of them to replace the library loader script with a simpler version.

As you can see, you also need to provide the path to the include directory. The tccmake script does this command:

tcc -I/mnt/us/tcc/include -o $1 $2 $3 $4 $5 $6 $7 $8 $9 $1.c


If you look at the rest of the tccmake script, you will see that it calls tcc with your parameters AND does the other things needed for a successful compile (including the bind mounts).

EDIT: As you can see, when searching for missing libraries it first looks in /usr/local/lib and then in /usr/lib. The reason I bind mount to /usr/lib is because that is where OTHER (correct) library symlinks can be found on the kindle, AND because some recent firmware deletes the /usr/local directory.

Last edited by geekmaster; 05-23-2012 at 06:15 PM.
geekmaster is offline   Reply With Quote
Old 05-23-2012, 06:16 PM   #124
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Just try rebuilding it for installation on the Kindle.
./configure --prefix=/mnt/us/tcc --sysroot=/mnt/us
should do the trick.

Then, in /mnt/us/tcc/{include,lib} just symlink to wherever lab126 put the files.

That __should__ (according to the tcc docs) fix both the library and the include search paths.

@lab126: My apologies, the use of loader scripts for *.so files was a brain fart of the gnu/gcc project. We will have to let you slide on that one.
knc1 is offline   Reply With Quote
Old 05-23-2012, 06:24 PM   #125
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by knc1 View Post
Just try rebuilding it for installation on the Kindle.
./configure --prefix=/mnt/us/tcc --sysroot=/mnt/us
should do the trick.

Then, in /mnt/us/tcc/{include,lib} just symlink to wherever lab126 put the files.

That __should__ (according to the tcc docs) fix both the library and the include search paths.

@lab126: My apologies, the use of loader scripts for *.so files was a brain fart of the gnu/gcc project. We will have to let you slide on that one.
I did that for SDL, so that programs I compile automatically look for the SDL libraries in /mnt/us/SDL instead of on the root partition. That way you do not need to change LD_LIBRARY_PATH before running an SDL-dependent program.

I tried building the new tinycc sources from the git repository, but I had some technical difficulties with that so I built my tcc package with lrizzo's tcc build instead, along with header files from multiple sources, and extra scripts, to make it easy to install and use. No matter how you build it, there will be complications caused by broken symlnks and such in various kindle firmware versions, which I have been "fixing" in the install and tccmake scripts.

EDIT: Symlinks take very little space and only two known symlinks are missing from /usr/lib in firmware version 3.3, which is why I RESTORE symlinks in /usr/lib only if they are missing. Moving symlinks elsewhere would create inconsistencies with other firmware versions. Regarding your suggestion to create symlinks in the /mnt/us/tcc folder -- on vfat? I am also curious why the "-run" parameter does not work in lrizzo's build of tcc.

Last edited by geekmaster; 05-23-2012 at 06:55 PM.
geekmaster is offline   Reply With Quote
Advert
Old 05-23-2012, 10:41 PM   #126
xueyou2
Connoisseur
xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.xueyou2 can eat soup with a fork.
 
Posts: 58
Karma: 9096
Join Date: Apr 2012
Device: none
Quote:
Originally Posted by deep View Post
I wonder why there is an include.tar.gz file in there
Just wondering ....
wonder too.
xueyou2 is offline   Reply With Quote
Old 05-24-2012, 12:34 AM   #127
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by deep View Post
I wonder why there is an include.tar.gz file in there
Just wondering ....
Quote:
Originally Posted by xueyou2 View Post
wonder too.
It was accidentally left in there from when I added extra include files to v1.5. That file has now been removed from v1.6a in the first post.
geekmaster is offline   Reply With Quote
Old 05-24-2012, 12:36 AM   #128
deep
Enthusiast
deep began at the beginning.
 
Posts: 29
Karma: 10
Join Date: May 2012
Device: Kindle Touch
I like the new < 5MB package ...
deep is offline   Reply With Quote
Old 05-25-2012, 04:48 AM   #129
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by geekmaster View Post
Regarding your suggestion to create symlinks in the /mnt/us/tcc folder -- on vfat? [/COLOR]
Simple actually,
You change the file system setup so that to the machine it is OTG exported to, it looks like (and is) VFAT;
While it looks like (and is) an inode file system to the Kindle.
Also, the same system can be mounted by both machines at the same time without conflicts.

I will put writing up that "HowTo" on my to-do list but don't anyone wait for me to get it finished, no ETA possible, too busy with other things.

@GM: You go ahead and do the that write-up yourself if you want to, it will be sometime before I can get around to it.
knc1 is offline   Reply With Quote
Old 05-25-2012, 07:36 AM   #130
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by knc1 View Post
Simple actually,
You change the file system setup so that to the machine it is OTG exported to, it looks like (and is) VFAT;
While it looks like (and is) an inode file system to the Kindle.
Also, the same system can be mounted by both machines at the same time without conflicts.

I will put writing up that "HowTo" on my to-do list but don't anyone wait for me to get it finished, no ETA possible, too busy with other things.

@GM: You go ahead and do the that write-up yourself if you want to, it will be sometime before I can get around to it.
That is outside my experience. I was not aware that this COULD be done. But knowing that something CAN be done is usually all it takes for me to figure out HOW to do it once I apply myself to it. It sounds like you are suggesting some sort of dynamic translation layer (or whatever terminology is used for this process). My problem is a lack of time, which will get worse soon... Big things happening here...

EDIT: If you are suggesting that the /mnt/us partition be formatted in a non-vfat (inode) format, the startup scripts would fail to mount it because they force the type to vfat. They automatically reformat the USB drive and repopulate it from /opt if they cannot mount it. Your solution may work until you reboot, but then it would get reformatted as vfat. Of course, you can alter the startup scripts and config files, but that could cause OTA updates to fail. There may be additional complications to deal with as well. It would be a lot safer and easier to create these symlinks in /tmp as needed, instead of changing the usb drive format to support symlinks. And your suggestion to export an "inode-formatted" usb drive as a fake vfat drive would not work when exporting the drive from the diags menu or from serial port recovery mode. Making deep changes to the main and diags linux kernels and boot partitions to support an "inode" usb drive in recovery modes could also break OTA updates.

Last edited by geekmaster; 05-25-2012 at 10:37 AM.
geekmaster is offline   Reply With Quote
Old 05-25-2012, 12:43 PM   #131
drauger
Enthusiast
drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.drauger has every book they ever wanted in electronic form on their reader.
 
drauger's Avatar
 
Posts: 32
Karma: 46558
Join Date: Feb 2012
Device: Kindle4NT
Quote:
Originally Posted by geekmaster View Post
It looks like JoppyFur and others did not have this problem. Only SOME versions of the 5.1.0 firmware have this problem.
I encountered the same libpthread problem on my K4 with 4.0.1.
drauger is offline   Reply With Quote
Old 05-25-2012, 12:53 PM   #132
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by drauger View Post
I encountered the same libpthread problem on my K4 with 4.0.1.
Did the latest tcc package fix this?

If not, we need to add another fix to the install or tccmake scripts to work around whatever is messed up in the 4.0.1 firmware...
geekmaster is offline   Reply With Quote
Old 05-25-2012, 01:24 PM   #133
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by geekmaster View Post
That is outside my experience.
You can stop right there, your position on this matter is very clear.
knc1 is offline   Reply With Quote
Old 05-25-2012, 01:39 PM   #134
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Quote:
Originally Posted by knc1 View Post
You can stop right there, your position on this matter is very clear.
I am interested in LEARNING how to do put symlinks on a vfat drive as you recommended. Just the fact that you CAN do it as you suggested intrigued me. I looked into doing it using the "virtual vfat on an inode format" method that you posted later, and I added the edit to my previous post before you made this reply. All I am saying is that there are a number of complications that need to be taken into account if you want to change the underlying format of the USB drive as you suggested. Alternative methods as that do not need symlinks on the vfat USB drive would be a lot simpler with less potential problems than using a "non-default" format for the USB drive.

My "position on this matter" was in no way meant to offend you. I would love to learn a simple solution that would make if useful and reliable, if I missed something. Just because something WAS outside my experience does not mean that is IS NOW or that it will forever be outside my experience. And my continuing quest for knowledge does not equate my previous lack of experience with "virtual vfat on inode partitions so you can put symlinks on a vfat drive" with my POSTITION ON THIS MATTER, as you said.

Does your "stop right there" comment mean that you want me to STOP LEARNING about it, or to stop POSTING about what I have learned so far (in my own thread)? You stimulated my curiosity on this matter, so why are you trying to suppress me now? I would love to find a simple solution to implement your suggestion without the potential problems I have found with it.

Last edited by geekmaster; 05-25-2012 at 01:58 PM.
geekmaster is offline   Reply With Quote
Old 05-25-2012, 01:53 PM   #135
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by geekmaster View Post
EDIT: If you are suggesting that the /mnt/us partition be formatted in a non-vfat (inode) format...
- - - -
I am not making that suggestion.
knc1 is offline   Reply With Quote
Reply

Tags
tcc, tinycc


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
geekmaster simple touchscreen script support hack geekmaster Kindle Developer's Corner 12 04-21-2021 11:38 PM
Very simple guide to reading newspapers on the kindle, please? :) Pismire Amazon Kindle 7 06-01-2012 11:26 PM
Free (Kindle/Nook/ChristianBook) The Invitation: A Simple Guide to the Bible arcadata Deals and Resources (No Self-Promotion or Affiliate Links) 4 08-22-2011 01:05 PM
Simple guide to choosing a Creative Commons license for your work Bob Russell News 0 12-26-2006 11:10 AM


All times are GMT -4. The time now is 05:33 AM.


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