Help - Search - Members - Calendar
Full Version: Xcas
OESF Forums > Distros, Development, and Model Specific Forums > Distro Support and Discussion > pdaXrom
stuffman
Well, it doesn't seem many people are as interested in a good calculator for pdaXrom as I am (nobody was able to help me with my "Blit combination not supported" error in TiEMU), but if you are, it would be nice if we can figure out how to at least get Xcas working. I downloaded the only package I could find from http://www-fourier.ujf-grenoble.fr/~parisse/giac.html, but it seems pretty old and fussy; not wanting to work with the newest version of pdaXrom. After it complaining about softfloat.so missing (and installing the package), I now get the "undefined symbol: __divsi3" error message, and can't figure out what to do. Some other threads recommended doing an "export LD_PRELOAD=/usr/lib/libgcc_s.so" before executing (these were for other programs, but the same error message), but I just get an error saying the libgcc_s.so is not found.

I'm pretty much a n00b when it comes to linux, so your patience is appreciated. Is there any chance someone is interested in compiling a new version, or at least knows of a workaround to get Xcas to function. It would be really nice to have a solid, GUI'd CAS for pdaXrom (and a working TiEMU would be awesome as well). Any help is much appreciated.
Chero
If you downloaded the arm-version on that page, it's pretty sure that you won't get it working. It's probably compiled for familiar-linux.

Best bet is to download the source and compile it.
http://sourceforge.net/projects/xcas/ (is where the source is, I guess)
I'll have a look at tiemu as soon as I have setup the new cross-sdk. (weekend?)
If someone wants to try while we're waiting, I won't stop them. wink.gif

Chero
jfv
I don't know if you guys care, but Xcas runs fine on the Sharp ROM under X/Qt. It's big, though. I untarred the precompiled binary from the page linked above into a 16Mb flash card and there was not enough space for the documentation.


Felipe
stuffman
I'd love to be able to compile it on my own, but I'm quite inexperienced in the whole building process, let alone cross-compiling things for my Zaurus. I'm going to try out the whole pdaX86 thing (I dropped my Linux box when moving and haven't had the time to survey the damage... needless to say, it doesn't work right now) and try see if perhaps I can get this done myself. I guess it's never too late to learn something, and it would be nice to give back to this community that has done so much for me in the past.

Wish me luck!
Chero
Good luck !!!
stuffman
Thanks Chero!

Well, I installed the latest cross-sdk (I finally dumped my Windows and switched to Mandriva... for good this time), but I'm having some problems. I've been following the steps listed at http://www.pdaxrom.org/index.php?showid=35&menuid=1 for building the apps, however, it was written for an older version. The LDFLAGS=... thing references files for the old sdk (I think), and the directory structure of the new one is totally different. I tried pointing the directory after -rpath-link to /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/lib/X11 (which seems to make the most sense to me considering what the instructions said... but I still have no idea what exactly it means) and a few other places, but I always get the error "configure: error: installation or configuration problem: C compiler cannot create executables"

Any insight into this?
Thanks again.
Chero
QUOTE(stuffman @ Oct 6 2005, 06:28 PM)
Thanks Chero!

Well, I installed the latest cross-sdk (I finally dumped my Windows and switched to Mandriva... for good this time), but I'm having some problems. I've been following the steps listed at http://www.pdaxrom.org/index.php?showid=35&menuid=1 for building the apps, however, it was written for an older version.  The LDFLAGS=... thing references files for the old sdk (I think), and the directory structure of the new one is totally different. I tried pointing the directory after -rpath-link to /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/lib/X11 (which seems to make the most sense to me considering what the instructions said... but I still have no idea what exactly it means) and a few other places, but I always get the error "configure: error: installation or configuration problem: C compiler cannot create executables"

Any insight into this?
Thanks again.
*


From another page :
First run this :
To setup the needed variables and pathes run "/opt/arm/runzgcc-vfp.sh"
Now the SDK environment has been configured and setup : you should have a different prompt
From this prompt, do what you did (with changed dirs as you did before)

The page is : http://www.pdaxrom.org/index.php?showid=34&menuid=1

I didn't test this sdk yet, I know that's how it (still) worked for rc10.
From the error you give, I suppose you didn't run "runzgcc-vfp.sh"(not sure)

Chero
pgas
QUOTE
(...) LDFLAGS=... thing references files for the old sdk (I think), and the directory structure of the new one is totally different. I tried pointing the directory after -rpath-link to /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/lib/X11 (...)


you can ignore this, sashz has put everything under /opt/cross/arm/3.4.4-xscale-softvfp/armv5tel-cacko-linux/lib so gcc knows where to search.

simply use:
CODE
./configure -host=armv5tel-cacko-linux --build=i686-linux


QUOTE
configure: error: installation or configuration problem: C compiler cannot create executables"

Welcome to cross compiling ;-)
Some scripts don't take into account the fact that you are cross compiling (you did pass the -host= etc ?)
so they might compile a hello world program and try to run it. As the executable is built for arm it doesn't run on your pc , hence the error.

Unfortunately at this point you must edit the configure script, find and hack the test to make it works.

Note that native compilation (compiling on you zaurus) is often easier but slower.
tricks for native compilation:

- use the zgcc image
- create a nfs export on your linux box and compile there (see the FAQ on pdaxrom.org before mounting the nfs drive)
- do the compilation from a ssh connection from your linux box
- if gcc crash with an error, it is generally because there is not enough memory, exiting X is often enough otherwise you'll need to create a swap
- use distcc to speed things up (see post #10 here)
stuffman
QUOTE(Chero @ Oct 6 2005, 01:02 PM)
From another page :
First run this :
To setup the needed variables and pathes run "/opt/arm/runzgcc-vfp.sh"
Now the SDK environment has been configured and setup : you should have a different prompt
From this prompt, do what you did (with changed dirs as you did before)

The page is : http://www.pdaxrom.org/index.php?showid=34&menuid=1

I didn't test this sdk yet, I know that's how it (still) worked for rc10.
From the error you give, I suppose you didn't run "runzgcc-vfp.sh"(not sure)

Chero
*



Thanks guys! There's no "runzgcc-vfp.sh" script in this sdk, but I ran the "runsdk.sh" script, which I assumed to be the same thing. Doing just the ./configure thing worked about right, but reading the readme file says I need get the GMP, FLTK, FLVW, etc. packages before building. I'll get to work on this a bit tonight, but now I have to go study for my organic chemistry exam in two hours sad.gif
stuffman
Well, no luck with cross-compiling, so I installed the native zgcc image thing in hopes of doing some compiling natively (TiEMU this time, xcas seems like it has a bunch more dependancies than I want to deal with on my first project). I still get the same "C compiler cannot create executables" error. There is no shell script to set the enviroment variables, so I'm pretty sure this is at least part of the problem. I tried exporting all the variables in the runsdk.sh file on my linux box (but pointing to the right places on my Z), but I still get the error. Like I said, I'm a total n00b at this stuff, and I appreciate your help.

BTW, I was able to compile the package natively on my linux box, so at least I know it works.

Thanks again.
pgas
for the native sdk you don't need a special script.

you also only need to issue
CODE
./configure
without special --build or --target.

I tried a ./configure for Xcas and it fails because of the dependencies, but I don 't get your error .

where did you mount the image? /opt/native/arm/3.4.4-xscale-softvfp ie
CODE
mount -o loop zgcc-3.4.4.img /opt/native/arm/3.4.4-xscale-softvfp

(you might need to create the dir before).
lardman
QUOTE
Well, no luck with cross-compiling


Drop me a line if you need a hand cross compiling xcas - it's in OE & I've done some work on it so it builds correctly.


Si
stuffman
Ok, things are going a bit better now... I was mounting the zgcc image to the wrong location, and that seemed to be the source of the problems. Now in... um... a few hours I should know if everything worked. Thanks again!
stuffman
Ok... a few more problems here.

Before I compile the TiEMU executable, I have to compile a few of the libraries (libticables-3.9.6, libticalcs-4.6.1, and libtifiles-0.6.6). libticables has to be compiled first (as the other two depend on it), and it goes without a hitch. libtifiles also compiles correctly (libticalcs depends on it, so it has to go second). When I try to compile libticalcs, ./configure goes well well, but when I do make, I get an error (with the file cmd73.c- says "'CALC_TI84P' undeclared"). When I look at cmd73.c, CALC_TI84P is clearly defined with a #declare statement before the line numbers it gives in the errors. Compiling natively on my linux box, everything comes out just fine and dandy.

Any insight to this? I haven't started the X server to conserve memory, and I've even tried setting up a swap file, but still no luck. Also, I've had to manually change the PKG_CONFIG_PATH to include the path to the .pc files for the other libraries (I had to do the same thing on my linux box, but again, everything worked just fine). You guys have been lots of help so far, and I really appreciate it.
pgas
hmm, is this the first error? can you paste a bit of the compilation output?

have you installed the libraries?
have you double-checked the PKG_CONFIG_PATH?
perhaps you can specify the location of the .h and .so using ./configure --with-include-dir=/../include --with-lib-dir=/../lib/ ?
stuffman
I'm thinking it's just that the version of libticalcs I was using doesn't like gcc 3.4.4 (particularly that #define line)- my linux box is using 4.0.2, and an older version is compiling sucessfully as we speak. I'll let you know if it works...
stuffman
Well, the older version of libticalc didn't want to work with the version of tiemu I was building, so I went to SourceForge to look for an older version of it. They didn't have any old packages there, but they did have something even better: a new version! I downloaded all of the files, built them on my Z (only took about 4 hours), and everything worked! Well, except for make crashing at the very end of compiling. I assumed it was an out-of-memory error (something about being sent signal 15), so I set up a swap, ran make again (fortunately it's smart enough not to build something it already did), and I was all set.

I tried to pare down everything as much as possible (got rid of unnecessary documentation, stripped the binaries), but the program uses a lot of libraries. Everything together weighs in at around 23mb installed, so if anyone wants to disect the package and make it even leaner, please do. Right now, there are binaries for tclsh8.4 and wish8.4, along with a bunch of other libraries. I have a feeling if I were to try to get the stuff out of there, I'd build an .ipk that didn't work for anyone (remember, this is my first ever build of anything).

So, without further ado, I bring you my first ever package:

tiemu3

All you need to do is download a flash upgrade from Texas Instruments' website and copy it somewhere on your Zaurus. Run the program, choose the option to use a Flash Upgrade, point to it, and you're all set!

Again, thanks to everyone for helping my out. If I had any money (poor college student, yada yada yada), I would absolutely be donating, especially to the pdaXrom project. Since I don't, I guess getting some nice programs built for everyone is just about as good.
pgas
great!

Why did you include tcl-tk?
tcl tk is allready packaged in the "official" feed.

The native sdk image includes all the header files, you just need to install the libraries to compile against them.


To reduce the size of your ipk you can:
- strip the lib (.so ) if it's not allready the case
- make sure that the .so are linked and not copied
(ie in .../lib do a ls -al and if you don't see that libxxx.so is a link to libxxx.so.1.0.1 remove the lib libxxx.so and do a ln -s libxxx.so.1.0.1 libxxx.so), all libxxx.so.x should be links to the file with the complete version information
- remove the static lib (.a .la) as they are not used when the program is executing
- remove the include dirs .h

Ideally, when compiling a library it is a good thing to create 2 ipks, one containing only the .so libxxx_1.0.1_armv5tel.ipk for the users of an application that depends on it and one containing everything (.h .a .so etc...), libxxx-devel_1.0.1_armv5tel.ipk, so that someone needing this library to compile another application has everything he needs.
Civil
Unable to open this file: </usr/local/share/tiemu/skins/ipaq_ti92.skn>
(for every rom, except default V200PLT. For V200 - Error: object "::.srcwin0.srcwin.container.pane0.childsite.con" not found)
Solve: there is ipaq_92.skn, not ipaqti92.skn
And it is rother slow... (only when I've overclocked Z to 624MHz it runs al most normal)
stuffman
Yeah, I forgot to include the changed skin filename in my .ipk, I'll definately fix this up as I'm going to repackage everything and get rid of the stuff I don't need, etc.

Speaking of speed- I did notice that it is dog-ass slow, so does anyone know if there are any tricks I can do when compiling it that would speed it up a bit (like using -O2 or higher, etc.). I'm not all that familiar with makefiles and the like, but I'm sure there's some way to pass this on to all the stuff being compiled.

pgas- so with the whole tcl thing, I gather from what you're saying I can remove the tcl8.4, itcl3.2, tk8.4, and itk3.2 directories? Removing all that other stuff cut the size nearly in half, so now it's not so bloated.

You guys have been lots of help, and I really appreciate it all!
pgas
I am not sure that itk is availaible somewhere so you'll probably have to keep it in the ipk (or make a separate ipk)

In the control files you can add a line like
dep: tk tcl
for the dependencies (check if it is dep deps depends wink.gif first)

As for debug, there is a chance that the developers have included instructions as to how to optimize the build, check the INSTALL README and documentation files, also check the options of the configure script ./configure --help.
Civil
QUOTE
any tricks I can do when compiling it that would speed it up a bit

Maybe you should make 2 different binaries: with iWMMX (for C1000/3100) and without (for other. And for pdaXrom <RC12)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.