/docs/MyDocs

To get this branch, use:
bzr branch http://darksoft.org/webbzr/docs/MyDocs

« back to all changes in this revision

Viewing changes to Development/packaging/general/linking/linking.txt

  • Committer: Suren A. Chilingaryan
  • Date: 2017-04-03 02:45:17 UTC
  • Revision ID: csa@suren.me-20170403024517-dwzj0z0k1cmhxm7u
Restructuring, OpenShift, Ansible, Git

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 - Pure C libraries can cause g++ version incompabilities in C++ applications
2
 
 if linked using libtool. The following is hapening: libtool is looking for 
3
 
 .la file of C library and finds it's dependencies from there. But the 
4
 
 dependencies in .la files are summed (the dependencies of some library .la 
5
 
 file is just summed up dependencies from .la files from all librariries it
6
 
 is linked with). So, if some library is written in C++ but provides C 
7
 
 interface, it could force inclusion of libstdc++. So, if this library 
8
 
 is compiled with gcc3 the libstc++ from gcc3 will be included into the 
9
 
 link list and gcc4 will use it instead of default. And lot of problems
10
 
 will come!
11
 
 Example: Sometimes aspell is linked with libstdc++, it is linked with LibRCC,
12
 
 so any application linking librcc will depend on gcc3 forced by libstdc++.
13
 
 
14
 
 
15
 
 - The following error:
16
 
  /bin/rm: cannot remove libtoolT: No such file or directory 
17
 
 
18
 
 It is due to both the Libtool macros and the configure.in
19
 
 defining $RM, and configure.in uses
20
 
  AC_PATH_PROG(RM, rm, $FALSE)
21
 
 whereas the Libtool macros expect "rm -f".  
22
 
 One fix could be to:
23
 
  AC_PATH_PROG(RM, rm, $FALSE)
24
 
  RM="$RM -f"
25