/[escript]/branches
ViewVC logotype

Log of /branches

View Directory Listing Directory Listing


Sticky Revision:

Revision 1715 - Directory Listing
Modified Thu Aug 21 04:52:14 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Moved getSliceRegionLoopRange and checkShape into DataTypes.h
Some work on methods to set/addTaggedValues without using DataArrayView.
To do this I added copyFromNumArray() on DataVector (It buggy at the 
moment).

This build passes the tests but only because copyFromNumArray is not 
used.



Revision 1714 - Directory Listing
Modified Thu Aug 21 00:01:55 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit

Moved getSliceRegion() and getSliceRange() into DataTypes
Data.cpp - modified not to rely on operator() from DataArrayView
         - Used more const& to avoid copies



Revision 1712 - Directory Listing
Modified Wed Aug 20 05:04:28 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Finished first pass of Data.h - There is still a constructor which takes 
a DataArrayView as a parameter. Apart from that, there are no direct 
references to DataArrayView.

DataTagged has a new constructor for copying just the tags from an 
existing object.
DataTypes:: now has a scalarShape constant (to avoid creating one 
everytime you create a scalar).




Revision 1710 - Directory Listing
Modified Fri Aug 15 06:24:20 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit.

Bug fix



Revision 1704 - Directory Listing
Modified Thu Aug 14 05:35:32 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit:

DataTagged::addTag() = Add a tag with default value. (All uses that I can find 
apart from test code only require this anyway).

DataAbstract now knows its own shape, rank and number of values and have accessors 
for them.
Data Objects also have acessors for these but query their DataAbstracts for the 
answers.

Data::getDataAtOffset() = access to a particular point in the underlying array. (At 
the moment this call references the DataArrayView, but that will change when I have 
everything else working).

DataTagged::getDataByTag() = same but search by tag.
DataTagged::getDefaultValue() = returns default value without obvious reference to 
DataArrayView


C_GeneralTensorProduct_J  is my temporary copy of C_GeneralTensorProduct for 
experimentation.
It and a number of other temporary functions live in JoelMods.cpp_ for now.



Revision 1699 - Directory Listing
Modified Thu Aug 14 02:38:23 2008 UTC (14 years, 7 months ago) by ksteube
Fixed InstallAs target for Windows (removed escriptcpp.pyd since this
file is not created).
Added new config variable cc_extra to add some C/C++ options without
having to change everything.


Revision 1698 - Directory Listing
Modified Tue Aug 12 01:13:16 2008 UTC (14 years, 7 months ago) by jfenwick
Branch commit DO NOT PANIC.

Moved shapeToString and noValues from DataArrayView to 
DataTypes{.h,.cpp}



Revision 1697 - Directory Listing
Modified Mon Aug 11 06:29:54 2008 UTC (14 years, 7 months ago) by jfenwick
Moved ValueType, ShapeType, RegionType, RegionLoopRangeType and maxRank
From DataArrayView.h to DataTypes.h

This is a simple rename but did require modifying a lot of files.



Revision 1696 - Directory Listing
Modified Mon Aug 11 03:33:40 2008 UTC (14 years, 7 months ago) by jfenwick
Branching to perform experiments on removing DataArrayView


Revision 1691 - Directory Listing
Modified Thu Aug 7 22:08:16 2008 UTC (14 years, 7 months ago) by ksteube
Added config for shake63 and adjusted a few others


Revision 1689 - Directory Listing
Modified Tue Aug 5 03:54:26 2008 UTC (14 years, 7 months ago) by ksteube
Updated scons file for cognac


Revision 1688 - Directory Listing
Modified Tue Aug 5 01:57:39 2008 UTC (14 years, 7 months ago) by ksteube
Copied configuration for shake73 and cognac


Revision 1687 - Directory Listing
Modified Mon Aug 4 04:54:47 2008 UTC (14 years, 7 months ago) by ksteube
scons-dev branch now works under MacOS using Artak's latest environment.
Use of -pedantic-errors can be turned off (for MacOS) with scons usepedantic=no.


Revision 1686 - Directory Listing
Modified Sun Aug 3 02:09:22 2008 UTC (14 years, 7 months ago) by ksteube
Add config file for windows system shake59


Revision 1685 - Directory Listing
Modified Sun Aug 3 01:56:22 2008 UTC (14 years, 7 months ago) by ksteube
Mods for Windows.
Cleanup.


Revision 1684 - Directory Listing
Modified Sat Aug 2 05:42:36 2008 UTC (14 years, 7 months ago) by ksteube
Cleaned up test suite


Revision 1683 - Directory Listing
Modified Sat Aug 2 05:10:02 2008 UTC (14 years, 7 months ago) by ksteube
Fixed a bug in the MPI build environment.
UMFPACK works on savanna but MKL does not (because pardiso_() is available
in the static library but not the shared library).


Revision 1682 - Directory Listing
Modified Fri Aug 1 03:52:13 2008 UTC (14 years, 7 months ago) by ksteube
Cleaned up cloning of environments


Revision 1681 - Directory Listing
Modified Thu Jul 31 06:20:18 2008 UTC (14 years, 7 months ago) by ksteube
Cleaned up some problems from the automatic merge


Revision 1680 - Directory Listing
Modified Thu Jul 31 06:06:50 2008 UTC (14 years, 7 months ago) by ksteube
Simplified configure usage
Merged edits of trunk into branch


Revision 1678 - Directory Listing
Modified Tue Jul 29 00:25:05 2008 UTC (14 years, 7 months ago) by ksteube
Made configure more robust


Revision 1676 - Directory Listing
Modified Sun Jul 27 09:30:26 2008 UTC (14 years, 7 months ago) by ksteube
Made the Touch() commands portable


Revision 1675 - Directory Listing
Modified Fri Jul 25 05:48:29 2008 UTC (14 years, 7 months ago) by ksteube
Tweaked the default settings for various options to make configuration more automatic.
Fixed configuration for MKL.


Revision 1672 - Directory Listing
Modified Thu Jul 24 04:46:46 2008 UTC (14 years, 7 months ago) by ksteube
Merged in recents edits in trunk


Revision 1671 - Directory Listing
Modified Thu Jul 24 04:33:41 2008 UTC (14 years, 7 months ago) by ksteube
Now detecting and using UMFPACK, MKL


Revision 1668 - Directory Listing
Modified Wed Jul 23 20:36:21 2008 UTC (14 years, 7 months ago) by ksteube
Using AppendUnique to avoid having -I/usr/include appear 5 times
Not using PathOption any longer because Configure tells us what we need to know


Revision 1667 - Directory Listing
Modified Wed Jul 23 08:51:04 2008 UTC (14 years, 8 months ago) by ksteube
Fixed bugs in configure...no longer caching results so needs some work


Revision 1658 - Directory Listing
Modified Thu Jul 17 04:10:35 2008 UTC (14 years, 8 months ago) by ksteube
Improved handling of scons 0.98 versus 0.96


Revision 1657 - Directory Listing
Modified Wed Jul 16 09:40:14 2008 UTC (14 years, 8 months ago) by ksteube
Removed some unused items from scons_extensions.py


Revision 1656 - Directory Listing
Modified Wed Jul 16 06:20:40 2008 UTC (14 years, 8 months ago) by ksteube
Cleanup


Revision 1655 - Directory Listing
Modified Wed Jul 16 05:10:10 2008 UTC (14 years, 8 months ago) by ksteube
Compiles and runs under MPI, and without compiler warnings.
Improved compiler options.
saveVTK() issues a warning (not an error) if VTK is unavailable.


Revision 1654 - Directory Listing
Modified Wed Jul 16 00:47:40 2008 UTC (14 years, 8 months ago) by ksteube
Merged changes in trunk


Revision 1653 - Directory Listing
Modified Wed Jul 16 00:31:11 2008 UTC (14 years, 8 months ago) by ksteube
New scons scripts now work with scons-98 as well as scons-96...only
had to use env.Clone() instead of env.Copy().

Added copyright to each scons file.


Revision 1652 - Directory Listing
Modified Tue Jul 15 22:19:46 2008 UTC (14 years, 8 months ago) by ksteube
Better implementation of use<package>=yes, still need to do MKL, UMFPACK, ...


Revision 1647 - Directory Listing
Modified Tue Jul 15 06:58:06 2008 UTC (14 years, 8 months ago) by ksteube
Added targets for running tests and building docs


Revision 1641 - Directory Listing
Modified Tue Jul 15 00:23:45 2008 UTC (14 years, 8 months ago) by ksteube
New SConstruct uses Configure() to determine which libraries/headers
are available.

Now using targets for each library instead of a target for the lib
directory...this gives better control over what gets built.

Source files are explicitly listed instead of discovered using glob.

This is not ready for use just yet.


Revision 1640 - Directory Listing
Modified Tue Jul 15 00:15:12 2008 UTC (14 years, 8 months ago) by ksteube
Branch for scons development

Revision 1626 - Directory Listing
Modified Fri Jul 11 08:41:07 2008 UTC (14 years, 8 months ago) by phornby

To resolve a conflict over what "I" is in the case of intel compilers
(in the intel math libraty include) the names of the I and J variables have been changed.

I -> Ip
J -> Jp,

the p meaning "pointer".



Revision 1624 - Directory Listing
Modified Wed Jul 2 07:58:56 2008 UTC (14 years, 8 months ago) by phornby
Just add py_tests target description.



Revision 1623 - Directory Listing
Modified Wed Jul 2 07:56:54 2008 UTC (14 years, 8 months ago) by phornby
Clean up debugging files ready for trunk merge




Revision 1622 - Directory Listing
Modified Wed Jul 2 07:00:18 2008 UTC (14 years, 8 months ago) by phornby
Files changed on trunk since last 1580 merge.



Revision 1621 - Directory Listing
Modified Wed Jul 2 06:56:57 2008 UTC (14 years, 8 months ago) by phornby
Prepare to merge latest trunk changen onto a new branch




Revision 1617 - Directory Listing
Modified Mon Jun 23 23:01:27 2008 UTC (14 years, 8 months ago) by ksteube
Windows branch passes test suite on Savanna...except for paso/src/mmio.c
I reverted to earlier version of mmio.c to run the tests


Revision 1616 - Directory Listing
Modified Tue Jun 17 10:42:36 2008 UTC (14 years, 9 months ago) by phornby
Remove tabs & use standard 4 space indent. Cannot yet test on linux because of vtk problems.



Revision 1615 - Directory Listing
Modified Tue Jun 17 10:22:20 2008 UTC (14 years, 9 months ago) by trankine
Movie generation now works.

Have got as far as PyCAD tests. Suspect a repeat of the issues below.

More care is needed when writing file names to data files that are to be read by C/C++ programs.
The '\' in windows file names has the obvious effect 
when read from a file by a C/C++ program. It is also not appreciated on the command line by some cygwin applications: ppm2mpeg being the case in point here.  Also, windows file names often
contain blanks and other strange characters, in turn requiring even more care. This can happen on *nix systems too. Finally, cygwin gcc sometimes hates unix formatted files on windows! It appears liberal use of unix2dos helps cure things when 'raw-ish' C I/O (fgets) is used by cygwin programs. isspace() also seems to be a bit deaf in this respect in in cygwin's gcc RTL.

Revision 1614 - Directory Listing
Modified Mon Jun 16 17:11:32 2008 UTC (14 years, 9 months ago) by phornby
And the backout of the last debugging change.



Revision 1613 - Directory Listing
Modified Mon Jun 16 17:10:04 2008 UTC (14 years, 9 months ago) by phornby
Quick edit to track the ppmtompeg problem on windows.



Revision 1612 - Directory Listing
Modified Mon Jun 16 14:01:00 2008 UTC (14 years, 9 months ago) by phornby
Fix a silly scoping error that made esysUtils::malloc and co.
become recursive. (OOPS). This fixes the DumpAndLoad unit test failures.



Revision 1611 - Directory Listing
Modified Mon Jun 16 12:20:10 2008 UTC (14 years, 9 months ago) by phornby
Just cleaning up unused vars.



Revision 1610 - Directory Listing
Modified Mon Jun 16 12:03:12 2008 UTC (14 years, 9 months ago) by phornby
To hell with it, just ask the developer to edit
system_dep.h if they want esysUtils to be shared.

Instructions are in these files (as comments).



Revision 1609 - Directory Listing
Modified Mon Jun 16 11:46:13 2008 UTC (14 years, 9 months ago) by phornby
Have to work harder to make esysUtils static.



Revision 1608 - Directory Listing
Modified Mon Jun 16 11:30:56 2008 UTC (14 years, 9 months ago) by phornby
try restoring esysUtils to a static library.



Revision 1607 - Directory Listing
Modified Mon Jun 16 10:14:06 2008 UTC (14 years, 9 months ago) by trankine
Parameterise the python version.

Revision 1606 - Directory Listing
Modified Mon Jun 16 10:06:28 2008 UTC (14 years, 9 months ago) by trankine
parameterise the python version from sys module info.

Revision 1605 - Directory Listing
Modified Sat Jun 14 11:04:53 2008 UTC (14 years, 9 months ago) by phornby
Add NETCDF to the linux build.

Mod Paso_MPI_appendRankToFileName to take a const char *



Revision 1604 - Directory Listing
Modified Sat Jun 14 10:06:31 2008 UTC (14 years, 9 months ago) by phornby
Undo a hack for debugging std::string return values.
Problem on windows now understood.
FunctionSpace still suffers a mutability problem
of a very subtle nature.
If python does an __str__() and gets a type string, then
a later operator= mutates its type, the string held by python will
no longer be valid. This could cause programming errors.

Revision 1603 - Directory Listing
Modified Sat Jun 14 09:36:48 2008 UTC (14 years, 9 months ago) by phornby
Fix comments.

Revision 1602 - Directory Listing
Modified Sat Jun 14 09:20:06 2008 UTC (14 years, 9 months ago) by phornby
back out the hack to find where the heap corruption was.

Revision 1601 - Directory Listing
Modified Sat Jun 14 08:00:35 2008 UTC (14 years, 9 months ago) by phornby
Completely re-factor this code so that muli-statement
macros are totally safe, and there is not a preponderance
of inscrutable ifdefs guarding comprehension of the code.

Revision 1600 - Directory Listing
Modified Fri Jun 13 10:12:22 2008 UTC (14 years, 9 months ago) by phornby
Fix a few other oversights in keeping the windows intel compiler options up to date.

Revision 1599 - Directory Listing
Modified Fri Jun 13 09:54:18 2008 UTC (14 years, 9 months ago) by phornby
Fix a sys_libs oversight made apparent by a fresh checkout.

Revision 1598 - Directory Listing
Modified Fri Jun 13 09:18:36 2008 UTC (14 years, 9 months ago) by phornby
There seems to be stale scons data somewhere still looking for the old boost dll. Checkin ready for a clean checkout.

Revision 1597 - Directory Listing
Modified Fri Jun 13 07:50:26 2008 UTC (14 years, 9 months ago) by phornby
Compile with the same options used to build python.

Revision 1596 - Directory Listing
Modified Thu Jun 12 10:31:03 2008 UTC (14 years, 9 months ago) by phornby
This now passes run_tests on windows when compiled with multi-threaded debugging malloc/free.

I don't understand the exact issue, but I'm getting close. 
I found that hacking 
getResultSliceShape and determineResultShape 
to return const references to 
a class static rather than copies of stack locals fixed the
heap corruption problems that the debugging malloc/free 
was detecting.

I have little confidence that this has fixed things. I need to know exactly what's going on to fix all possible errors of the same type.

Revision 1595 - Directory Listing
Modified Tue Jun 10 09:22:36 2008 UTC (14 years, 9 months ago) by phornby
Be a bit more careful to re-instate the value of _DEBUG on windows.



Revision 1594 - Directory Listing
Modified Tue Jun 10 09:05:46 2008 UTC (14 years, 9 months ago) by phornby
Removed what appeared to be unneeded strdups in calls to
Paso_MPI_appendRankToFileName. It looks to me like Paso_MPI_appendRankToFileName
does its own memory allocation using macros from Common.h???

Anyway, I cannot easily test this change since it is part of the MPI code.



Revision 1593 - Directory Listing
Modified Thu Jun 5 11:01:24 2008 UTC (14 years, 9 months ago) by phornby
Fix the uninitialised use of tau for the second time.



Revision 1592 - Directory Listing
Modified Thu Jun 5 10:21:22 2008 UTC (14 years, 9 months ago) by phornby
Two reasons.

1. prepare for a mrege to the trunk.
2. Windows debug environment is good enough that it can indicate that the problem is not
here.



Revision 1591 - Directory Listing
Modified Thu Jun 5 10:02:34 2008 UTC (14 years, 9 months ago) by phornby
Fix code around strcpy so it throws if there's a
zero length file name given. This guards agains a possible
memory overrun.



Revision 1590 - Directory Listing
Modified Thu Jun 5 09:40:56 2008 UTC (14 years, 9 months ago) by phornby
Make sure strcpy & strncpy arguments are correctly managed.



Revision 1589 - Directory Listing
Modified Thu Jun 5 09:20:30 2008 UTC (14 years, 9 months ago) by phornby
Remove a magic number (4096) from a MEMALLOC & parameterise safely.



Revision 1588 - Directory Listing
Modified Thu Jun 5 06:10:06 2008 UTC (14 years, 9 months ago) by phornby
Dress naked mallocs in mmio.c



Revision 1587 - Directory Listing
Modified Thu Jun 5 05:50:20 2008 UTC (14 years, 9 months ago) by phornby
define esysUtils::malloc() and friends to dress naked mallocs in C++ code.

Remove unneedded PyObject_NEW macros from Common.h.

Add needed system include files to blocktimer.c

Dress the naked mallocs in DataFactory and DataTagged.



Revision 1586 - Directory Listing
Modified Thu Jun 5 04:43:56 2008 UTC (14 years, 9 months ago) by phornby
Control _DEBUG on windows to prevent the inclusion of python.h from forcing a link to python24_d.lib

Revision 1585 - Directory Listing
Modified Wed Jun 4 11:39:42 2008 UTC (14 years, 9 months ago) by phornby
Quick straw clutching to see if any of the MEMALLOC macros were responsible. They all looked OK, and replacement with PyMem_Malloc and co. made no difference.

Revision 1584 - Directory Listing
Modified Wed Jun 4 09:08:25 2008 UTC (14 years, 9 months ago) by phornby
Try using PyMeme_etc() routines on windows for memory management.



Revision 1583 - Directory Listing
Modified Wed Jun 4 08:26:06 2008 UTC (14 years, 9 months ago) by phornby
Re-jig the MEMALLOC macros to make them readable and semi-colon safe.
Add an _WIN32 branch to the definitions to try to locate the heap corruption
occuring on windows.



Revision 1582 - Directory Listing
Modified Wed Jun 4 07:20:59 2008 UTC (14 years, 9 months ago) by phornby
Merge in trunk changes from 1574 to 1580.



Revision 1581 - Directory Listing
Modified Wed Jun 4 07:10:43 2008 UTC (14 years, 9 months ago) by phornby
Prepare for merging the latest trunk changes onto the windows branch.



Revision 1580 - Directory Listing
Modified Tue Jun 3 14:03:40 2008 UTC (14 years, 9 months ago) by phornby
This once again compiles and links under windows after merging to trunk version 1574. scons run_tests also passes now. py_tests still fails in the same way.  Had to link against winsock2 to get gethostname(), and had to re-do some work on eliminating unused vars. Also eliminated signed/unsigned comparisons where I saw them.

Revision 1578 - Directory Listing
Modified Wed May 28 11:16:10 2008 UTC (14 years, 9 months ago) by phornby
Now restore the old 1544 merged branch to its previous state. 
(Yup, I forgot to do an svn cp and an svn switch before doing the merge....).



Revision 1577 - Directory Listing
Modified Wed May 28 11:13:51 2008 UTC (14 years, 9 months ago) by phornby
After checking in the merged files, rename 1544 merge branch to a 1574 merged branch.



Revision 1576 - Directory Listing
Modified Wed May 28 11:10:51 2008 UTC (14 years, 9 months ago) by phornby
Merged in trunk up to rev. 1574.



Revision 1575 - Directory Listing
Modified Wed May 28 11:07:33 2008 UTC (14 years, 9 months ago) by phornby
Prepare for a shuffle of branch names to bring in the new trunk merge.



Revision 1558 - Directory Listing
Modified Tue May 20 07:33:49 2008 UTC (14 years, 10 months ago) by ksteube
Windows branch now compiles on UNIX with one warning


Revision 1549 - Directory Listing
Modified Fri May 2 07:22:52 2008 UTC (14 years, 10 months ago) by phornby
Complete the op=() implementations for exceptions.
Don't expect any effect yet. Problems lay elsewhere.



Revision 1548 - Directory Listing
Modified Fri May 2 06:59:11 2008 UTC (14 years, 10 months ago) by phornby
Update all escript exceptions with an explicit op=() method.



Revision 1547 - Directory Listing
Modified Fri May 2 06:30:48 2008 UTC (14 years, 10 months ago) by phornby
Adjust comment.



Revision 1546 - Directory Listing
Modified Thu May 1 07:09:49 2008 UTC (14 years, 10 months ago) by phornby
Copy branch to new name to reflect the new trunk version merged in



Revision 1545 - Directory Listing
Modified Thu May 1 07:08:20 2008 UTC (14 years, 10 months ago) by phornby
Merg in trunk changes.



Revision 1544 - Directory Listing
Modified Thu May 1 03:09:42 2008 UTC (14 years, 10 months ago) by phornby
Dummy commit to test e-mail notification



Revision 1540 - Directory Listing
Modified Wed Apr 30 00:06:31 2008 UTC (14 years, 10 months ago) by phornby
disable PCH and put symbols in .obj files just in case....

Revision 1539 - Directory Listing
Modified Tue Apr 29 10:32:59 2008 UTC (14 years, 10 months ago) by phornby


Revision 1538 - Directory Listing
Modified Tue Apr 29 09:01:17 2008 UTC (14 years, 10 months ago) by phornby
Explicit, presumably leaky destructor added to
thwart 'clever' destructor generated code that
assumes a good programmer.

Revision 1537 - Directory Listing
Modified Tue Apr 29 08:18:15 2008 UTC (14 years, 10 months ago) by phornby
Add the link_flags_debug to the windows options example.

Revision 1536 - Directory Listing
Modified Tue Apr 29 08:08:58 2008 UTC (14 years, 10 months ago) by phornby
Add link_flags and link_flags_debug options

Revision 1535 - Directory Listing
Modified Tue Apr 29 03:45:06 2008 UTC (14 years, 10 months ago) by phornby
Unimplemented function now returns an error value.

Revision 1534 - Directory Listing
Modified Tue Apr 29 03:34:38 2008 UTC (14 years, 10 months ago) by phornby
Eliminate unused vars & fix a possible bug in Assemble_jacobeans (use of unitialised
variable).



Revision 1533 - Directory Listing
Modified Tue Apr 29 03:12:46 2008 UTC (14 years, 10 months ago) by phornby
Be explicit about the external linkage of constructors.
Fix syntax to compile on linux.



Revision 1532 - Directory Listing
Modified Tue Apr 29 02:44:58 2008 UTC (14 years, 10 months ago) by phornby
remove a comment.

Revision 1531 - Directory Listing
Modified Tue Apr 29 02:44:31 2008 UTC (14 years, 10 months ago) by phornby
dll export all virtual methods.

Revision 1530 - Directory Listing
Modified Tue Apr 29 02:15:27 2008 UTC (14 years, 10 months ago) by phornby
Add operator=()

Revision 1529 - Directory Listing
Modified Tue Apr 29 02:03:19 2008 UTC (14 years, 10 months ago) by phornby
Add an updateMessage to DerivedEX::operator=(), just in case.
This test case is the pattern to be used in deriving EsysExceptions.

Revision 1528 - Directory Listing
Modified Tue Apr 29 01:51:01 2008 UTC (14 years, 10 months ago) by phornby
Add operator=() to DerivedEx.
Make sure virtual what() extends down to std::exception
and that the virtual exceptioName() method picks up
the right exception name when called as a std::exception.

Revision 1526 - Directory Listing
Modified Mon Apr 28 10:19:08 2008 UTC (14 years, 10 months ago) by phornby
Add operator= and modify copy constructor to guard
against implementations that do pointer copies in
std::exception......

Revision 1525 - Directory Listing
Modified Mon Apr 28 07:46:17 2008 UTC (14 years, 10 months ago) by phornby
Explicitly link to python in case of creating a .so.



Revision 1523 - Directory Listing
Modified Tue Apr 22 06:15:31 2008 UTC (14 years, 11 months ago) by phornby
Rename to reflect the trunk version merged in.

Revision 1522 - Directory Listing
Modified Tue Apr 22 06:13:48 2008 UTC (14 years, 11 months ago) by phornby
Keep tracking the trunk changes, currently tracked to rev. 1520.
The trunk version of finley/test/python/run_pde.... is not being
tracked for now; keeping the branch version.


Revision 1521 - Directory Listing
Modified Tue Apr 22 06:06:56 2008 UTC (14 years, 11 months ago) by phornby
Put the abs back to an fabs. Is this so wrong?

Revision 1520 - Directory Listing
Modified Tue Apr 22 05:32:08 2008 UTC (14 years, 11 months ago) by phornby
Catch up with Lutz' mods  of files I've modded before merging in recent trunk changes.

Revision 1510 - Directory Listing
Modified Mon Apr 14 13:09:17 2008 UTC (14 years, 11 months ago) by trankine
Failed attempt to get esysUtils to compile first during debug cycles.

Revision 1509 - Directory Listing
Modified Mon Apr 14 13:07:50 2008 UTC (14 years, 11 months ago) by trankine
Get more explicit about linkage class of methods on windows.
Make into a shared library for testing purposes.

Revision 1508 - Directory Listing
Modified Mon Apr 14 13:06:23 2008 UTC (14 years, 11 months ago) by trankine
Unused vars and signed/unsigned in comparisons.

Revision 1507 - Directory Listing
Modified Mon Apr 14 13:05:08 2008 UTC (14 years, 11 months ago) by trankine
More unused vars.

Revision 1506 - Directory Listing
Modified Mon Apr 14 13:03:29 2008 UTC (14 years, 11 months ago) by trankine
Lint unused vars.

Revision 1505 - Directory Listing
Modified Mon Apr 14 12:57:37 2008 UTC (14 years, 11 months ago) by trankine
Guard the declaration of loc_norm.

Revision 1504 - Directory Listing
Modified Mon Apr 14 12:56:54 2008 UTC (14 years, 11 months ago) by trankine
Initialise tau before its first use to silence the compiler.

Revision 1503 - Directory Listing
Modified Mon Apr 14 12:40:21 2008 UTC (14 years, 11 months ago) by trankine
replace an ineffectual == with an = at line 104. Please check.

Revision 1502 - Directory Listing
Modified Mon Apr 14 10:04:36 2008 UTC (14 years, 11 months ago) by trankine
Remove loss of precision waring errors.

Revision 1501 - Directory Listing
Modified Mon Apr 14 09:09:20 2008 UTC (14 years, 11 months ago) by trankine
You've been programming in python too long. "or", "and" and "not" are not C++ boolean ops. The SGI compiler is being kind to you :)

Revision 1500 - Directory Listing
Modified Mon Apr 14 09:05:37 2008 UTC (14 years, 11 months ago) by trankine
Lint unused vars, watch out for ifdefed code.

Revision 1499 - Directory Listing
Modified Mon Apr 14 09:03:46 2008 UTC (14 years, 11 months ago) by trankine
Lint inused var.

Revision 1498 - Directory Listing
Modified Mon Apr 14 09:02:47 2008 UTC (14 years, 11 months ago) by trankine
Silence some unrefed var warnings, being careful to not blow away vars used in the ifdef'd MPI code.

Revision 1497 - Directory Listing
Modified Mon Apr 14 09:00:03 2008 UTC (14 years, 11 months ago) by trankine
abs -> fabs. Potentially serious error, norms were being converted to ints in convergence tests.

Revision 1496 - Directory Listing
Modified Mon Apr 14 08:58:27 2008 UTC (14 years, 11 months ago) by trankine
attempt a fix to the 2x2 block diagonal multiply case.

Revision 1495 - Directory Listing
Modified Mon Apr 14 07:51:19 2008 UTC (14 years, 11 months ago) by trankine
And replace this with the test version on the branch.

Revision 1493 - Directory Listing
Modified Mon Apr 14 06:47:26 2008 UTC (14 years, 11 months ago) by trankine
moved to windows_from_1456_trunk_1490_merged_in after merging to revision 1490 of the trunk.

Revision 1492 - Directory Listing
Modified Mon Apr 14 06:43:51 2008 UTC (14 years, 11 months ago) by trankine
Copied remotely

Revision 1491 - Directory Listing
Modified Mon Apr 14 06:41:35 2008 UTC (14 years, 11 months ago) by trankine
merge the trunk changes onto the branch.

Revision 1490 - Directory Listing
Modified Mon Apr 14 06:35:21 2008 UTC (14 years, 11 months ago) by trankine
Prepare for another update to the branch to keep up with the trunk

Revision 1462 - Directory Listing
Modified Fri Mar 28 15:50:20 2008 UTC (14 years, 11 months ago) by trankine
1. Fix the THROW() macro so it appears only in esysUtils.
2. Introduce the THROW_ANY macro to silence windows compilers.
3. Eliminate many unused variables.

Point 3 needs testing on ALTIX with MPI turned on to see if I have over-looked and removed variables that were in idef'ed out code.

Only compiled and linked on windows at this point.

Revision 1461 - Directory Listing
Modified Fri Mar 28 07:51:34 2008 UTC (14 years, 11 months ago) by trankine
get the name right

Revision 1460 - Directory Listing
Modified Fri Mar 28 07:48:46 2008 UTC (14 years, 11 months ago) by trankine
update of branch to keep up with trunk

Revision 1457 - Directory Listing
Modified Fri Feb 29 06:18:21 2008 UTC (15 years ago) by phornby
Open new branch for system_dep.h fixup & dealing with intermittent run_tests failures on windows.



Revision 1453 - Directory Listing
Modified Thu Feb 28 16:11:03 2008 UTC (15 years ago) by phornby
Is now restored to run_linearPDEsOnFinley.py



Revision 1452 - Directory Listing
Modified Thu Feb 28 16:06:17 2008 UTC (15 years ago) by trankine
Restore full version of this test ready for merge with trunk
Keep the branch version for the re-branch

Revision 1451 - Directory Listing
Modified Thu Feb 28 14:14:12 2008 UTC (15 years ago) by phornby
Compiles and passes run_tests on debian.

The Exception scheme has been reworked somewhat. All classes
manage their own internal copies of strings using strin manipulations only.
Class name strings are kept as class static consts, and virtual function
pick up the right class name string and concatinate with the reason string to form the
message string.

Only the copy constructor is implemented, so there can be no funny business with
class name strings. operator=() is gone, and good riddance to it.



Revision 1450 - Directory Listing
Modified Thu Feb 28 13:59:24 2008 UTC (15 years ago) by phornby
Leaving the land where the text editor works.



Revision 1449 - Directory Listing
Modified Thu Feb 28 13:40:48 2008 UTC (15 years ago) by phornby
Have to go to another machine, my editor keeps crashing....



Revision 1448 - Directory Listing
Modified Thu Feb 28 12:31:04 2008 UTC (15 years ago) by phornby
Derived a consistent method of derivation from EsysException embodied in
EsysExceptionTestCase.cpp.
Eliminated xxxxException::operator=(). It was not used, and just made more work.

run_tests passes on linux.



Revision 1447 - Directory Listing
Modified Thu Feb 28 10:47:57 2008 UTC (15 years ago) by phornby
Deal with the throw vs nothrow issue in declarations on linux & windows.

All the system_dep.h's (BTW, there should only be one) #define a macro
THROW(ARG) depending on the system/compiler, and the code uses THROW() in
declarations.



Revision 1446 - Directory Listing
Modified Thu Feb 28 09:59:14 2008 UTC (15 years ago) by trankine
synching windows & linux code.

Revision 1445 - Directory Listing
Modified Thu Feb 28 09:55:31 2008 UTC (15 years ago) by trankine
get rid of a throw() qualifier.

Revision 1444 - Directory Listing
Modified Thu Feb 28 09:42:55 2008 UTC (15 years ago) by trankine
Completing the exception changes. Still fragile
on the unit tests.
going to continue on linux to fix some obvious bugs.

Revision 1443 - Directory Listing
Modified Thu Feb 28 08:17:40 2008 UTC (15 years ago) by trankine
Had enough of the warnings about e being unused.

Revision 1442 - Directory Listing
Modified Thu Feb 28 07:25:19 2008 UTC (15 years ago) by trankine
Successful compile & link. Remove warnings about signed/unsigned comparisons from MeshAdapter.cpp

Revision 1441 - Directory Listing
Modified Thu Feb 28 06:50:26 2008 UTC (15 years ago) by trankine
We have a successful compile & link of escript & esysUtils.

Revision 1440 - Directory Listing
Modified Thu Feb 28 06:27:48 2008 UTC (15 years ago) by trankine
Pretty much settled on a coding pattern for the exception classes.
Other changes are me eliminating unused variables and signed/unsigned comparisons as I go.

This is a backup commit, still not compiling.

Revision 1439 - Directory Listing
Modified Thu Feb 28 04:56:16 2008 UTC (15 years ago) by trankine
Working to eliminate stringstreams from exceptions.
All exception methods return const refs to self-owned members.
(i.e. no temporaries allowed after construction.)

Not compiling, this is a lunch break checkin.


Revision 1438 - Directory Listing
Modified Thu Feb 28 04:43:56 2008 UTC (15 years ago) by trankine
must commit the rename before editing


Revision 1437 - Directory Listing
Modified Thu Feb 28 04:41:38 2008 UTC (15 years ago) by trankine
Must commit this before re-naming to the proper name

Revision 1436 - Directory Listing
Modified Wed Feb 27 15:05:50 2008 UTC (15 years ago) by trankine
Restore the debug version from the terminated branch and save the trunk version.

This branch is now pretty much in the same run-state as the terminated branch apart from the debug printouts.

Revision 1435 - Directory Listing
Modified Wed Feb 27 14:40:28 2008 UTC (15 years ago) by trankine
Update for the file name and exponent stuff in regression tests

Revision 1434 - Directory Listing
Modified Wed Feb 27 10:50:55 2008 UTC (15 years ago) by trankine
Comment the daylights out of toString et al.

Revision 1433 - Directory Listing
Modified Wed Feb 27 10:10:09 2008 UTC (15 years ago) by trankine
This branch replaces 
https://shake200.esscc.uq.edu.au/svn/esys13/branches/windows_from_1383_trunk

as the windows port branch.

If you were on the above branch, an svn switch will get you across.

The added file is a temporary test file to be deleted later. I excercises some (ex-)misbehaviour caused by returning anonymous temporary copies of local stack temporary variables across windows DLL boundaries.

Revision 1432 - Directory Listing
Modified Wed Feb 27 10:02:34 2008 UTC (15 years ago) by trankine
Copied remotely

Revision 1424 - Directory Listing
Modified Wed Feb 27 05:27:18 2008 UTC (15 years ago) by trankine
removed the toPyString code by undefining DEBUG_PY_STRINGS.
passes the python string() call test 50000 times. Also passes run_rests, but the slightest thing makes it fail.

Revision 1422 - Directory Listing
Modified Tue Feb 26 13:44:12 2008 UTC (15 years ago) by trankine
this passes scons_run_tests

Revision 1421 - Directory Listing
Modified Tue Feb 26 10:17:33 2008 UTC (15 years ago) by trankine
In this version

1. with DEBUG_PY_STRINGS not defined, it succeeds to run repeated str(a_fn_space) 50000 times. However it fails run_tests and py_tests in the same way it did previously.
2. with DEBUG_PY_STRINGS it uses toPyString, and almost passes run_tests, and gets far further into py_tests, to a point that looks quite different.

Revision 1420 - Directory Listing
Modified Tue Feb 26 07:30:08 2008 UTC (15 years ago) by trankine
1. toString returns a cost ref to a string.
2. the return value is a member of the function space.
3. the string member is declared mutable so that toString can lazy init. it.
4. this assumes type_str is virtually non mutable for the life of a FunctionSpace.cpp
5. operator=() is now private and users are declared friend classes; This is temporary.
6. the nullDomainValue is now static const, and it's no longer allowed to have external linkage.
7. as a result of 6, methods of FunctionSpace that need to be exported outside a windows dll need to be individually dll_export/import'ed using the ESCRIPT_..... macro 

Revision 1419 - Directory Listing
Modified Tue Feb 26 07:29:41 2008 UTC (15 years ago) by trankine
1. toString returns a cost ref to a string.
2. the return value is a member of the function space.
3. the string member is declared mutable so that toString can lazy init. it.
4. this assumes type_str is virtually non mutable for the life of a FunctionSpace.cpp
5. operator=() is now private and users are declared friend classes; This is temporary.
6. the nullDomainValue is now static const, and it's no longer allowed to have external linkage.
7. as a result of 6, methods of FunctionSpace that need to be exported outside a windows dll need to be individually dll_export/import'ed using the ESCRIPT_..... macro 

Revision 1418 - Directory Listing
Modified Tue Feb 26 07:18:15 2008 UTC (15 years ago) by trankine
Specify return value policy for __str__

Revision 1406 - Directory Listing
Modified Thu Jan 31 11:41:58 2008 UTC (15 years, 1 month ago) by trankine
Make it easer to change the boost location.
Remove a dated options file.

Revision 1405 - Directory Listing
Modified Thu Jan 31 11:36:33 2008 UTC (15 years, 1 month ago) by trankine
Make the boost location easier to change

Revision 1404 - Directory Listing
Modified Thu Jan 31 11:31:14 2008 UTC (15 years, 1 month ago) by trankine
Added a comment line for building on windows with the intel compiler

Revision 1399 - Directory Listing
Modified Wed Jan 23 08:03:22 2008 UTC (15 years, 1 month ago) by trankine
It helps if I link against the correct version of python.......
Also update the netCDF variables to be the same as the
msc71 options file.

Revision 1398 - Directory Listing
Modified Wed Jan 23 07:46:09 2008 UTC (15 years, 1 month ago) by trankine
Remove the throw() modifier from the destructor declaration.

Revision 1397 - Directory Listing
Modified Wed Jan 23 07:44:46 2008 UTC (15 years, 1 month ago) by trankine
Implicit destructors are generally not virtual. DerivedEx
therefore had a non-virual destructor, which was not
compatible with the parent class destructor. That could be dangerous on some compilers.

Revision 1396 - Directory Listing
Modified Wed Jan 23 05:39:27 2008 UTC (15 years, 1 month ago) by trankine
A few functions had been moved from the cpp to the header (it appears) to inline them. However, the declarations had been lest in with an ESCRIPT_DLL_API declaration that conflicted with the inline definition.
Deleted the ESCRIPT_DLL_API forward declaration completely, and moved the doxygen style comment to the inline definition.

Revision 1395 - Directory Listing
Modified Wed Jan 23 05:32:17 2008 UTC (15 years, 1 month ago) by trankine
Remove the netCDF stuff for now, and fix the boost wchar_t handling for the intel compiler.

Revision 1394 - Directory Listing
Modified Wed Jan 23 05:24:17 2008 UTC (15 years, 1 month ago) by trankine
Somehow an ESCRIPT_DLL_API had crept into the header file, and to compound matters, the definition in the cpp file had no call method specifier at all. Windows hates people doing that.

Revision 1386 - Directory Listing
Modified Fri Jan 11 07:40:29 2008 UTC (15 years, 2 months ago) by trankine
Moving the just checked in windows modified trunk onto a branch

Revision 1320 - Directory Listing
Modified Thu Sep 27 00:51:32 2007 UTC (15 years, 5 months ago) by ksteube
Moved trunk-mpi-branch into the branches subdirectory where it belongs


Revision 756 - Directory Listing
Modified Mon Jun 26 09:35:04 2006 UTC (16 years, 8 months ago) by woo409
+ Allow for single CPU builds on cognac


Revision 755 - Directory Listing
Modified Mon Jun 26 09:31:20 2006 UTC (16 years, 8 months ago) by woo409
+get run_visualization_interface.py to look for test files in win32 area. Tests still fail because of the ordering issues mentioned in previous logs. 

Revision 754 - Directory Listing
Modified Mon Jun 26 08:00:38 2006 UTC (16 years, 8 months ago) by woo409
+ Discussion with Lutz Gross showed the tests to be dependent on the sort order, not escript itself. As a result I've backed out the addition of qsortG. Win32 will fail file comparison tests in run_generators.py (unless it uses its own generated versions). It will also fail ...onContactZero/One (8 of them) tests in run_utilOnFinley.py since the sort order change causes some of the normals to be defined the opposite way around to the reference test orientation since they are defined on the opposite face.

Revision 753 - Directory Listing
Modified Mon Jun 26 02:51:25 2006 UTC (16 years, 8 months ago) by woo409
+ Made qsortG usage conditional on USE_QSORTG being defined

Note both altix and win32 fail the test_normal_onFunctionContactOne/Zero tests when using QSORTG.

Perhaps QSORTG isn't stable or altix isn't or I've introduced some other bug...I'll try altix without qsortG and see what happens.
This is becoming painful.

Revision 752 - Directory Listing
Modified Mon Jun 26 02:25:41 2006 UTC (16 years, 8 months ago) by woo409
+ Added a qsort.c file which contains a drop in replacement for qsort (call it as qsortG). This one appears to be a stable implementation and the test .msh files on windows have been set up to be the same as unix again except for the exponent digits (3 instead of 2).
With ALL the qsorts replaced with qsortG only two tests fail now on win32:
test_normal_onFunctionOnContactOne
test_normal_onFunctionOnContactZero

Both give wrong result errors.

I will check this same code on the altix (including the use of qsortG and see if Altix has the same problem.

Revision 750 - Directory Listing
Modified Sun Jun 25 13:05:29 2006 UTC (16 years, 8 months ago) by woo409
+ Removed the debugging code inserted in an effort to track down a difference in the win32 and linux codes. Turns out the problem is with the Utils.c use of quicksort and the test cases. Quicksort is not guaranteed to be stable (retain array order when comparison is equal) which it isn't on Win32. As a result the output files used for regression tests are different for windows
Still verifying but make sense.

Revision 749 - Directory Listing
Modified Sun Jun 25 08:26:40 2006 UTC (16 years, 8 months ago) by woo409
+ Commiting some DEBUGGING code which will need to be removed later. I need to test on both win32 and altix. It appears something is being initialised incorrectly for Finley_ElementFile stuff on win32. I've modified Mesh_line2.c to assist in tracking this down (though it is common to anything that has useElementsOnFace true when constructed).
When I find it this is going to be one seriously stupid and expensive to find bug.

Revision 748 - Directory Listing
Modified Sat Jun 24 15:09:10 2006 UTC (16 years, 8 months ago) by woo409
+ run_generators.py now has a commented section that you can uncomment to have it dump out the reference files
+ Win32 output files differ not only in the exponent (e+000 instead of e+00) format but also in order for part of the file. The same code has been compiled on altix and it passes the tests with the original files. I've no idea why the win32 version produces a different order.
THIS REQUIRES FURTHER INVESTIGATION
Does the output file require the lines to be in a specific order (it doesn't appear to effect anything else)?

Revision 747 - Directory Listing
Modified Sat Jun 24 12:58:50 2006 UTC (16 years, 8 months ago) by woo409
+ re-enabled all the tests in run_generators.py
+ Fixed up some extra #includes left over from initial port
+ nelix_kb_options.py now has some additional optimisation flags for my notebooks pentium M processor

Revision 746 - Directory Listing
Modified Sat Jun 24 12:47:22 2006 UTC (16 years, 8 months ago) by woo409
+ Just turning on and off a few tests in run_generators which is currently producing different order in the outputs for files with contacts. The lines are the same just in a different order. Quite strange.


Revision 745 - Directory Listing
Modified Sat Jun 24 12:16:19 2006 UTC (16 years, 8 months ago) by woo409
+ The joys of cross-platform and multi-language development. You can't use C preprocessor macros in a PYTHON file!!! <grin>


Revision 744 - Directory Listing
Modified Sat Jun 24 12:05:12 2006 UTC (16 years, 8 months ago) by woo409
+ Fixed up some #else statements that were in the wrong order and prevented compilation on altix


Revision 743 - Directory Listing
Modified Sat Jun 24 11:44:55 2006 UTC (16 years, 8 months ago) by woo409
+ Some additional files for the win32 port
  + The additional test meshes are because windows produces floating point numbers like this 12e+001 where are unix is 12e+01
  + nelix_kb_options.py is my notebooks config file. I've included it as an example of win32 compilation options
  + system_dep.h is there for win32 shared library function export/import macros and also to use the intel mathimf.h library since the standard MS VC++ math.h doesn't have all the necessary functions. NOTE this file must be included before all other headers to prevent inclusion of math.h

Revision 742 - Directory Listing
Modified Sat Jun 24 11:27:16 2006 UTC (16 years, 8 months ago) by woo409
+ Initial commit of win32 port using intel c++ compiler 9.1.x for Windows
+ This version is failing some file handling tests in python

Revision 678 - Directory Listing
Modified Sun Mar 26 12:20:00 2006 UTC (16 years, 11 months ago) by robwdcock
+Allow for environment variable PATH, LD_LIBRARY_PATH, and PYTHONPATH to 
not exist in the users environment.


Revision 677 - Directory Listing
Modified Sun Mar 26 11:25:19 2006 UTC (16 years, 11 months ago) by robwdcock
+ Opps forgot to commit the lines that add the PYTHONPATH to the scons ENV used for calling external programs


Revision 676 - Directory Listing
Modified Sun Mar 26 10:13:34 2006 UTC (16 years, 11 months ago) by robwdcock
+ Modified test SConscript dependencies to remove redundant call to explicit dependency
+ Modified scon_extensions.py - run unit tests (py and C++) now use scons::Execute rather than python os.system. This ensures the development environment
is used rather than the users environment to run the tests
+ SConstruct file now sets up LD_LIBRARY_PATH and PYTHONPATH to point to the current builds pyinstall and libinstall paths as required.
IT IS NO LONGER NECESSARY TO SET LD_LIBRARY_PATH and PYTHONPATH to point at your build outputs. Much safer in the presence of multiple checked out builds.
Under these circumstances you are better of using scons to run the tests rather than doing so directly. Easiest way to do this is to build the test output target for the test you want:
e.g. scons build/posix/bruce/test/python/ImportTest.passed
or if you prefer
cd build/posix/bruce/test/python
scons -u ImportTest.passed



Revision 675 - Directory Listing
Modified Sun Mar 26 07:28:06 2006 UTC (16 years, 11 months ago) by robwdcock
+ Add an all_tests targets: run_tests and py_tests


Revision 674 - Directory Listing
Modified Sun Mar 26 07:21:48 2006 UTC (16 years, 11 months ago) by robwdcock
+Some more svn:ignore properties.


Revision 673 - Directory Listing
Modified Sun Mar 26 07:16:42 2006 UTC (16 years, 11 months ago) by robwdcock
+ Added some svn:ignore properties so .pyc files aren't reported during svn status and friends
+ Removed esys directory. Build system will create the pyinstall/esys target and touch the __init__.py file in it as part of the build process. This means you can now direct scons to perform an install of the python directly into your desired location rather than just in the root of the source tree.


Revision 672 - Directory Listing
Modified Sat Mar 25 16:21:22 2006 UTC (16 years, 11 months ago) by robwdcock
+ Scons cflags are added to cxxflags. Only need to list extra flags for
C++


Revision 671 - Directory Listing
Modified Sat Mar 25 16:04:24 2006 UTC (16 years, 11 months ago) by robwdcock
+ scons adds CCFLAGS to CXXFLAGS so the c++ flags only need to specify the c++ specific ones in the options file. 



Revision 670 - Directory Listing
Modified Sat Mar 25 14:56:39 2006 UTC (16 years, 11 months ago) by robwdcock
+ Changed include paths to no longer require the cpp suffix (missed in earlier
  commit)
+ modified tests so they no longer install to #/lib


Revision 669 - Directory Listing
Modified Sat Mar 25 13:35:55 2006 UTC (16 years, 11 months ago) by robwdcock
+ Added lib back in. Once cppunit is removed this will no longer be
necessary as scons will no longer through up an error when looking for 
cppunit lib path when it hasn't been built yet.


Revision 668 - Directory Listing
Modified Sat Mar 25 13:27:27 2006 UTC (16 years, 11 months 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 (17 years 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 (17 years 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 665 - Directory Listing
Modified Fri Mar 24 09:30:44 2006 UTC (17 years ago) by robwdcock
+Some tidying up and fixme comments so we remember to fix this test later


Revision 664 - Directory Listing
Modified Fri Mar 24 09:28:36 2006 UTC (17 years ago) by robwdcock
+Remove old unit test


Revision 663 - Directory Listing
Modified Fri Mar 24 09:26:58 2006 UTC (17 years ago) by robwdcock
+Remove old Sconstruct files


Revision 662 - Directory Listing
Modified Fri Mar 24 09:15:54 2006 UTC (17 years ago) by robwdcock
+Modellib now include in build


Revision 661 - Directory Listing
Modified Fri Mar 24 09:13:00 2006 UTC (17 years ago) by robwdcock
+py_tests now runs. Be patient, it is all of them!!


Revision 659 - Directory Listing
Modified Fri Mar 24 08:40:50 2006 UTC (17 years ago) by robwdcock
+Added dependency to libinstall. Painful because these tests should depend only on escript. Unfortunately some python unit tests are requiring finley to do stuff.


Revision 658 - Directory Listing
Modified Fri Mar 24 08:39:41 2006 UTC (17 years ago) by robwdcock
+Linker is sensitive to library order. mkl_solver needs to be near the
end or paradiso_ goes missing


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


Revision 655 - Directory Listing
Modified Fri Mar 24 07:55:21 2006 UTC (17 years ago) by robwdcock
# fix some lib flags


Revision 654 - Directory Listing
Modified Fri Mar 24 07:35:06 2006 UTC (17 years ago) by robwdcock
+Opps, missed a file again


Revision 652 - Directory Listing
Modified Fri Mar 24 07:34:18 2006 UTC (17 years ago) by robwdcock
+Add py_tests targets and get script ones running


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


Revision 650 - Directory Listing
Modified Fri Mar 24 06:13:52 2006 UTC (17 years ago) by phornby
Builds and passes on linux (debian)



Revision 649 - Directory Listing
Modified Fri Mar 24 06:07:07 2006 UTC (17 years ago) by robwdcock
+Opps, helps if you include the two new files for Finley tests


Revision 648 - Directory Listing
Modified Fri Mar 24 06:04:57 2006 UTC (17 years ago) by robwdcock
+Finely unit tests now running in build system

All C++ tests run and compile on Altix, I expect the same result for Linux so you may not see another log message for that.



Revision 647 - Directory Listing
Modified Fri Mar 24 05:23:05 2006 UTC (17 years ago) by robwdcock
+ Prep for unit test consolidation consistent with other modules
NOTE: HBtest and MMtest appear to be stale tests and are not built using the scons system. They have been removed.


Revision 646 - Directory Listing
Modified Fri Mar 24 04:22:28 2006 UTC (17 years ago) by robwdcock
+ Now compiles and passes tests on AcCESS machine. Some minor mods to
the configuraiton file required as we've moved to the intel 9.0.026
compiler


Revision 642 - Directory Listing
Modified Thu Mar 23 14:03:49 2006 UTC (17 years ago) by robwdcock
+ Bruce unit tests consolidated and added to build system


Revision 641 - Directory Listing
Modified Thu Mar 23 14:02:26 2006 UTC (17 years ago) by robwdcock
+ First compilation under Linux with new xplatform build system. Some minor adjustments because didn't like None objects in a list so using '' instead
Note: Most everything appears to compile but the Data test suite is failing to pass in testMore - Exercise wherePositive method.
This test passes on altix.



Revision 640 - Directory Listing
Modified Thu Mar 23 13:45:12 2006 UTC (17 years ago) by robwdcock
+Preparing for unit test consolidation


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


Revision 638 - Directory Listing
Modified Thu Mar 23 13:06:01 2006 UTC (17 years ago) by robwdcock
+Unit tests unified into escript_UnitTest
+SConscript support for build_tests and run_tests


Revision 636 - Directory Listing
Modified Thu Mar 23 09:46:31 2006 UTC (17 years ago) by robwdcock
Clean up test into single test suite and only one SConscript file so it is easier to maintain.
Note:
+ Use the command line options on tests in order to run only one of them if you need to
+ THIS DOESN'T WORK YET: I've not merged the tests, that will follow shortly
+ I do hope this merges with the changes on the trunk!


Revision 635 - Directory Listing
Modified Thu Mar 23 08:56:35 2006 UTC (17 years ago) by robwdcock
+EsysExceptionTest and build_tests and run_tests targets now operating as per original build system



Revision 634 - Directory Listing
Modified Thu Mar 23 06:03:46 2006 UTC (17 years ago) by robwdcock
+ Opps windows build wasn't getting options passed into environment!
Note: Windows build environment for intel_c compiler is only partially building. Looks like there will be a few source code adjustments necessary to tweak things. Still, much better than the msvc compiler. It also has openmp support - now I just need a dual core cpu notebook upgrade.

Revision 632 - Directory Listing
Modified Thu Mar 23 05:00:51 2006 UTC (17 years ago) by robwdcock
+Fix problem in setting flags when no options file is used

Revision 630 - Directory Listing
Modified Thu Mar 23 04:02:59 2006 UTC (17 years ago) by robwdcock
Some minor tweaks on the flags for the new build system


Revision 624 - Directory Listing
Modified Wed Mar 22 23:00:01 2006 UTC (17 years ago) by robwdcock
+ Finish off the header file path changes
+ The C/C++ libraries now all compile on the ivec altix (cognac) using the xplatform build system


Revision 623 - Directory Listing
Modified Wed Mar 22 14:11:03 2006 UTC (17 years 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 (17 years ago) by robwdcock
Creating a private branch so I can test and verify cross-platform build

Revision 333 - Directory Listing
Modified Wed Dec 7 08:00:54 2005 UTC (17 years, 3 months ago) by phornby
Getting to build on our altix to see if any of the source files have been broken by the windows changes.



Revision 332 - Directory Listing
Modified Wed Dec 7 07:50:18 2005 UTC (17 years, 3 months ago) by phornby
Split the include and lib dirs for python & boost.
Added the altix support to SConstruct & tidied the options handling a bit.



Revision 305 - Directory Listing
Modified Sat Dec 3 05:05:25 2005 UTC (17 years, 3 months ago) by robwdcock
+ Added default targets and test target aliases to control what is built better.

Revision 240 - Directory Listing
Modified Mon Nov 28 06:09:41 2005 UTC (17 years, 3 months ago) by robwdcock
+ Fixed problem with build paths for python tests being in the wrong location
+ Added build & run for python unit tests for escript and finley.

NOTES
+ scons defaults to building ALL targets so if will build everything, including running all tests. This behaviour can be modified by specifying the DEFAULT targets but I've not done this yet. In the interim specify the target you want.
+ Some dependencies need to be specified as scons does not figure them out automatically, though a helper scanner might be able to. These can be specified explicitly using scons Depend function. Not yet done so you can get an invalid build (especially in parallel). Examples include python depends on shared libraries, possibly a couple of library dependencies for install targets - need to verify. 

Revision 234 - Directory Listing
Modified Sun Nov 27 05:34:35 2005 UTC (17 years, 3 months ago) by robwdcock
Paso -> paso  - why do these changes just not stick!!!!

Revision 233 - Directory Listing
Modified Sun Nov 27 05:15:46 2005 UTC (17 years, 3 months ago) by robwdcock
fixed case for Paso/ includes to be paso/

Revision 232 - Directory Listing
Modified Fri Nov 25 09:59:48 2005 UTC (17 years, 3 months ago) by phornby
1) Rob, could you please set up your editor to not put CR's into the files.
2) The import esys.bruce fails on Linux, but the rest seems OK.

Here is how things go.

If a directory (bruce say) contains an __init__.py, then import esys.bruce actually imports
the __init__.py file. One can either phoney up the namespace by then saying

from bruce import *

in __init__.py (ugly!!) or just rename bruce.py to __init__.py.

All the sub-packages need this treatment. I suggest doing it with the .py files in the
source tree rather than re-naming at build time. Any other modules in the sub-directory
can then be imported into the __init__.py in the usual way in order to make them visible
to the user. Alternatively, any module not imported to __init__.py is invisible to the user.
This is much better than mucking with PYTHON_PATH and LD_LIBRARY_PATH, which has a tendency
to make everything visible, and creates module name clashes in site-packages on occasions. 
The .so associated with a sub-directory should reside with the corresponding __init__.py
that imports it.

Careful use of "from AClass import AClass" and "from ASharedLib import *" in __init__.py
is also a good method of making classes contained in submodules
look like they are in the namespace of the __init__.py, thereby hiding
the intervening module name from the user. That way esys.bruce.AClass.AClass can be morphed
into esys.bruce.AClass, eliminating the annoying intervening module namespace.



Revision 231 - Directory Listing
Modified Fri Nov 25 09:15:24 2005 UTC (17 years, 3 months ago) by phornby
Case sensitive file names.



Revision 230 - Directory Listing
Modified Fri Nov 25 06:51:36 2005 UTC (17 years, 3 months ago) by robwdcock
+ Added ability to RunPyUnitTests when anything they depend on changes (assuming all dependencies are set up that is). Only implemented for bruce/test/python at this stage

Revision 229 - Directory Listing
Modified Fri Nov 25 06:17:13 2005 UTC (17 years, 3 months ago) by robwdcock
+ Added Options capability
+ All py files are now compiled and installed into lib directory hierarchy
+ scons now reads custom options from custom.py. Examples are in the scons_custom_templates directory, just copy to top level build dir and rename to custom.py
+ scons_ext.py now has some helper functions for building pyc from python and running unit tests (but only when some dependency changes).



Revision 222 - Directory Listing
Modified Thu Nov 24 12:54:42 2005 UTC (17 years, 3 months ago) by robwdcock
+Unified with linux build (tested on windows only at this point)

Revision 221 - Directory Listing
Modified Thu Nov 24 11:23:33 2005 UTC (17 years, 3 months ago) by phornby
Builds on Linux. Changes to path names in top level
SConstruct will break the windows build. I've done my best
to not change anything else that would break windows, but
something might have slipped past.

Please check the finley_UnitTests.cpp, bruce_UnitTests.cpp and
escript_UnitTest.cpp (look at the TODO).



Revision 220 - Directory Listing
Modified Thu Nov 24 09:11:38 2005 UTC (17 years, 3 months ago) by robwdcock
Python compile builder function added to scons. Bruce sconscript file shows usage

Revision 219 - Directory Listing
Modified Thu Nov 24 08:21:21 2005 UTC (17 years, 3 months ago) by phornby
Case matters on Linux



Revision 218 - Directory Listing
Modified Thu Nov 24 07:42:12 2005 UTC (17 years, 3 months ago) by robwdcock
All C++/C Unit tests now build (using scons) and pass on win32

Revision 213 - Directory Listing
Modified Thu Nov 24 04:18:40 2005 UTC (17 years, 3 months ago) by robwdcock
SystemMatrixAdapterTestCase is broken and will not compile. Looks like it hasn't been updated to use Paso_SystemMatrix (used to be Finley_SystemMatrix?). I don't know the history so I'm moving the test out of the way for the moment.

Revision 212 - Directory Listing
Modified Thu Nov 24 04:16:33 2005 UTC (17 years, 3 months ago) by robwdcock
Reorganise the unit test source tree and how it operates. All tests in the suite are now compiled into a single executable. If for some reason you want to run just one then use the following syntax on the command line:
finley_UnitTests --suite=Atest,AnotherTest,YetAnotherTest,...



Revision 210 - Directory Listing
Modified Wed Nov 23 09:54:02 2005 UTC (17 years, 3 months ago) by robwdcock
PARTIAL WIN32 BUILD SYSTEM AND PORT
+ All libraries now build under new build system. No unit test routines yet
+ Reversed some incorrect refactorings in Bruce.cpp


Revision 209 - Directory Listing
Modified Wed Nov 23 06:32:25 2005 UTC (17 years, 3 months ago) by robwdcock
PARTIAL WIN32 BUILD SYSTEM AND PORT
+ bruce, escript build system and library now ported
+ other no longer necessary directories removed from this branches subversion repository


Revision 200 - Directory Listing
Modified Tue Nov 22 07:55:09 2005 UTC (17 years, 4 months ago) by robwdcock
PARTIAL WIN32 BUILD SYSTEM AND PORT
+ CppUnitTest build system and library now ported
+ make directory and other no longer necessary directories removed from this branches subversion repository
+ moved a few include files so they are now resident with sources. Build system will Install these to the appropriate location during build.

Revision 194 - Directory Listing
Modified Mon Nov 21 08:39:19 2005 UTC (17 years, 4 months ago) by phornby
Remove hanging }



Revision 186 - Directory Listing
Modified Sun Nov 20 10:51:16 2005 UTC (17 years, 4 months ago) by robwdcock
PARTIAL WIN32 PORT
+ Paso, ext_math and mmio libraries build using scons in top level directory
+ Scons build system currently hard coded against RW's third-party library paths.
+ Still lots TODO to complete port and build system 

Revision 185 - Directory Listing
Modified Sun Nov 20 05:43:12 2005 UTC (17 years, 4 months ago) by robwdcock
Robert Woodcock private branch for win32 port. Will eventually be merged with trunk when build systems are unified.

Revision 1 - Directory Listing
Added Wed Nov 2 04:33:37 2005 UTC (17 years, 4 months ago) by jgs
add branches/tags/trunk directories to esys13 repository


  ViewVC Help
Powered by ViewVC 1.1.26