The ebuild is not prepared to build with vtk-5.6. Reproducible: Always Steps to Reproduce: 1. emerge -va \>=sci-libs/vtk-5.6 2. emerge -va =sci-misc/salome-gui-5.1.3 Actual Results: make[2]: Entering directory `/var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/VTKViewer' /bin/sh ../../libtool --tag=CXX --mode=compile i686-pc-linux-gnu-g++ -DPACKAGE_NAME=\"Salome2\ Project\ GUI\ module\" -DPACKAGE_TARNAME=\"SalomeGUI\" -DPACKAGE_VERSION=\"5.1.3\" -DPACKAGE_STRING=\"Salome2\ Project\ GUI\ module\ 5.1.3\" -DPACKAGE_BUGREPORT=\"webmaster.salome@opencascade.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SalomeGUI\" -DVERSION=\"5.1.3\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_LIBDL=1 -DHAVE_LIBM=1 -DHAVE_NAMESPACES=/\*\*/ -DYYTEXT_POINTER=1 -DWITH_NUMPY=/\*\*/ -DHAVE_PTHREAD=1 -D__OSVERSION__=2 -DOMNIORB=/\*\*/ -DCORBA_HAVE_POA=/\*\*/ -DCORBA_ORB_INIT_HAVE_3_ARGS=/\*\*/ -DCORBA_ORB_INIT_THIRD_ARG=/\*\*/ -I. -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -DOCC_VERSION_MAJOR=6 -DOCC_VERSION_MINOR=3 -DOCC_VERSION_MAINTENANCE=0 -DLIN -DLINTEL -DCSFDB -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DHAVE_WOK_CONFIG_H -DOCC_CONVERT_SIGNALS -I/opt/opencascade-6.3/ros/lin/inc -I./../Qtx -I./../SUIT -I/opt/salome-5.1.3/KERNEL/include/salome -include SALOMEconfig.h -O2 -march=native -pipe -ggdb -O -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -MT libVTKViewer_la-VTKViewer_CellLocationsArray.lo -MD -MP -MF .deps/libVTKViewer_la-VTKViewer_CellLocationsArray.Tpo -c -o libVTKViewer_la-VTKViewer_CellLocationsArray.lo `test -f 'VTKViewer_CellLocationsArray.cxx' || echo './'`VTKViewer_CellLocationsArray.cxx libtool: compile: i686-pc-linux-gnu-g++ "-DPACKAGE_NAME=\"Salome2 Project GUI module\"" -DPACKAGE_TARNAME=\"SalomeGUI\" -DPACKAGE_VERSION=\"5.1.3\" "-DPACKAGE_STRING=\"Salome2 Project GUI module 5.1.3\"" -DPACKAGE_BUGREPORT=\"webmaster.salome@opencascade.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SalomeGUI\" -DVERSION=\"5.1.3\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_LIBDL=1 -DHAVE_LIBM=1 "-DHAVE_NAMESPACES=/**/" -DYYTEXT_POINTER=1 "-DWITH_NUMPY=/**/" -DHAVE_PTHREAD=1 -D__OSVERSION__=2 "-DOMNIORB=/**/" "-DCORBA_HAVE_POA=/**/" "-DCORBA_ORB_INIT_HAVE_3_ARGS=/**/" "-DCORBA_ORB_INIT_THIRD_ARG=/**/" -I. -I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXml -DOCC_VERSION_MAJOR=6 -DOCC_VERSION_MINOR=3 -DOCC_VERSION_MAINTENANCE=0 -DLIN -DLINTEL -DCSFDB -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DHAVE_WOK_CONFIG_H -DOCC_CONVERT_SIGNALS -I/opt/opencascade-6.3/ros/lin/inc -I./../Qtx -I./../SUIT -I/opt/salome-5.1.3/KERNEL/include/salome -include SALOMEconfig.h -O2 -march=native -pipe -ggdb -O -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -MT libVTKViewer_la-VTKViewer_CellLocationsArray.lo -MD -MP -MF .deps/libVTKViewer_la-VTKViewer_CellLocationsArray.Tpo -c VTKViewer_CellLocationsArray.cxx -fPIC -DPIC -o .libs/libVTKViewer_la-VTKViewer_CellLocationsArray.o In file included from VTKViewer_CellLocationsArray.h:25, from VTKViewer_CellLocationsArray.cxx:28: VTKViewer.h:35:31: error: vtkSystemIncludes.h: No such file or directory In file included from VTKViewer_CellLocationsArray.cxx:28: VTKViewer_CellLocationsArray.h:31:27: error: vtkIntArray.h: No such file or directory VTKViewer_CellLocationsArray.cxx:30:30: error: vtkObjectFactory.h: No such file or directory In file included from VTKViewer_CellLocationsArray.cxx:28: VTKViewer_CellLocationsArray.h:36: error: expected class-name before ‘{’ token VTKViewer_CellLocationsArray.h:39: error: ‘vtkIntArray’ has not been declared VTKViewer_CellLocationsArray.h:39: error: ISO C++ forbids declaration of ‘vtkTypeMacro’ with no type VTKViewer_CellLocationsArray.cxx:32: error: expected constructor, destructor, or type conversion before ‘;’ token make[2]: *** [libVTKViewer_la-VTKViewer_CellLocationsArray.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/VTKViewer' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src' make: *** [all-recursive] Error 1 * ERROR: sci-misc/salome-gui-5.1.3 failed: Expected Results: The header files should be found Patch attached --- It will now fail at linking, but thats another problem (IMHO, because it is relevant to opencascade): /bin/sh ../../libtool --tag=CXX --mode=link i686-pc-linux-gnu-g++ -I/opt/salome-5.1.3/KERNEL/include/salome -include SALOMEconfig.h -O2 -march=native -pipe -ggdb -O -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -Wl,-O1 -Wl,--as-needed -Xlinker -enable-new-dtags -o SALOME_Session_Server SALOME_Session_Server-SALOME_Session_Server.o -L/opt/salome-5.1.3/KERNEL/lib/salome -lSalomeNS -lSalomeLifeCycleCORBA -lOpUtil -lSALOMELocalTrace -lSalomeCatalog -lSalomeDSClient -lwith_loggerTraceCollector -lSalomeIDLKernel -lSalomeContainer -lTOOLSDS -lSalomeLauncher -lRegistry -lSALOMEBasics ../SUIT/libsuit.la ../Event/libEvent.la ../../idl/libSalomeIDLGUI.la ../Style/libSalomeStyle.la -L/usr/lib/qt4 -lQtCore -lQtXml -L/usr/lib/qt4 -lQtGui -lQtOpenGL -L/usr/lib/qt4 -lSalomeContainer -lSalomeResourcesManager -lTOOLSDS -lSalomeHDFPersist -lSalomeDSImpl -lSalomeGenericObj -lRegistry -lSalomeNotification -lSALOMEBasics -lSalomeLauncher ../Qtx/libqtx.la ../../idl/libSalomeIDLGUI.la libSalomeSession.la -lhdf5 -L/usr/lib/python2.6/config -lpython2.6 -lomniORB4 -lomniDynamic4 -lCOS4 -lCOSDynamic4 -lomnithread -lnsl -lm -ldl libtool: link: i686-pc-linux-gnu-g++ -I/opt/salome-5.1.3/KERNEL/include/salome -include SALOMEconfig.h -O2 -march=native -pipe -ggdb -O -Wparentheses -Wreturn-type -Wmissing-declarations -Wunused -pthread -Wl,-O1 -Wl,--as-needed -Wl,-enable-new-dtags -o .libs/SALOME_Session_Server SALOME_Session_Server-SALOME_Session_Server.o -L/opt/salome-5.1.3/KERNEL/lib/salome -L/usr/lib/python2.6/config -L/usr/lib ../SUIT/.libs/libsuit.so -L/usr/lib/qt4 ../Event/.libs/libEvent.so ../Style/.libs/libSalomeStyle.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeDSImpl.so /opt/salome-5.1.3/KERNEL/lib/salome/libDF.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeGenericObj.so ../Qtx/.libs/libqtx.so ../../idl/.libs/libSalomeIDLGUI.so ./.libs/libSalomeSession.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeLifeCycleCORBA.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeCatalog.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeDSClient.so /opt/salome-5.1.3/KERNEL/lib/salome/libwith_loggerTraceCollector.so /opt/salome-5.1.3/KERNEL/lib/salome/libTOOLSDS.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeLauncher.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeContainer.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeNotification.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeHDFPersist.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeResourcesManager.so /opt/salome-5.1.3/KERNEL/lib/salome/libLauncher.so /opt/salome-5.1.3/KERNEL/lib/salome/libResourcesManager.so /usr/lib/libxml2.so /opt/salome-5.1.3/KERNEL/lib/salome/libRegistry.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeNS.so /opt/salome-5.1.3/KERNEL/lib/salome/libOpUtil.so /opt/salome-5.1.3/KERNEL/lib/salome/libSALOMELocalTrace.so /opt/salome-5.1.3/KERNEL/lib/salome/libSalomeIDLKernel.so /opt/salome-5.1.3/KERNEL/lib/salome/libSALOMEBasics.so /var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/SUIT/.libs/libsuit.so /var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/ObjBrowser/.libs/libObjBrowser.so /var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/Event/.libs/libEvent.so /var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/idl/.libs/libSalomeIDLGUI.so /var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/Style/.libs/libSalomeStyle.so /var/tmp/portage/sci-misc/salome-gui-5.1.3/work/src5.1.3/GUI_SRC_5.1.3/src/Qtx/.libs/libqtx.so /usr/lib/qt4/libQtXml.so /usr/lib/qt4/libQtOpenGL.so /usr/lib/qt4/libQtGui.so /usr/lib/qt4/libQtCore.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libhdf5.so -lpthread -lz -lpython2.6 -lomniORB4 -lomniDynamic4 -lCOS4 -lCOSDynamic4 -lomnithread -lnsl -lm -ldl -pthread -Wl,-rpath -Wl,/opt/salome-5.1.3/GUI/lib/salome ./.libs/libSalomeSession.so: undefined reference to `OSD_SharedLibrary::DlSymb(char const*) const' ./.libs/libSalomeSession.so: undefined reference to `OSD_SharedLibrary::OSD_SharedLibrary(char const*)' ./.libs/libSalomeSession.so: undefined reference to `OSD_SharedLibrary::Destroy()' ./.libs/libSalomeSession.so: undefined reference to `OSD_SharedLibrary::DlOpen(OSD_LoadMode)' collect2: ld returned 1 exit status
Created attachment 240545 [details] Path to find sci-libs/vtk-5.6 header files
The opencascade problem should be solved by re-login or run ldconfig (ld.so.conf changed by opencascade). Will report later.
Fails if as-needed is set. /opt/opencascade-6.3/ros/lin/Linux/lib/libTKernel.so: undefined reference to `dlsym' /opt/opencascade-6.3/ros/lin/Linux/lib/libTKernel.so: undefined reference to `dlerror' /opt/opencascade-6.3/ros/lin/Linux/lib/libTKernel.so: undefined reference to `dlopen' /opt/opencascade-6.3/ros/lin/Linux/lib/libTKernel.so: undefined reference to `dlclose' I had to add append-ldflags $(no-as-needed) to pkg_setup() Is this a "bug" of OpenCascade?
Created attachment 243397 [details, diff] Bump salome to 5.1.4, fixes for vtk 5.6, use no-as-needed where necessary. Hi, suffering from the same problem I came to this page and applied all hints listed here. So in total I did: - bump the version to 5.1.4 - add support for vtk 5.6 - add the $(no-as-needed) flag where necessary to ensure compiling The attached patch contains the results. I also updated the changelogs but as the quoting philosophy doesn't seem to be consistent I chose the above-quote appending style. Please have a look at it, I hope the patch proves useful. cu Michi
I have done the workaround for all salome-xxx-5.1.3 ebuilds. But that's only a "bad" workaround. See: http://www.gentoo.org/proj/en/qa/asneeded.xml So IMHO opencascade should be fixed, so that "--as-needed" is working with that libraries.
(In reply to comment #4) > > Hi, > > suffering from the same problem I came to this page and > applied all hints listed here. So in total I did: > - bump the version to 5.1.4 > - add support for vtk 5.6 > - add the $(no-as-needed) flag where necessary to ensure > compiling > The attached patch contains the results. > I also updated the changelogs but as the quoting philosophy doesn't > seem to be consistent I chose the above-quote appending style. Hello Michael, it seems that you get compiled salome-5.1.4. Can you push your changes to the science overlay? Or at least split your patch and post the ebuilds in a separate way and not as large patch? Thank you very much for your effort!
(In reply to comment #6) > (In reply to comment #4) > > > > Hi, > > > > suffering from the same problem I came to this page and > > applied all hints listed here. So in total I did: > > - bump the version to 5.1.4 > > - add support for vtk 5.6 > > - add the $(no-as-needed) flag where necessary to ensure > > compiling > > The attached patch contains the results. > > I also updated the changelogs but as the quoting philosophy doesn't > > seem to be consistent I chose the above-quote appending style. > > Hello Michael, > > it seems that you get compiled salome-5.1.4. Can you push your changes to the > science overlay? Or at least split your patch and post the ebuilds in a > separate way and not as large patch? > > Thank you very much for your effort! > Hi Oliver, I don't have write access to the science overlay so I cannot push my patch there, sorry. My idea with the big patch was that people copy science/sci-misc/salome-* to their private /usr/local/portage/sci-misc directory (check http://en.gentoo-wiki.com/wiki/Overlay#Local_Overlays or http://linuxreviews.org/gentoo/ebuilds/), apply the patch and regenerate the digests. Then they should be able to emerge salome-meta or any sub-package. And in case a science maintainer likes the patch he can apply it to the overlay in one step. In any case, most people will emerge salome-meta and then they will need all packages patched or the build will fail. So I could separate the patch but it would cost me time and I'm not sure it makes sense ... Maybe you can explain why you want to patch the packages separately? cu Michi
(In reply to comment #7) > > > I don't have write access to the science overlay so I cannot push my > patch there, sorry. This is no problem, just go to the IRC channel: #gentoo-science and ask for write access. > > My idea with the big patch was that people copy > science/sci-misc/salome-* to their private /usr/local/portage/sci-misc > directory (check http://en.gentoo-wiki.com/wiki/Overlay#Local_Overlays or > http://linuxreviews.org/gentoo/ebuilds/), > apply the patch and regenerate the digests. Then they should be able to > emerge salome-meta or any sub-package. > And in case a science maintainer likes the patch he can apply it to the > overlay in one step. This is a good idea if you have just one computer. But if you have a bunch of computers this one does not work very well ... > In any case, most people will emerge salome-meta and then they will need > all packages patched or the build will fail. This is absolutely correct and therefore this should be done in an overlay and not in a single huge patch. > So I could separate the patch but it would cost me time and I'm > not sure it makes sense ... > Maybe you can explain why you want to patch the packages separately? I have write access to the science overlay (just check the changelogs of the salome ebuilds), but pushing your single patch to the science overlay is a mess for me. If I have separate ebuilds and patches, this would make my live easier. But as this is your work, it would be better you push these ebuilds directly to the overlay. This is also favorable if you have additional changes to them.
(In reply to comment #8) > (In reply to comment #7) > > > > > > I don't have write access to the science overlay so I cannot push my > > patch there, sorry. > > This is no problem, just go to the IRC channel: #gentoo-science and ask for > write access. > > > > > My idea with the big patch was that people copy > > science/sci-misc/salome-* to their private /usr/local/portage/sci-misc > > directory (check http://en.gentoo-wiki.com/wiki/Overlay#Local_Overlays or > > http://linuxreviews.org/gentoo/ebuilds/), > > apply the patch and regenerate the digests. Then they should be able to > > emerge salome-meta or any sub-package. > > And in case a science maintainer likes the patch he can apply it to the > > overlay in one step. > > This is a good idea if you have just one computer. But if you have a bunch of > computers this one does not work very well ... > > > In any case, most people will emerge salome-meta and then they will need > > all packages patched or the build will fail. > > This is absolutely correct and therefore this should be done in an overlay and > not in a single huge patch. > > > So I could separate the patch but it would cost me time and I'm > > not sure it makes sense ... > > Maybe you can explain why you want to patch the packages separately? > > I have write access to the science overlay (just check the changelogs of the > salome ebuilds), but pushing your single patch to the science overlay is a mess > for me. If I have separate ebuilds and patches, this would make my live easier. > But as this is your work, it would be better you push these ebuilds directly to > the overlay. This is also favorable if you have additional changes to them. > Good, I see that I get to it next week. I'm in the middle of a move (with ISP transition) and I don't want to loose internet access in the middle of updating the science overlay and leave it in a mess.
I now sent the files to Thomas Kahle who will review them and - if approved - submit them to the overlay.
I committed the updated ebuilds by Michael. Thanks! These will compile but problems are accumulating. See bug 155974 for details.