From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Green To: GCC Installation Help List Cc: libstdc++-v3 Development List , Bernhard Rosenkraenzer Subject: Re: Case history: Installing libstdc++ on i686-pc-linux-gnu (Red Hat) Date: Tue, 28 Mar 2000 23:30:00 -0000 Message-id: <38E1B1EA.DCF97B87@sputnik7.com> References: <38DFE709.D9B51CBC@sputnik7.com> X-SW-Source: 2000-03/msg00112.html Alexandre Oliva wrote: > > p.s. After I installed v3, I found that > > /usr/lib/libstdc++-libc6.1-1.so.2 had been removed. I couldn't find > > any reference to that file in the v3 source tree, but it could have > > been wiped by one of the 2.95.2 RPMs. > > You should certainly arrange for this file not to be removed, even if > you upgrade libstdc++. Did you upgrade libstdc++ using RPM? There > must be a way to arrange for it to upgrade a package without removing > the previous version's libraries. After two days of blindly scavenging all of my packages and logs, I have finally realized (at 1 AM) that I was looking for the wrong file all along: /usr/lib/libstdc++-libc6.1-1.so.2 is a symbolic link to libstdc++-2-libc6.1-1-2.9.0.so on my system, and it's actually the latter file which is gone. Apparently it was removed by the postinstall script from gcc-c++-2.95.2-3.i386.rpm as part of its half-successful attempt to remove egcs-c++ from my system. It also upgraded my libstdc++-2-libc6.1-1-2.*.*.a and libstdc++-libc6.1-*.a.*. So: What should I do? Should I look for an old copy of the libstdc++-libc6.1-1.so.2 file on the 'net and just and paste it back into /usr/lib? A good deal of the commands on my system require it. One idea: I observe that the gcc-c++ RPM info says that it "does include the static standard C++ library and C++ header files; the library for dynamically linking programs is available separately." Perhaps that would solve the problem? Or is this something I can solve by pointing the libstdc++-libc6.1-1.so.2 symlink somewhere else or by setting LD_LIBRARY_PATH? Any help would be appreciated. Thanks again, Avi p.s. I couldn't find any mention of this in either the gcc docs or the libstdc++ docs. One or two messages in the gcc-help list archive seemed vaguely related, but no dice. p.p.s. For those interested, I have reconstructed the steps I took installing gcc and libstdc++ over the last week. You won't need it to help me, but since I spent a few hours trying to reconstruct this sequence before I knew the problem lay with my installation of the gcc-c++ RPM, here it is: 0. Tried (& failed) to make gcc & g++ from tarballs. Gave up. 1. Installed libstdc++-devel-2.95.2-3.i386.rpm Note: Querying the package reveals that it OBSOLETES gcc-libstdc++-devel 2. Tried to install gcc-2.95.2-3.i386.rpm but was told I needed an up-to-date version of binutils (and cpp?) 3. Tried to install cpp-2.95.2-3.i386.rpm but was told I needed an up-to-date version of binutils 4. Installed binutils-2.9.4.0.6-1.i386.rpm 5. Installed cpp-2.95.2-3.i386.rpm 6. Tried to install gcc-2.95.2-3.i386.rpm but was told that egcs = 1.1.2 is needed by egcs-c++-1.1.2-12 7. Installed gcc-2.95.2-3.i386.rpm using rpm -U --nodeps Note: Querying the package reveals that it OBSOLETES egcs. This removed various files in /usr/lib/gcc-lib/i386-redhat-linux/ egcs-2.91.66. It also removed the egcs (1.1.2) package. 7. Installed gcc-c++-2.95.2-3.i386.rpm Note: Querying the package reveals that it OBSOLETES egcs-c++. Interestingly, my installation log for this RPM reveals that libstdc++-libc6.1-1.so.2, the missing file, is a dependency: D: dependencies: looking for libstdc++-libc6.1-1.so.2 ... D: removing provides index for libstdc++-libc6.1-1.so.2 D: removing provides index for libstdc++-libc6.1-1.so.2 (GCC.INTERNAL) Apparently this removed the egcs-c++ package, which contained libstdc++-2-libc6.1-1-2.9.0.so 8. Made and installed libstdc++-2.90.8 from tarball. Played with the links. 9. Discovered that the man(1) command no longer worked because libstdc++-2-libc6.1-1-2.9.0.so (a.k.a. libstdc++-libc6.1-1.so.2) was no longer on the system. ========= Avi Green :) (: www.sputnik7.com ========= ======== Unix S/A & System Specialist ======== ======== avi at sputnik7.com 212 217-1147 ======== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Green To: GCC Installation Help List Cc: libstdc++-v3 Development List , Bernhard Rosenkraenzer Subject: Re: Case history: Installing libstdc++ on i686-pc-linux-gnu (Red Hat) Date: Sat, 01 Apr 2000 00:00:00 -0000 Message-ID: <38E1B1EA.DCF97B87@sputnik7.com> References: <38DFE709.D9B51CBC@sputnik7.com> X-SW-Source: 2000-q1/msg00422.html Message-ID: <20000401000000.InaOQBJneh7HH6d0aFwbTJIudSHsvLGtFM7XCNlu8Pg@z> Alexandre Oliva wrote: > > p.s. After I installed v3, I found that > > /usr/lib/libstdc++-libc6.1-1.so.2 had been removed. I couldn't find > > any reference to that file in the v3 source tree, but it could have > > been wiped by one of the 2.95.2 RPMs. > > You should certainly arrange for this file not to be removed, even if > you upgrade libstdc++. Did you upgrade libstdc++ using RPM? There > must be a way to arrange for it to upgrade a package without removing > the previous version's libraries. After two days of blindly scavenging all of my packages and logs, I have finally realized (at 1 AM) that I was looking for the wrong file all along: /usr/lib/libstdc++-libc6.1-1.so.2 is a symbolic link to libstdc++-2-libc6.1-1-2.9.0.so on my system, and it's actually the latter file which is gone. Apparently it was removed by the postinstall script from gcc-c++-2.95.2-3.i386.rpm as part of its half-successful attempt to remove egcs-c++ from my system. It also upgraded my libstdc++-2-libc6.1-1-2.*.*.a and libstdc++-libc6.1-*.a.*. So: What should I do? Should I look for an old copy of the libstdc++-libc6.1-1.so.2 file on the 'net and just and paste it back into /usr/lib? A good deal of the commands on my system require it. One idea: I observe that the gcc-c++ RPM info says that it "does include the static standard C++ library and C++ header files; the library for dynamically linking programs is available separately." Perhaps that would solve the problem? Or is this something I can solve by pointing the libstdc++-libc6.1-1.so.2 symlink somewhere else or by setting LD_LIBRARY_PATH? Any help would be appreciated. Thanks again, Avi p.s. I couldn't find any mention of this in either the gcc docs or the libstdc++ docs. One or two messages in the gcc-help list archive seemed vaguely related, but no dice. p.p.s. For those interested, I have reconstructed the steps I took installing gcc and libstdc++ over the last week. You won't need it to help me, but since I spent a few hours trying to reconstruct this sequence before I knew the problem lay with my installation of the gcc-c++ RPM, here it is: 0. Tried (& failed) to make gcc & g++ from tarballs. Gave up. 1. Installed libstdc++-devel-2.95.2-3.i386.rpm Note: Querying the package reveals that it OBSOLETES gcc-libstdc++-devel 2. Tried to install gcc-2.95.2-3.i386.rpm but was told I needed an up-to-date version of binutils (and cpp?) 3. Tried to install cpp-2.95.2-3.i386.rpm but was told I needed an up-to-date version of binutils 4. Installed binutils-2.9.4.0.6-1.i386.rpm 5. Installed cpp-2.95.2-3.i386.rpm 6. Tried to install gcc-2.95.2-3.i386.rpm but was told that egcs = 1.1.2 is needed by egcs-c++-1.1.2-12 7. Installed gcc-2.95.2-3.i386.rpm using rpm -U --nodeps Note: Querying the package reveals that it OBSOLETES egcs. This removed various files in /usr/lib/gcc-lib/i386-redhat-linux/ egcs-2.91.66. It also removed the egcs (1.1.2) package. 7. Installed gcc-c++-2.95.2-3.i386.rpm Note: Querying the package reveals that it OBSOLETES egcs-c++. Interestingly, my installation log for this RPM reveals that libstdc++-libc6.1-1.so.2, the missing file, is a dependency: D: dependencies: looking for libstdc++-libc6.1-1.so.2 ... D: removing provides index for libstdc++-libc6.1-1.so.2 D: removing provides index for libstdc++-libc6.1-1.so.2 (GCC.INTERNAL) Apparently this removed the egcs-c++ package, which contained libstdc++-2-libc6.1-1-2.9.0.so 8. Made and installed libstdc++-2.90.8 from tarball. Played with the links. 9. Discovered that the man(1) command no longer worked because libstdc++-2-libc6.1-1-2.9.0.so (a.k.a. libstdc++-libc6.1-1.so.2) was no longer on the system. ========= Avi Green :) (: www.sputnik7.com ========= ======== Unix S/A & System Specialist ======== ======== avi at sputnik7.com 212 217-1147 ========