[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#457075: Salomé packaging



Hello Adam,

I have just succeeded to make a 5.1.3-9 release with VISU, I have
enclosed the 2 patches. I also wanted to let you know that I have
understood the runtime problems of VISU but I need to progress
by steps (my solution is still too messy for being published). I will
first be glad if the -9 release works for you too.

With a fresh sid version, I got a problem on /bin/sh now linked to dash
because autoconf publishes configure scripts with /bin/sh at top but
the KERNEL configure.ac script uses 'function' which is a bash command.
I could not find a solution yet (even by tweaking SHELL and
CONFIG_SHELL). 

Then I wonder if doing a:
    chmod -x debian/tmp/usr/lib/python2.5/*-packages/salome/*
is a nice idea because you can not list directories any more. I got
this problem while debugging. I will try to provide a solution on that
point by listing required scripts.

Best regards,

André

> On Mon, 2010-05-17 at 12:06 +0200, Andre Espaze wrote:
> > Hi Adam,
> > 
> > Sorry for the lack of news, I was focus on making VISU work.  I have
> > succeeded to build a Salome package however the current result is
> > unfortunately split from our development line. That's why I will first
> > explain my steps and then ask your advice on the merge as I saw that
> > serious reorganizations are also pending.
> > 
> > My goal is to provide a functional Salome package for mechanical
> > engineering even if incomplete. As a consequence the necessary modules
> > are for me KERNEL, GUI, GEOM, MED, SMESH and VISU. As VISU was failing
> > in the build process of debian/rules, I decided to build it by hand by
> > exporting the necessary environment variables. In that case I only had
> > to modify the gui-build-in-tree.patch (attached to the mail) for making
> > the libVISU linking work by adding the path to libToolsGUI.
> > However, back to the complete debian/rules process, the compilation
> > was still failing in the VISU CONVERTER library because of an absent
> > template symbol (probably the same problem described in your mail on
> > the 25th of January). So I needed to investigate the configure and 
> > build steps of debian/rules but those steps take lot of time. For 
> > easing my researchs, I decided to work on a package building
> > only the necessary modules which I called salome-core. The working
> > snapshot is available here:
> > http://www.python-science.org/files/salome-core.tar.gz
> > and I have attached the resulting debian/rules which configure
> > every module separately. I could not find the problem in the 
> > previous loop configuration.
> > 
> > >From there two questions arise. First, I like the debian/rules file
> > of salome-core but I remember that you were against such solution for
> > maintenance reasons. Would you like me to adapt it as a loop or did you
> > finally change your mind? From now it seems anyway that VISU needs to be
> > configured separately. Second, could the current salome-core package be
> > a starting point for the reorganizations that we discussed previously?
> > For me it has the main advantage to build only the necessary modules,
> > thus saving time for every run of Salome packaging. However it will 
> > require to write several packages (salome-advance and salome-dev). 
> > By comparing to the opencascade package, I understand that the whole
> > building should be made in a row and the subpackages splitted by 
> > several *.install files.
> > 
> > ...
> > > > > > -          self.CMD=['SALOME_ContainerPy.py','FactoryServerPy']
> >         +          self.CMD=['SALOME_Container','FactoryServerPy']
> > (I have adapted the patch to the current version.)
> > ...
> > > I just took care of this, the result is in the alioth git repository.
> > Thank you for the update. Even if the current version work, I would
> > prefer to rename 'SALOME_ContainerPy.py' to 'SALOME_ContainerPy' because
> > '/usr/bin/SALOME_Container' already exists and is finally overwritten in
> > the install step of debian/rules.
> > 
> > Even if several points still need to be discussed or adapted, the
> > good point is that we know now how to build a Salome package with the
> > essential modules. Once again, thank you very much for all your efforts.
> > I am going to track the remaining bugs at runtime (some menu do not show
> > up in SMESH, the results can not be seen in VISU).
> > 
> > All the best,
> > 
> > André
> -- 
> GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6
> 
> Engineering consulting with open source tools
> http://www.opennovation.com/


commit 79661ecbf3ef61cf184ca76dca1402559aa59aa4
Author: André Espaze <andre.espaze@logilab.fr>
Date:   Tue May 11 16:24:43 2010 +0200

    Adding TOOLSGUI to GUI_LDFLAGS for building VISU

diff --git a/debian/patches/gui-build-in-tree.patch b/debian/patches/gui-build-in-tree.patch
index 6fbee7d..9e54e08 100644
--- a/debian/patches/gui-build-in-tree.patch
+++ b/debian/patches/gui-build-in-tree.patch
@@ -1,8 +1,10 @@
 Changes needed to build all modules before installing them.
 
---- salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4~	2010-01-22 19:55:47.000000000 +0100
-+++ salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4	2010-01-22 20:02:01.000000000 +0100
-@@ -59,19 +59,27 @@
+diff --git a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4 b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4
+index ec07762..73d2eb9 100755
+--- a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4
++++ b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4
+@@ -59,19 +59,27 @@ if test -f ${SALOME_GUI_DIR}/bin/salome/$1 ; then
    SalomeGUI_ok=yes
    AC_MSG_RESULT(Using SALOME GUI distribution in ${SALOME_GUI_DIR})
  
@@ -12,7 +14,7 @@ Changes needed to build all modules before installing them.
 +  SalomeGUI_ok=yes
 +  AC_MSG_RESULT(Using SALOME GUI source directory in ${SALOME_GUI_DIR})
 +
-+  GUI_LDFLAGS="-L${SALOME_GUI_DIR}/src/SUIT -L${SALOME_GUI_DIR}/src/Qtx -L${SALOME_GUI_DIR}/src/VTKViewer -L${SALOME_GUI_DIR}/src/SVTK -L${SALOME_GUI_DIR}/src/OBJECT -L${SALOME_GUI_DIR}/src/SalomeApp -L${SALOME_GUI_DIR}/src/Session -L${SALOME_GUI_DIR}/src/LightApp -L${SALOME_GUI_DIR}/src/OCCViewer -L${SALOME_GUI_DIR}/src/CAM -L${SALOME_GUI_DIR}/src/SOCC -L${SALOME_GUI_DIR}/src/Event -L${SALOME_GUI_DIR}/src/Prs -L${SALOME_GUI_DIR}/src/STD -L${SALOME_GUI_DIR}/src/PyConsole -L${SALOME_GUI_DIR}/src/SPlot2d -L${SALOME_GUI_DIR}/src/Plot2d -L${SALOME_GUI_DIR}/src/ObjBrowser -L${SALOME_GUI_DIR}/src/PyInterp -L${SALOME_GUI_DIR}/src/LogWindow -L${SALOME_GUI_DIR}/src/GLViewer -L${SALOME_GUI_DIR}/src/SUPERVGraph -L${SALOME_GUI_DIR}/src/SUITApp -L${SALOME_GUI_DIR}/src/QxScene"
++  GUI_LDFLAGS="-L${SALOME_GUI_DIR}/src/SUIT -L${SALOME_GUI_DIR}/src/Qtx -L${SALOME_GUI_DIR}/src/VTKViewer -L${SALOME_GUI_DIR}/src/SVTK -L${SALOME_GUI_DIR}/src/OBJECT -L${SALOME_GUI_DIR}/src/SalomeApp -L${SALOME_GUI_DIR}/src/Session -L${SALOME_GUI_DIR}/src/LightApp -L${SALOME_GUI_DIR}/src/OCCViewer -L${SALOME_GUI_DIR}/src/CAM -L${SALOME_GUI_DIR}/src/SOCC -L${SALOME_GUI_DIR}/src/Event -L${SALOME_GUI_DIR}/src/Prs -L${SALOME_GUI_DIR}/src/STD -L${SALOME_GUI_DIR}/src/PyConsole -L${SALOME_GUI_DIR}/src/SPlot2d -L${SALOME_GUI_DIR}/src/Plot2d -L${SALOME_GUI_DIR}/src/ObjBrowser -L${SALOME_GUI_DIR}/src/PyInterp -L${SALOME_GUI_DIR}/src/LogWindow -L${SALOME_GUI_DIR}/src/GLViewer -L${SALOME_GUI_DIR}/src/SUPERVGraph -L${SALOME_GUI_DIR}/src/SUITApp -L${SALOME_GUI_DIR}/src/QxScene -L${SALOME_GUI_DIR}/src/TOOLSGUI"
 +  GUI_CXXFLAGS="-I${SALOME_GUI_DIR}/src/SVTK -I${SALOME_GUI_DIR}/src/OBJECT -I${SALOME_GUI_DIR}/src/VTKViewer -I${SALOME_GUI_DIR}/src/SUIT -I${SALOME_GUI_DIR}/src/Qtx -I${SALOME_GUI_DIR}/src/SalomeApp -I${SALOME_GUI_DIR}/src/LightApp -I${SALOME_GUI_DIR}/src/CAM -I${SALOME_GUI_DIR}/src/STD -I${SALOME_GUI_DIR}/src/OCCViewer -I${SALOME_GUI_DIR}/src/Prs -I${SALOME_GUI_DIR}/src/SOCC -I${SALOME_GUI_DIR}/src/ObjBrowser -I${SALOME_GUI_DIR}/src/Event -I${SALOME_GUI_DIR}/src/PyConsole -I${SALOME_GUI_DIR}/src/SPlot2d -I${SALOME_GUI_DIR}/src/Plot2d -I${SALOME_GUI_DIR}/src/GLViewer -I${SALOME_GUI_DIR}/src/QxScene"
 +else
 +  AC_MSG_WARN("Cannot find compiled SALOME GUI distribution")
@@ -35,7 +37,7 @@ Changes needed to build all modules before installing them.
  fi
    
  AC_MSG_RESULT(for $2: ${SalomeGUI_ok})
-@@ -80,5 +88,6 @@
+@@ -80,5 +88,6 @@ AC_MSG_RESULT(for $2: ${SalomeGUI_ok})
  
  AC_DEFUN([CHECK_SALOME_GUI],[
    CHECK_GUI([SUITApp],
@@ -43,9 +45,11 @@ Changes needed to build all modules before installing them.
 +            [SALOME GUI],
 +            [SUITApp],)
  ])dnl
---- salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4~	2009-12-01 15:59:03.000000000 +0100
-+++ salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4	2010-01-22 12:25:48.000000000 +0100
-@@ -26,7 +26,8 @@
+diff --git a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4 b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4
+index cfa4a04..6bbf7b8 100755
+--- a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4
++++ b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4
+@@ -26,7 +26,8 @@ dnl
  
  AC_DEFUN([CHECK_CORBA_IN_GUI],[
    CHECK_GUI([SALOME_Session_Server],
@@ -55,11 +59,11 @@ Changes needed to build all modules before installing them.
    CORBA_IN_GUI=${SalomeGUI_ok}
    AC_SUBST(CORBA_IN_GUI)
  ])dnl
-Changes needed to build all modules before installing them.
-
---- salome-5.1.3/GUI_SRC_5.1.3/idl/Makefile.am~	2009-12-01 09:58:51.000000000 -0500
-+++ salome-5.1.3/GUI_SRC_5.1.3/idl/Makefile.am	2010-01-07 12:48:31.000000000 -0500
-@@ -49,9 +49,9 @@
+diff --git a/GUI_SRC_5.1.3/idl/Makefile.am b/GUI_SRC_5.1.3/idl/Makefile.am
+index c234fd0..3986923 100755
+--- a/GUI_SRC_5.1.3/idl/Makefile.am
++++ b/GUI_SRC_5.1.3/idl/Makefile.am
+@@ -49,9 +49,9 @@ libSalomeIDLGUI_la_LIBADD  = @CORBA_LIBS@
  # These variables defines the building process of CORBA files
  OMNIORB_IDL         = @OMNIORB_IDL@
  OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@
@@ -72,7 +76,7 @@ Changes needed to build all modules before installing them.
  
  # potential problem on parallel make on the following - multiple outputs
  SUFFIXES = .idl .hh SK.cc
-@@ -82,7 +82,7 @@
+@@ -82,7 +82,7 @@ mostlyclean-local:
  	@for dep in $^ dummy; do \
  	  if [ $$dep != "dummy" ]; then \
  	    echo Building dependencies for $$dep; \
commit 2023d9d513d16a2eb8d99117122e0859bd8aa3d8
Author: André Espaze <andre.espaze@logilab.fr>
Date:   Thu May 27 18:13:37 2010 +0200

    Trying to make a 5.1.3-9 release
    
    The VISU module can be built but it needs to be configured
    separately.

diff --git a/debian/changelog b/debian/changelog
index a7aa610..61b26ca 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,13 @@
-salome (5.1.3-9) UNRELEASED; urgency=low
+salome (5.1.3-9) unstable; urgency=low
 
   [ Denis Barbier ]
   * Removed contrib from package sections, as it dates to long-past times when
     Open CASCADE was non-free.
+  [ Andre Espaze]
+  * Adding TOOLSGUI to GUI_LDFLAGS for building VISU
+  * Configuring VISU outside the for loop makes the build success
 
- --
+ -- Andre Espaze <andre.espaze@logilab.fr>  Thu, 27 May 2010 08:32:15 -0400
 
 salome (5.1.3-8) unstable; urgency=low
 
diff --git a/debian/rules b/debian/rules
index cdb2dd9..4cf30ea 100755
--- a/debian/rules
+++ b/debian/rules
@@ -29,6 +29,7 @@ SALOME_MODULES = KERNEL_SRC_$(SALOME_VERSION) \
   GUI_SRC_$(SALOME_VERSION) \
   GEOM_SRC_$(SALOME_VERSION) \
   MED_SRC_$(SALOME_VERSION) \
+  VISU_SRC_$(SALOME_VERSION) \
   SMESH_SRC_$(SALOME_VERSION) \
   YACS_SRC_$(SALOME_VERSION) \
   MULTIPR_SRC_$(SALOME_VERSION) \
@@ -98,8 +99,10 @@ configure-stamp:
 #	Install new .in files
 	cp -fp debian/runSalome.in debian/killSalome.in KERNEL_SRC_$(SALOME_VERSION)/bin/
 	cp -fp debian/envProducts.sh.in KERNEL_SRC_$(SALOME_VERSION)/bin/appliskel/env.d/
-
 	for salomodule in $(SALOME_MODULES); do \
+	  if [ $$salomodule == VISU_SRC_$(SALOME_VERSION) ]; then \
+		continue; \
+	  fi; \
 	  echo; echo CONFIGURING SALOME MODULE $$salomodule; echo; \
 	  (cd $$salomodule && \
 	   KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \
@@ -127,6 +130,19 @@ configure-stamp:
 	     SMESH_ROOT_DIR=$(CURDIR)/SMESH_SRC_$(SALOME_VERSION) \
 	     SIERPINSKY_ROOT_DIR=$(CURDIR)/SMESH_SRC_$(SALOME_VERSION)); \
 	done
+	# From now configuring VISU outside the for loop
+	# makes the build success
+	(cd VISU_SRC_$(SALOME_VERSION) && \
+	KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \
+	GUI_ROOT_DIR=$(CURDIR)/GUI_SRC_$(SALOME_VERSION) \
+	MED_ROOT_DIR=$(CURDIR)/MED_SRC_$(SALOME_VERSION) \
+	./build_configure && \
+	./configure --prefix=/usr \
+	--with-mpi=/usr --with-mpi_include=/usr/include/mpi \
+	VTKSUFFIX=-5.4 CASROOT=/usr \
+	KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \
+	GUI_ROOT_DIR=$(CURDIR)/GUI_SRC_$(SALOME_VERSION) \
+	MED_ROOT_DIR=$(CURDIR)/MED_SRC_$(SALOME_VERSION));
 #	Restore these when the XDATA clean target actually works
 #	echo; echo CONFIGURING SALOME MODULE XDATA; echo
 #	(cd XDATA_SRC_$(SALOME_VERSION) && \
@@ -161,8 +177,8 @@ build-indep-stamp: configure-stamp
 	make -C PYHELLO_SRC_$(SALOME_VERSION)/doc usr_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc
 	echo; echo GENERATING DOCUMENTATION IN MODULE PYCALCULATOR; echo
 	make -C PYCALCULATOR_SRC_$(SALOME_VERSION)/doc dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc
-#	echo; echo GENERATING DOCUMENTATION IN MODULE VISU; echo
-#	make -C VISU_SRC_$(SALOME_VERSION)/doc usr_docs dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc
+	echo; echo GENERATING DOCUMENTATION IN MODULE VISU; echo
+	make -C VISU_SRC_$(SALOME_VERSION)/doc usr_docs dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc
 	echo; echo GENERATING DOCUMENTATION IN MODULE SMESH; echo
 	make -C SMESH_SRC_$(SALOME_VERSION)/doc usr_docs dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc
 	echo; echo GENERATING DOCUMENTATION IN MODULE YACS; echo

Reply to: