|
META TOPICPARENT |
name="LinuxUpgrade" |
-- Main.davage - 15 Jun 2011 |
|
< < | MDA"> SuSE Version Upgrade Help : MDA |
> > | MDA"> SuSE Version Upgrade Help : MDA |
|
BAD PATHWAYS MDA: |
|
< < |
- it appears that the previous MDA setups have used version specific pathways to ImageMagick, which can be fixed quite easily once the bugs have been spotted
|
> > |
- it appears that the previous MDA setups have used version specific pathways to ImageMagick, which can be fixed quite easily once the bugs have been spotted
|
|
- one of the biggest problems with the MDA compile at present is the default pathway setup
|
|
< < |
- if setup using the default software (ImageMagick and g++) via /usr/bin/, then theoretically SuSE version upgrades (along with ImageMagick and g++ upgrades) should not affect MDA operation
|
> > |
- if setup using the default software (ImageMagick and g++) via
/usr/bin/ , then theoretically SuSE version upgrades (along with ImageMagick and g++ upgrades) should not affect MDA operation
|
| |
|
< < | MDA (Errors with ImageMagick): ERROR MESSAGE: undefined reference to `std::_List_node_base::_M_hook(std::_List_node_base*)@GLIBCXX_3.4.14'
- locate the package being included (look through TMakefile files and also notice many of them refer other TMakefile files)
- the magickxx package will give you problems if your pathways are incorrect (lead to an old version of ImageMagick)
- you will find that the version of ImageMagick that tmk is looking for is incorrect and the default may or may not be a very old default
- you need to change the path that the magickxx package uses to include the ImageMagick libraries (custom configuration settings in next section)
|
> > | MDA (Errors with ImageMagick): ERROR MESSAGE: undefined reference to `std::_List_node_base::_M_hook(std::_List_node_base*)@GLIBCXX_3.4.14'
- locate the package being included (look through TMakefile files and also notice many of them refer other TMakefile files)
- the magickxx package will give you problems if your pathways are incorrect (lead to an old version of ImageMagick)
- you will find that the version of ImageMagick that tmk is looking for is incorrect and the default may or may not be a very old default
- you need to change the path that the magickxx package uses to include the ImageMagick libraries (custom configuration settings in next section)
|
|
- the pathway will most likely have some version-specific pathway such as:
config set LIBPATH $psm_pckg/[::arch_name ""]/ImageMagick-6.5.0/lib |
|
TMK (When compiling MDA):
- there are two places for tmk configuration files
|
|
< < |
- this is usually where packages are defined (i.e. magickxx)
- site-config/cs.ubc.ca in both locations corresponds to configuration on this system
- both configuration files can be found using: tmk -sysinfo (tmk/user's site config directory)
- default configuration file located in: /cs/public/generic/lib/pkg/tmk-0.9/tmk/config/site
|
> > |
- this is usually where packages are defined (i.e.
magickxx )
-
site-config/cs.ubc.ca in both locations corresponds to configuration on this system
- both configuration files can be found using:
tmk -sysinfo (tmk/user's site config directory)
- default configuration file located in:
/cs/public/generic/lib/pkg/tmk-0.9/tmk/config/site
|
|
- custom configuration is (naturally) applied after default configuration
|
|
< < |
- custom configuration can be found in: ~/.tmk/site-config/ (again the file will be called cs.ubc.ca in this case)
|
> > |
- custom configuration can be found in:
~/.tmk/site-config/ (again the file will be called cs.ubc.ca in this case)
|
|
gcc/g++:
- sometimes the version of your compiler will mysteriously not be up-to-date
|
|
< < |
- uses the default compiler (Check the version number: gcc -v or g++ -v)
- this pathway is usually defaulted through your ~/.bash_profile or ~/.cshrc to /usr/bin/
- this can be accomplished by placing /usr/bin/ in .bash_profile at the front of the $PATH variable
- note that this might need to be done at the beginning of the PATH variable on the last export
|
> > |
- uses the default compiler (Check the version number:
gcc -v or g++ -v )
- this pathway is usually defaulted through your
~/.bash_profile or ~/.cshrc to /usr/bin/
- this can be accomplished by placing
/usr/bin/ in .bash_profile at the front of the $PATH variable
- note that this might need to be done at the beginning of the
$PATH variable on the last export
|
|
Remember to run the following whenever you try a possible fix: |
|
< < |
- tmk clean (make clean)
- tmk -reconfig (make distclean)
|
> > |
-
tmk clean (make clean )
-
tmk -reconfig (make distclean )
|
|
Locating files and packages: |
|
< < |
- some useful and/or informative linux commands:
- To find a file: locate filname (e.g. locate Magick++.so)
- To find packages: rpm -qa | grep packagename (e.g. rpm -qa | grep ImageMagick)
- To list contents of a package: rpm -ql packagename (e.g. rpm -ql ImageMagick-6.6.1.0-4.1.1.x86_64)
More:
- ldd /usr/lib/../lib64/libMagick++.so
- rpm -q --whatprovides /usr/lib64/libstdc++.so.6
- rpm -q --provides libstdc++45
|
> > |
- Some useful and/or informative linux commands:
- To find a file:
locate filename (e.g. locate Magick++.so )
- To find packages:
rpm -qa | grep packagename (e.g. rpm -qa | grep ImageMagick )
- To list contents of a package:
rpm -ql packagename (e.g. rpm -ql ImageMagick-6.6.1.0-4.1.1.x86_64 )
More:
-
ldd /usr/lib/../lib64/libMagick++.so
-
rpm -q --whatprovides /usr/lib64/libstdc++.so.6
-
rpm -q --provides libstdc++45
|
|
32 vs 64 bit: |
|
< < |
- another issue is -fPIC from when we migrated to 64bit around last fall
|
> > |
- another issue is
-fPIC from when we migrated to 64bit around last fall
|
|
- PIC=position independent code (it is a default for the 32-bit platform, but not for the x86_64 platform)
- this is why we need to add the cxx flag -fPIC
|
|
< < |
- we can do this by adding a line to the file ...MDA/TMakefile.priv: lappend cxx:FLAGS -fPIC
|
> > |
- we can do this by adding a line to the file
...MDA/TMakefile.priv : lappend cxx:FLAGS -fPIC
|
| |