Sponsored Content
Full Discussion: Gcc linker search path order
Top Forums Programming Gcc linker search path order Post 302903056 by Richard Johnson on Friday 23rd of May 2014 04:40:30 PM
Old 05-23-2014
Gcc linker search path order

I have a build where I wish to link against and load a specific version of a library and a different version of the same library is installed on the system. I'm using a -L option to point to the version that I wish to link against but gcc still seems to choose the installed version. Is there a way to force gcc to search the directory specified with the -L option before it searches the standard locations?

I'm running Centos 6.5 with gcc 4.4.7. Here are the relevant libs and directories, zlib-devel is not installed
Code:
/lib64/libz.so.1.2.3
/lib64/libz.so.1 -> libz.so.1.2.3
 
/home/richj/product/zlib/lib/libz.so.1.2.8
/home/richj/product/zlib/lib/libz.so -> libz.so.1.2.8
/home/richj/product/zlib/lib/libz.so.1 -> libz.so.1.2.8
/home/richj/product/zlib/include/zlib.h
 
/home/richj/product/foo/libfoo.so
/home/richj/product/foo/foo.h
 
/home/richj/product/bar/bar.c

Main in bar.c calls foo in libfoo.so and foo calls inflateInit in libz Here are the compile commands for libfoo.so and bar. Both the library and the program compile and run without error.
Code:
/usr/bin/gcc -c -fPIC -Wall -g -I../zlib/include foo.c
/usr/bin/gcc -shared -o libfoo.so foo.o
 
/usr/bin/gcc -Wall -g -I../foo -L../foo -lfoo -L../zlib/lib -lz bar.c -o bar
 
$ldd bar
linux-vdso.so.1 => (0x00007fffd67ff000)
libfoo.so => ../foo/libfoo.so
libz.so.1 => /lib64/libz.so.1
libc.so.6 => /lib64/libc.so.6
/lib64/ld-linux-x86-64.so.2

So the question is why is it not linking against and loading the version of zlib that I point to in the compile command?

Last edited by Scott; 05-23-2014 at 06:09 PM.. Reason: Please use code tags
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Setting path for GCC?

Dear all, I have downloaded the latest version of gcc --- gcc-3.3.1.tar.gz from gnu.org. My Linux distribution is Mandrake 9.0. This was how I installed it: su - passwrd: mkdir /usr/local/src cd /usr/local/src gunzip /tmp/gcc-3.3.1.tar.gz #where I downloaded the file tar xvf... (2 Replies)
Discussion started by: HOUSCOUS
2 Replies

2. Programming

XWindows programming + gcc linker options

Im trying to compile some code that involves using X-Windows based functions (XDisplayName() and XOpenDisplay() ), however each time I run the compiler, Im getting a problem with the linker. The linker says that both XDisplayName() and XOpenDisplay() are unresolved text symbols. Is there a... (1 Reply)
Discussion started by: JamesGoh
1 Replies

3. Solaris

gcc & linker question (Solaris 10)

Hi, I'm confused about the GCC & Linking process could somebody please briefly explain? I have GCC 3.4.6 installed from SunFreeware. Reading the narrative alongside the package states "It was compiled to use the SUN assembler and loader usually in /usr/ccs/bin if the SUNW developer packages... (1 Reply)
Discussion started by: Celtic_Monkey
1 Replies

4. Shell Programming and Scripting

PATH dircetory search order

Hello I using CygWin and am working on project that requires whereby after I make some code changes and rebuild I have to manually copy the updated files into the install directory to test them. There is a build output directory where these files placed, but the program will not run from there.... (4 Replies)
Discussion started by: bobban
4 Replies

5. Shell Programming and Scripting

grep - search order

Hi, I would like "grep" command to search ALL files in current directory in the order of their modified/created date. How can i do this? e.g., if 3 files contain the pattern i am searching for, i need the output of "grep" to be in the order such that old file search result should come first.... (6 Replies)
Discussion started by: prvnrk
6 Replies

6. Programming

GCC: Choose my own linker

Hi, I do not use the default linker, and instead us another one and pass this argument -Wl,--dynamic-linker=<path to linker> to gcc when compiling. However, what happens if the linker is not under /lib and /lib64 and I am not able to create a symlink to the linker in /lib or /lib64 due to no... (2 Replies)
Discussion started by: Shompis
2 Replies

7. Programming

gcc linker address

Hai, I have two (Pgm1.c and Pgm2.c) simple programs, which is compiled using gcc. Now we have two exe's (Pgm1 and Pgm2). When i executed the nm Pgm1 and nm Pgm2, in the listed symbols the address of main is same for both programs (08048344 T main) at run time also. Doubt: 1) What is this... (3 Replies)
Discussion started by: rajamohan
3 Replies

8. Programming

Specifying dynamic library path to linker at compile time

I would like to compile a binary that doesnot depend on LD_LIBRARY_PATH as this binary will be setuid to owner and used by other users and since setuid doesnot support LD_LIBRARY_PATH making it independent of LD_LIBRARY_PATH would be great. But I am not able to specify the path of the shared... (1 Reply)
Discussion started by: waavman
1 Replies

9. Shell Programming and Scripting

Php search path

Probably simple, but I don't see it. jack@veritron /u/email $ cat p3.php <?php require_once './lib/swift_required.php'; $x=get_include_path(); echo "$x \n"; set_include_path('./lib:./lib/classes:'.$x); $x=get_include_path(); echo "$x \n"; $transport =... (1 Reply)
Discussion started by: jgt
1 Replies
xft-config(1)						      General Commands Manual						     xft-config(1)

NAME
xft-config - report Xft version, compiler, linker, and/or installation directory information SYNOPSIS
xft-config { --exec-prefix[=local_prefix] | --prefix[=local_prefix] | --cflags | --libs } ... xft-config --version DESCRIPTION
xft-config reports information of interest to users and developers about the installed version of the X FreeType library, Xft(3). Depend- ing on how it is invoked, xft-config reports the installed version of Xft, the compiler and linker flags that are required to successfully compile and link C (or C-compatible) code that uses the library, and/or the directories used by the GNU Autotools to install its files. Note that if the system's installed version of Xft came from an OS vendor or other third party, the actual location of its files may differ from those reported by xft-config. The system adminstrator can also relocate Xft's files. If invoked without any arguments, xft-config will print a usage message on standard error and exit. OPTIONS
--cflags Report the compiler flags that are required to compile code that uses Xft symbols. --exec-prefix[=local_prefix] If specified without the parameter local_prefix, report the file specification prefix that Xft uses for installation of executable files. If local_prefix is specified, it is used instead of the file specification prefix used for installation of executable files by Xft and the value of the option argument specified with --prefix, if any, when compile and linker flags are reported (with --cflags and --libs, respectively). --libs Report the linker flags that are required to link code that uses Xft symbols. --prefix[=local_prefix] If specified without the parameter local_prefix, report the file specification prefix that Xft uses for installation of files. If local_prefix is specified, it is used instead of the file specification prefix used for installation of files by Xft when compile and linker flags are reported (with --cflags and --libs, respectively); also see --exec-prefix. --version Report the version of the Xft library installed on the system and exit. OPERANDS
xft-config does not recognize any non-option arguments. At least one option must be specified. EXIT STATUS
0 Information was successfully reported. 1 xft-config was invoked with invalid arguments, or no arguments at all. AUTHOR
xft-config was written by Keith Packard. This manual page was written by Branden Robinson. SEE ALSO
Xft(3) Xft Version 2.1.13 xft-config(1)
All times are GMT -4. The time now is 07:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy