[odb-users] error with libstdc++.la

Dmitry Romanov romanovda at gmail.com
Mon Aug 8 11:26:54 EDT 2011


Hi Boris, we have solved the problem. Indeed it was an error in our
gcc configuration.

The problem was:

 A file libstdc++.la is located at:
 /apps/gcc/gcc-4.4.4/lib64/libstdc++.la

 but the file contains record:

 # Directory that this library needs to be installed in:
 libdir='/apps/gcc-4.4.4/lib/../lib64'

 (not /apps/gcc/gcc-4.4.4/... but /apps/gcc-4.4.4/...)

 Thus libodb.la file had:

 # Libraries that this one depends upon.
 dependency_libs=' -lpthread /apps/gcc-4.4.4/lib/../lib64/libstdc++.la'

Then a compilation of libodb-mysql fails because of this.

We were able to compile everything after modifying libodb.la file (and
sending angry letter to our admins).

Spasibo!
 Dmitry


On Fri, Aug 5, 2011 at 2:54 PM, Boris Kolpackov <boris at codesynthesis.com> wrote:
> Hi Dmitry,
>
> Dmitry Romanov <romanovda at gmail.com> writes:
>
>> The real libstdc++.la is located in /apps/gcc/gcc-4.4.4/lib64/libstdc++.la
>>
>> /bin/sed: can't read /apps/gcc-4.4.4/lib/../lib64/libstdc++.la: No
>> such file or directory
>> libtool: link: `/apps/gcc-4.4.4/lib/../lib64/libstdc++.la' is not a
>> valid libtool archive
>>
>> Is it a bug? Or are we do something wrong?
>
> This seems to be a mis-configuration of your GCC toolchain. Was gcc-4.4.4
> perhaps moved to /apps/gcc/ from /apps? Or maybe one of the libraries
> (libodb or libmysqlclient) were built when gcc-4.4.4 was in still in /apps
> (or on another machine where it is still in /apps)? I suggest that you
> inspect the libodb.la and libmysqlclient.la (and any other .la files that
> they list as dependencies) for the /apps/gcc-4.4.4/lib/../lib64/libstdc++.la
> path. If you find it, then you need to rebuild that library.
>
> Boris
>



More information about the odb-users mailing list