| Autor | 
    Nachricht | 
   
  
    | 
      
     | 
    
      
        
					
            Titel: libstdc++.so.6 kompatibilität 
             Verfasst am: 22.05.2006, 22:17 Uhr
           | 
				 
       
     | 
   
  
    
      
        
          
             
             
  
            Anmeldung: 07. Jan 2006 
            Beiträge: 18 
             
            
            
           | 
         
       
     | 
    
      
        
          hi,
 
 
bin ein newbie in sachen shared libs unter linux bauen.
 
 
habe mit
 
g++ -I/java/jdk1.5.0_06/include -I/java/jdk1.5.0_06/include/linux -shared -fpic -lstdc++ -nostdlib -o libCoronaz.so *.cpp                
 
in einem einfachen verzeichnis eine shared lib gebaut.
 
 
ein ldd sagt dann:
 
 
ldd libCoronaz.so
 
        linux-gate.so.1 =>  (0xffffe000)
 
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7e82000)
 
        libm.so.6 => /lib/tls/libm.so.6 (0xb7e5c000)
 
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7e51000)
 
        libc.so.6 => /lib/tls/libc.so.6 (0xb7d1a000)
 
        /lib/ld-linux.so.2 (0x80000000)
 
 
soweit so gut.
 
ich nehme an, das der schalter "-lstdc++" bewirkt, 
 
das zur versionshöchsten lib gelinkt wird.
 
 
und bei meinem kumpel läuft dann ein programm von mir,
 
welches sich genau dieser lib bedient, NICHT mehr.
 
 
"libstdc++.so.6: cannot open shared object file"
 
 
ein ls sagt von ihm sagt dann
 
 
> l /usr/lib/libstdc++.so.*
 
lrwxrwxrwx    1 root     root           20 2004-01-06 21:18 /usr/lib/libstdc++.so.2.7.2 -> libstdc++.so.2.7.2.8*
 
-r-xr-xr-x    1 root     root       245395 2003-03-14 01:10 /usr/lib/libstdc++.so.2.7.2.8*
 
lrwxrwxrwx    1 root     root           18 2004-01-06 21:18 /usr/lib/libstdc++.so.2.8 -> libstdc++.so.2.8.0*
 
-r-xr-xr-x    1 root     root       325815 2003-03-14 01:10 /usr/lib/libstdc++.so.2.8.0*
 
lrwxrwxrwx    1 root     root           18 2004-01-06 21:18 /usr/lib/libstdc++.so.2.9 -> libstdc++.so.2.9.0*
 
-r-xr-xr-x    1 root     root       352298 2003-03-14 01:10 /usr/lib/libstdc++.so.2.9.0*
 
lrwxrwxrwx    1 root     root           18 2004-01-06 21:17 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.3*
 
-rwxr-xr-x    1 root     root       941384 2003-03-13 22:54 /usr/lib/libstdc++.so.5.0.3*
 
 
nun die fragen an euch:
 
wie soll ich damit umgehen ?
 
 
kann ich gegen eine "niedrigere" shared libstdc++ linken ?
 
 
kann ich davon ausgehen, das die meisten distris die 6er version haben ?
 
 
oder soll ich einfach alles statisch linken, damit aiuch garantiert läuft ?
 
 
wie macht ihr sowas ?
 
 
---------------------------------------------------------------
 
 
ich bin eigentlich java entwickler und kenne dieses problem bisher nur von hörensagen, daher bitte geduld mit mir.
 
bin zwar c++ fit, aber nur  sprachlich, nicht konfigurations mäßig.
 
 
ziel meiner c++ entwicklungen ist es, java für meine belange zu erweitern.
 
 
 
meine java projekte:
 
http://gui3d.org/
 
http://filebee.org/ | 
         
        
          | 
          
            
          
            
            
           | 
         
         
	        |     | 
	       
       
     | 
   
  
    | 
      
      
     | 
   
  
      | 
   
  
  
    | 
      
     | 
   
 
					 | 
				 
			 
		 |