/[escript]/branches/ROBW_XPLATFORM/escript/src
ViewVC logotype

Log of /branches/ROBW_XPLATFORM/escript/src

View Directory Listing Directory Listing


Sticky Revision:

Revision 668 - Directory Listing
Modified Sat Mar 25 13:27:27 2006 UTC (13 years, 1 month ago) by robwdcock
+ finally figured out why the tests failed when the python extension libs were
  no longer sym links. The original setup for python extension modules was to
  have sym links in the esys/* directories named, for example escriptcpp.so.
  These would link to the actual libraries libescriptcpp.so. The lib*.so would
  link to each other. When you replaced the symlink with a copy of the lib*.so
  but renamed without the lib you would then get problems. In particular,
  py_tests would suddenly start failing.

  The problem appears (I've not been able to find documentary evidence to this
  case) to be that when, for example, you import bruce, brucecpp.so imports
  lib/libescriptcpp.so (which intialises escript python bits), bruce then
  imports escriptcpp.so (which also initialised escript python bits).

  Whether that is exactly correct or not is of interest but the important bit
  is you appear to get two versions. After thinking about this for a bit and
  reviewing a bunch of other examples of working python modules I noticed a
  pattern. NONE of the other examples ever included more than the python
  wrapper code in the python extension library. Instead they just link to
  the pure C++ library. This would avoid the duplicate load.

  So, I've refactored the code. If you consider escript the pattern in now:
  lib/libescript.so - which has all of escript EXCEPT the python escriptcpp.cpp
  esys/escript/escriptcpp.so - which has ONLY the escriptcpp.cpp and links to
                               lib/libescript.so
  
  Run the tests and low and behold they all pass again.

  Q: Why doesn't this problem occur with sym links?
  A: My guess is that python and the dynamic linker take a look at the actual
     absolute python of libraries to determine if its a "different" library.
     I did fine some discussions that seem to suggest this.

  Q: Why can't you just set LD_LIBRARY_PATH==PYTHONPATH and stick all the
     libs in that directory?
  A: I (in fact we, Peter Hornby was there) tried. With the renaming of the
     python module so it doesn't have a lib prefix you get problems with
     getting the shared libraries to be looked up in LD_LIBRARY_PATH. Do
     the opposite and use lib on the python modules and you have problems
     with windows which doesn't prepend the lib. Various combination
     in between were also tried but you end up in a catch 22 situation so far
     as I could tell

  Please if you know more about the ins and outs of python and shared
  libraries let me know if this isn't true. I'd really like to know if my
  guesses are correct. In any event, the fix is more consistent with the
  patterns I've seen

  Phew! this was a long log message, glad it is on a branch!




Revision 667 - Directory Listing
Modified Fri Mar 24 13:25:00 2006 UTC (13 years, 1 month ago) by robwdcock
+ OUCH ARGHH
+ Okay the wizzy linkHack doesn't work. Not sure why but py_tests fail
when the shared library is on the link line directly (without a -l)

+ Unfortunately we can't figure out how to use -l without it prepending
a lib prefix. Hence all the shareable objects in python now need to be
called libblah.so (and lib will need to be prepended on windows!!!!).
This is not the python way and its very annoying. Why do we have this
problem? Because the C++ shared libraries link with each other.



Revision 666 - Directory Listing
Modified Fri Mar 24 11:29:40 2006 UTC (13 years, 1 month ago) by robwdcock
+ Fix up python esys area:
  + libraries are named without lib prefix on posix platforms (python standard)
  + libraries are now installed into the pyinstall area (python standard)
  + symlinks removed, no longer required
  + LD_LIBRARY_PATH is now optional for PYTHON programs (still required for c++)
+ lib PREFIX removal NOTES:
  + removing the lib prefix is non-standard for the linker. As such we've created a
    custom function sharedLinkHack to specify the .so on the link command line
    (as opposed to using -l<archive> which will prepend the lib). This has a
    a small slight of hand for scons which was being to "helpful". Scons
    verifies that when creating a shared libray all objects specified are
    created shareable (e.g. ensure objects are compiler with -fPIC). Since
    we are linking a .so out of the blue we had to wrap it up in a File note
    and flag it as shared.
    Easily done, once you know how. Thankfully this is all wrapped
    up in a simple function (sharedLinkHack) that looks like ordinary scons so
    you will never know!
    



Revision 656 - Directory Listing
Modified Fri Mar 24 08:12:40 2006 UTC (13 years, 1 month ago) by robwdcock
+Add sys_libs to libraries to link with for escript


Revision 651 - Directory Listing
Modified Fri Mar 24 06:44:23 2006 UTC (13 years, 1 month ago) by robwdcock
+Python file now compile and install into pyinstall directory


Revision 639 - Directory Listing
Modified Thu Mar 23 13:06:40 2006 UTC (13 years, 2 months ago) by robwdcock
+Unit tests for esysUtils and escript added


Revision 623 - Directory Listing
Modified Wed Mar 22 14:11:03 2006 UTC (13 years, 2 months ago) by robwdcock
Beginning of a fully cross-platform (win32+intelc, linux+g++, altix+intelc)
scons build system
WORK IN PROGRESS NOT COMPLETE
+Incorporates ideas from trunks scons build system and the RW_WIN32 branch
+New Header layout as include/<modulename>, hence the changes to the headers
+Not all modules or features from trunk build system are fully implemented
-Removes need for intermediary SConstruct files - the top SConstruct is more complex but handle cross-platform better AND the SConscript are a LOT simpler
and only differ slightly. It should be simpler to maintain
-Options are now handled via either a: config file supplied on command line, a config file in the scons/hostname_options.py, or as individual command line arguments
-Need help with options: scons -h will give you a list of options and their current settings



Revision 622 - Directory Listing
Modified Wed Mar 22 14:00:08 2006 UTC (13 years, 2 months ago) by robwdcock
Creating a private branch so I can test and verify cross-platform build

Revision 615 - Directory Listing
Modified Wed Mar 22 02:12:00 2006 UTC (13 years, 2 months ago) by elspeth
Original Path: trunk/escript/src
More copyright information.


Revision 595 - Directory Listing
Modified Tue Mar 14 23:52:45 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
test_utilOnFinley fixed (did run the tests that still fail)

Revision 594 - Directory Listing
Modified Tue Mar 14 23:36:08 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
print message removed

Revision 588 - Directory Listing
Modified Fri Mar 10 04:45:04 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
1D and 3D tests for eigenvalues_and_eigenvector added.

Revision 587 - Directory Listing
Modified Fri Mar 10 02:26:50 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
eigenvalues_and_eigenvector fucntion added. test for 2D problem is added and is passed.

Revision 585 - Directory Listing
Modified Thu Mar 9 23:47:42 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
problem with eigenvalue of zero matrix fixed (thanks Dr Hale)

Revision 584 - Directory Listing
Modified Thu Mar 9 23:03:38 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
eigenvalues: compiles and passes tests on altix now

Revision 583 - Directory Listing
Modified Wed Mar 8 08:15:34 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
_eigenvalues_and_eigenvector method added of data object. the algorithm has been tested on floats in python but not on data objects.

Revision 580 - Directory Listing
Modified Wed Mar 8 05:45:51 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
faster version of the local eigenvalue calculation

Revision 577 - Directory Listing
Modified Fri Mar 3 08:32:16 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
installation of new inc file

Revision 576 - Directory Listing
Modified Fri Mar 3 08:28:42 2006 UTC (13 years, 2 months ago) by gross
Original Path: trunk/escript/src
some steps towards eigenvalue and eigenvector calculation

Revision 571 - Directory Listing
Modified Tue Feb 28 06:53:17 2006 UTC (13 years, 2 months ago) by jgs
Original Path: trunk/escript/src
modify whereZero etc methods to also accept a tolerance parameter

Revision 562 - Directory Listing
Modified Thu Feb 23 05:03:16 2006 UTC (13 years, 2 months ago) by jgs
Original Path: trunk/escript/src
further fix for DataTAgged::dp_algorithm, was not working for DataTagged objects with 0 tags

Revision 559 - Directory Listing
Modified Thu Feb 23 01:43:44 2006 UTC (13 years, 2 months ago) by jgs
Original Path: trunk/escript/src
reimplement dp_algorithm for DataTagged, existing
implementation was complete rubbish
(ich bin so beschämt!)


Revision 555 - Directory Listing
Modified Wed Feb 22 04:44:10 2006 UTC (13 years, 2 months ago) by jgs
Original Path: trunk/escript/src
fixed binaryOp for combination of DataTagged and scalar values.
calculation of default value where RHS was a scalar was not yet
implemented


Revision 547 - Directory Listing
Modified Tue Feb 21 06:10:54 2006 UTC (13 years, 3 months ago) by gross
Original Path: trunk/escript/src
solution and reduced solution can have reference numbers now!

Revision 544 - Directory Listing
Modified Tue Feb 21 01:23:23 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
minor comment fixes


Revision 543 - Directory Listing
Modified Tue Feb 21 01:18:38 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
fix BinaryOp for DataTagged values - existing implementation was adding
tags from RHS to LHS using RHS's default value - should have been using
LHS's default value! fixed now


Revision 541 - Directory Listing
Modified Mon Feb 20 06:50:39 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
ensure src and dest objects have matching tag sets in setSlice
by adding tags present in src but not in dest to dest using
dest's default value before doing actual slicing


Revision 535 - Directory Listing
Modified Fri Feb 17 02:27:06 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
minor comment changes


Revision 519 - Directory Listing
Modified Tue Feb 14 05:30:50 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
fix comments for setSlice - were totally misleading!


Revision 513 - Directory Listing
Modified Mon Feb 13 04:46:51 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
comment and formatting changes


Revision 509 - Directory Listing
Modified Fri Feb 10 03:24:44 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
minor comment changes


Revision 507 - Directory Listing
Modified Thu Feb 9 06:13:07 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
minor comment changes


Revision 500 - Directory Listing
Modified Tue Feb 7 05:19:07 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
fix a reference indicator


Revision 496 - Directory Listing
Modified Tue Feb 7 01:27:14 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
minor fix to DataTagged::getTagNumber
changes to comments and formatting
inline two methods


Revision 484 - Directory Listing
Modified Thu Feb 2 02:12:08 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
add remainder of includes to SConscript includes install

Revision 481 - Directory Listing
Modified Wed Feb 1 05:57:50 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
add mechanism to install .h files to inc directories
(still need to specify full lists of .h files to install)


Revision 480 - Directory Listing
Modified Wed Feb 1 05:15:12 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
rationalise #includes and forward declarations


Revision 478 - Directory Listing
Modified Tue Jan 31 02:21:49 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
rationalise #includes


Revision 477 - Directory Listing
Modified Mon Jan 30 07:20:20 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
rationalise #includes


Revision 474 - Directory Listing
Modified Mon Jan 30 04:23:44 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
restructure escript source tree
move src/Data/* -> src
remove inc
modify #includes and cpppath settings accordingly


Revision 468 - Directory Listing
Modified Wed Jan 25 06:50:39 2006 UTC (13 years, 3 months ago) by jgs
Original Path: trunk/escript/src
reorganised esysUtils to remove inc directory

Revision 436 - Directory Listing
Modified Thu Jan 19 22:36:36 2006 UTC (13 years, 4 months ago) by gross
Original Path: trunk/escript/src
bug fixed in integrate method. don;t use a[i,j]=.. to set a value in the numeric::array a but 
a[make_tuple(i,j)].



Revision 430 - Directory Listing
Modified Wed Jan 11 06:40:50 2006 UTC (13 years, 4 months ago) by gross
Original Path: trunk/escript/src
ILU has been replicated is called RILU (recursive ILU) now. ILU will now be reimplemented.

Revision 392 - Directory Listing
Modified Tue Dec 20 05:39:30 2005 UTC (13 years, 5 months ago) by gross
Original Path: trunk/escript/src
Utils added for compilation

Revision 391 - Directory Listing
Modified Tue Dec 20 05:36:50 2005 UTC (13 years, 5 months ago) by gross
Original Path: trunk/escript/src
intreface for setting the number of threads from python

Revision 358 - Directory Listing
Modified Wed Dec 14 07:55:19 2005 UTC (13 years, 5 months ago) by cochrane
Original Path: trunk/escript/src
Updated link to epydoc generated documentation on the web site.


Revision 352 - Directory Listing
Modified Wed Dec 14 02:21:37 2005 UTC (13 years, 5 months ago) by jgs
Original Path: trunk/escript/src
turns out Install() targets should also be made Default()
targets if you want them to actually reliably work!


Revision 288 - Directory Listing
Modified Fri Dec 2 01:55:04 2005 UTC (13 years, 5 months ago) by jgs
Original Path: trunk/escript/src
now automatically build unit tests as required based on dependencies
between unit tests and libraries


Revision 286 - Directory Listing
Modified Thu Dec 1 06:40:20 2005 UTC (13 years, 5 months ago) by gross
Original Path: trunk/escript/src
length method is removed as it is too slow. use length in util.py instead

Revision 285 - Directory Listing
Modified Thu Dec 1 06:40:04 2005 UTC (13 years, 5 months ago) by gross
Original Path: trunk/escript/src
length method is removed as it is too slow. use length in util.py instead

Revision 277 - Directory Listing
Modified Wed Nov 30 04:52:39 2005 UTC (13 years, 5 months ago) by jgs
Original Path: trunk/escript/src
explicitly define dependencies between modules


Revision 223 - Directory Listing
Modified Thu Nov 24 23:12:13 2005 UTC (13 years, 5 months ago) by jgs
Original Path: trunk/escript/src
pass in cc/cxx settings from config file

Revision 192 - Directory Listing
Modified Mon Nov 21 04:52:14 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
pass in top level install directory for finley/escript/bruce/paso
libraries when building via top level scons script


Revision 191 - Directory Listing
Modified Mon Nov 21 04:10:12 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
push platform dependent compiler flags and include directories up to library level scons files - these will eventually be brought in from external config files

Revision 190 - Directory Listing
Modified Mon Nov 21 03:27:42 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
pass in value for esysroot and use this to determine include file locations

Revision 188 - Directory Listing
Modified Mon Nov 21 01:20:26 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
explicitly add -fpic option to all compiler options lists
to ensure relocatable code is generated


Revision 181 - Directory Listing
Modified Fri Nov 18 04:28:47 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
first draft of config/construct scripts for escript library


Revision 160 - Directory Listing
Modified Thu Nov 10 05:09:25 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
fixed a broken constructor - simply didn't work


Revision 155 - Directory Listing
Modified Wed Nov 9 02:02:19 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/escript/src
move all directories from trunk/esys2 into trunk and remove esys2


Revision 154 - Directory Listing
Modified Mon Nov 7 05:51:17 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch dev-02 back to main trunk on 2005-11-07


Revision 153 - Directory Listing
Modified Tue Oct 25 01:51:20 2005 UTC (13 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch dev-02 back to main trunk on 2005-10-25


Revision 151 - Directory Listing
Modified Thu Sep 22 01:55:00 2005 UTC (13 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch dev-02 back to main trunk on 2005-09-22


Revision 150 - Directory Listing
Modified Thu Sep 15 03:44:45 2005 UTC (13 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch dev-02 back to main trunk on 2005-09-15


Revision 149 - Directory Listing
Modified Thu Sep 1 03:31:39 2005 UTC (13 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch dev-02 back to main trunk on 2005-09-01


Revision 148 - Directory Listing
Modified Tue Aug 23 01:24:31 2005 UTC (13 years, 8 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch dev-02 back to main trunk on 2005-08-23


Revision 147 - Directory Listing
Modified Fri Aug 12 01:45:47 2005 UTC (13 years, 9 months ago) by jgs
Original Path: trunk/esys2/escript/src
erge of development branch dev-02 back to main trunk on 2005-08-12


Revision 126 - Directory Listing
Modified Fri Jul 22 03:53:08 2005 UTC (13 years, 10 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch back to main trunk on 2005-07-22


Revision 123 - Directory Listing
Modified Fri Jul 8 04:08:13 2005 UTC (13 years, 10 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch back to main trunk on 2005-07-08


Revision 122 - Directory Listing
Modified Thu Jun 9 05:38:05 2005 UTC (13 years, 11 months ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch back to main trunk on 2005-06-09


Revision 121 - Directory Listing
Modified Fri May 6 04:26:16 2005 UTC (14 years ago) by jgs
Original Path: trunk/esys2/escript/src
Merge of development branch back to main trunk on 2005-05-06


Revision 119 - Directory Listing
Modified Tue Apr 12 04:45:05 2005 UTC (14 years, 1 month ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 117 - Directory Listing
Modified Fri Apr 1 05:48:57 2005 UTC (14 years, 1 month ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 115 - Directory Listing
Modified Fri Mar 4 07:12:47 2005 UTC (14 years, 2 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 113 - Directory Listing
Modified Mon Feb 28 07:06:33 2005 UTC (14 years, 2 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 110 - Directory Listing
Modified Mon Feb 14 04:14:42 2005 UTC (14 years, 3 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 108 - Directory Listing
Modified Thu Jan 27 06:21:59 2005 UTC (14 years, 3 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 106 - Directory Listing
Modified Thu Dec 23 07:20:12 2004 UTC (14 years, 4 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 104 - Directory Listing
Modified Fri Dec 17 07:43:12 2004 UTC (14 years, 5 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 102 - Directory Listing
Modified Wed Dec 15 07:08:39 2004 UTC (14 years, 5 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 100 - Directory Listing
Modified Wed Dec 15 03:48:48 2004 UTC (14 years, 5 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 97 - Directory Listing
Modified Tue Dec 14 05:39:33 2004 UTC (14 years, 5 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 94 - Directory Listing
Modified Wed Oct 27 00:45:54 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
*** empty log message ***


Revision 93 - Directory Listing
Modified Wed Oct 27 00:42:03 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
trying to fix cvs permissions wierdness


Revision 92 - Directory Listing
Modified Wed Oct 27 00:36:38 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
readded these


Revision 91 - Directory Listing
Modified Wed Oct 27 00:34:08 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
still trying to fix cvs issue


Revision 90 - Directory Listing
Modified Wed Oct 27 00:31:36 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
removed non-boost version of setTaggedValue - breaks escript.cpp


Revision 89 - Directory Listing
Modified Wed Oct 27 00:30:36 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
fixing cvs issue


Revision 82 - Directory Listing
Added Tue Oct 26 06:53:54 2004 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src
Initial revision


  ViewVC Help
Powered by ViewVC 1.1.26