Project

General

Profile

Feature #744

libxml2 build on test server

Added by Rogers, Chris almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Build System
Target version:
Start date:
13 October 2011
Due date:
14 October 2011
% Done:

100%

Estimated time:
Workflow:

Description

Need to get libxml2 building on test server

#1

Updated by Rogers, Chris almost 10 years ago

Problem number 1: test server doesn't have python2.7 natively, so need to coax libxml2 into believing it wants to build against "our" python2.7...

#2

Updated by Rogers, Chris almost 10 years ago

So libxml2 make reports "can't find -lpython2.7". $MAUS_ROOT_DIR/third_party/install/lib/ is in the LD_LIBRARY_PATH. I think direct call to ld ignores LD_LIBRARY_PATH. Try adding $MAUS_ROOT_DIR/third_party/install/lib/ to LDLIBS env variable...

#3

Updated by Rogers, Chris almost 10 years ago

Looks like that works building on test server and I can now import libxml2. Not as painful as I expected. Watch test job in rogers...

#4

Updated by Rogers, Chris almost 10 years ago

  • Due date set to 14 October 2011
#5

Updated by Littlefield, Matthew almost 10 years ago

Thats fantastic! Is there anything I need to do to my branch? Can I try rebuilding my testserver branch?

#7

Updated by Rogers, Chris almost 10 years ago

(It built on my branch, and I think imported libxml2 okay, but I forgot to commit the libxslt stuff)

#8

Updated by Littlefield, Matthew almost 10 years ago

ok, its pushed now so we will see (hope) it works :-)

#9

Updated by Littlefield, Matthew almost 10 years ago

is it ok to build it now?

#10

Updated by Rogers, Chris almost 10 years ago

Should be fine...

#11

Updated by Littlefield, Matthew almost 10 years ago

My build didn't work 'No module named libxml2' was the error :-(

#12

Updated by Rogers, Chris almost 10 years ago

You didn't change the libxml2 file properly. Compare:

http://test.mice.rl.ac.uk/job/MAUS_littlefield/ws/third_party/bash/42libxml2.bash/*view*/

with

http://test.mice.rl.ac.uk/job/MAUS_rogers/ws/third_party/bash/42libxml2.bash/*view*/

in particular the line

        export LDFLAGS=-L${MAUS_ROOT_DIR}/third_party/install/lib 
#13

Updated by Littlefield, Matthew almost 10 years ago

I did change it. I think that when I pushed the change it didn't go to the right branch because we set up a devel-2. Which branch is the active one now? maus-littlefield/devel/?

#14

Updated by Rogers, Chris almost 10 years ago

The test server is looking at bzr+ssh://bazaar.launchpad.net/~matthew-littlefield/maus/devel_2. I thought devel we abandoned because of the merge issues.

#15

Updated by Littlefield, Matthew almost 10 years ago

Ok, I guess when I did
bzr push
It pushed to the old branch then and didnt change the test server. Ive just pushed it again.

#16

Updated by Littlefield, Matthew almost 10 years ago

Is devel-2 the one I can see on the testserver? I have just done,

bzr push bzr+ssh://bazaar.launchpad.net/~matthew-littlefield/maus/devel_2

and it doesn't have the change in there?

#17

Updated by Rogers, Chris almost 10 years ago

I set a build running, you can see the change now at

http://test.mice.rl.ac.uk/job/MAUS_littlefield/ws/third_party/bash/42libxml2.bash/*view*/

Let's see how it does...

#18

Updated by Littlefield, Matthew almost 10 years ago

Excellent! Fingers crossed .....

#19

Updated by Rogers, Chris almost 10 years ago

I made a libxml2 job which only builds python and libxml2 for the test server - test_libxml2

#20

Updated by Littlefield, Matthew almost 10 years ago

Ok Will speed things up. I'm going to start looking for alternative ways to pass stylesheets to transform our GDML's to MICE Modules (which is what we need libxml2 for) to see if we cant just do i another way and get rid of libxml2. Although, the internet does say this is the easiest way but I will try and find an alternative netherless.

#21

Updated by Rogers, Chris almost 10 years ago

Okay, that was successful. In particular, the libxml2 library was installed in python site-packages and the command

python -m libxml2

Didn't throw an error. I will add a test for libxml2 and then try a full build, just in case something weird is happening.

http://test.mice.rl.ac.uk/job/libxml2_test/ws/third_party/install/lib/python2.7/site-packages/

#22

Updated by Rogers, Chris almost 10 years ago

In fact first I added a test for libxslt and another way of importing libxml2, just checking...

#23

Updated by Rogers, Chris almost 10 years ago

libxslt test also successful - now check against a full build

#24

Updated by Littlefield, Matthew almost 10 years ago

COuld it be just my build branch?

#25

Updated by Rogers, Chris almost 10 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

That build successfully. Try merging with the branch, it's

bzr+ssh://bazaar.launchpad.net/~chris-rogers/maus/libxml2_test/

see whether there's any differences... but I close the issue now.

#26

Updated by Rogers, Chris almost 10 years ago

Note http://test.mice.rl.ac.uk/job/libxml2_test/ now contains all of Littlefields code - passing tests, except

======================================================================
ERROR: Failure: ImportError (cannot import name GeometrySuperMouse)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/third_party/install/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/loader.py", line 390, in loadTestsFromName
    addr.filename, addr.module)
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/third_party/install/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/importer.py", line 39, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/third_party/install/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/importer.py", line 86, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/build/test_geometry/__init__.py", line 11, in <module>
    import test_geometry.test_cad_import
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/build/test_geometry/test_cad_import.py", line 7, in <module>
    from geometry.CADImport import CADImport
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/src/common_py/geometry/__init__.py", line 9, in <module>
    from geometry.GDMLtoCDB import GDMLtocdb
  File "/opt/ppd/mice/hudson/workspace/libxml2_test/src/common_py/geometry/GDMLtoCDB.py", line 7, in <module>
    from cdb import GeometrySuperMouse
ImportError: cannot import name GeometrySuperMouse

In particular, note

Check we can import libxml2 ... ok
Check we can import libxslt ... ok

Matt's branch had still xxlibxml2.bash and xxlibxslt.bash which may have been overwriting stuff, and also 42libxml2.bash didn't have execute permission so the build script failed to run. I didn't see anything else...

#27

Updated by Littlefield, Matthew almost 10 years ago

I've now merged my branch with the test server one and I am now getting the same error you are "import super maus" which means libxml2 is working WOO!

I know what this error is. It is because my code is looking for the updated version of Antony's cdb code which allows us to download the xml version of the control room data. Antony gave me some files to update my branch with the new code but I'm not sure whether it has been put into his branch yet?

Shall I update my code? Or shall I comment out that functionality and wait till the new cdb code is tested on jenkins etc?

#28

Updated by Rogers, Chris almost 10 years ago

  • Target version changed from Future MAUS release to MAUS-v0.0.9

Also available in: Atom PDF