08-30-2010
Compiling and linking Shared Libraries.
here is the output:
$ gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)
$ file libCommon.so
libCommon.so: ASCII text, with no line terminators
I found that .so file is ascii its contents are:
$ cat libCommon.so
libCommon.so.1.0.0
now i tried following:
$ gcc My_program.c libCommon.so.1.0.0
My_program.c: In function āmainā:
My_program.c:13: warning: parameter names (without types) in function declaration
libCommon.so.1.0.0: undefined reference to `dlsym'
libCommon.so.1.0.0: undefined reference to `dlopen'
libCommon.so.1.0.0: undefined reference to `dlclose'
collect2: ld returned 1 exit status
$ gcc My_program.c -llibCommon.so.1.0.0
My_program.c: In function āmainā:
My_program.c:13: warning: parameter names (without types) in function declaration
/usr/bin/ld: cannot find -llibCommon.so.1.0.0
collect2: ld returned 1 exit status
$ gcc My_program.c -l libCommon.so.1.0.0
My_program.c: In function āmainā:
My_program.c:13: warning: parameter names (without types) in function declaration
/usr/bin/ld: cannot find -llibCommon.so.1.0.0
collect2: ld returned 1 exit status
$ gcc My_program.c -lCommon.so.1.0.0
My_program.c: In function āmainā:
My_program.c:13: warning: parameter names (without types) in function declaration
/usr/bin/ld: cannot find -lCommon.so.1.0.0
collect2: ld returned 1 exit status
Thanks in advance
10 More Discussions You Might Find Interesting
1. Programming
Hi mates,
I am trying to copile and link to C programs with command:
cc file1,file2
but i raises the error "file not found" ... am i doing the right way?
any suggestion will be appreciated.
thanks
abdul (4 Replies)
Discussion started by: abdul
4 Replies
2. Programming
I'm runtime linking (dlopen and dlsym) to a shared object (library) I've created and after a number of function calls into the library the program core dumps (Illegal operation). This only occurs during runtime linking. If I use the same library and dynamically link during compile time everything... (3 Replies)
Discussion started by: dneely
3 Replies
3. Programming
Hello everybody,
I am having major problems at the moment with shared libraries and I have to little knowledge of them to solve them. So please, please help me :)
Ok this is the problem:
I have a library A, which uses B and C, and C uses again D.
If I try to run A as plugin in apache,... (0 Replies)
Discussion started by: Micky
0 Replies
4. Programming
I am compiling code which produces .a and .la libraries. How can I produce .so libraries? I know that gcc -shared does but how? (2 Replies)
Discussion started by: thalex
2 Replies
5. Programming
Hi
I'm getting
ld: fatal: option -h and building a dynamic executable are incompatible
ld: fatal: Flags processing errors
When I run
ld -shared -L/usr/dt/lib -lDtSvc -o builtin.so Workspace.o
after running
gcc -fPIC -I/usr/X11R6/include -I/usr/dt/include -c Workspace.c
I'm... (6 Replies)
Discussion started by: laho
6 Replies
6. Programming
I'm trying to do something fairly simple but keep getting frustrating messages..
Here it is:
I have 3 files:
init.h <header>
init.c <#include <curses.h> and "init.h">
main.c <#include "init.h">
now, how can I compile my main.c using gcc?
( I have a hard time making the init.o)
... (1 Reply)
Discussion started by: My_Name
1 Replies
7. Programming
hi all !
Do I need all the shared objects to be present while compiling my code which has reference to a only one shared object, which in turn refers to another shared object.
for example I want to compile example.c which refers to sample.so
sample.so has refrence to anothersample.so
do... (2 Replies)
Discussion started by: disclaimer
2 Replies
8. Linux
How do i make a library shared
say i have a library a.so which i have just compiled.
I want to make it shared how do i make it
Next Queation is what is the difference between a.so.0 a.so.1 a.so.2 & a.so :rolleyes: (1 Reply)
Discussion started by: wojtyla
1 Replies
9. OS X (Apple)
I'm trying to get Valgrind to work with an openmpi application in OS X. However I want to hardcode the path to a shared library called libmpiwrap-amd64-darwin.so into my application so that it is available at runtime. In Linux this is relatively simple, I would just add the option... (0 Replies)
Discussion started by: Valgrinder
0 Replies
10. SuSE
Hi everyone I installed OpenSuse 12.3 and many development tools but when i propose build the kernel from the source (the first step make menuconfig) i saw this:
HOSTLD scripts/kconfig/mconf
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libdl.so.2,... (2 Replies)
Discussion started by: bacesado
2 Replies
LEARN ABOUT DEBIAN
builder-cc
BUILDER-CC(1) Debian GNU/Linux BUILDER-CC(1)
NAME
builder-cc - gcc wrapper to facilitate pentium-optimizations
SYNOPSIS
export DEBIAN_BUILDARCH=architecture
export DEBIAN_BUILDGCCVER=gcc-version
gcc ...
DESCRIPTION
The builder-cc wrapper is normally used by calling gcc as usual. If the environment variable DEBIAN_BUILDARCH is not set, builder-cc does
nothing, and the real gcc is invoked with the specified arguments.
When the DEBIAN_BUILDARCH environment variable is set, builder-cc invokes gcc with the specified arguments, plus -mcpu=DEBIAN_BUILDARCH
-march=DEBIAN_BUILDARCH This has the effect of telling gcc to use architecture-specific optimizations without changing the command line.
This is particularly useful for package builds.
If DEBIAN_BUILDGCCVER is not set, builder-cc calls gcc.real. If DEBIAN_BUILDGCCVER is set, builder-cc calls gcc-DEBIAN_BUILDGCCVER
instead.
ENVIRONMENT
DEBIAN_BUILDARCH
If set, the architecture to compile for. Useful values are pentium or pentiumpro.
DEBIAN_BUILDGCCVER
If set, the version of gcc to be invoked. Useful values are 3.0 or 2.95.
NOTES
The real gcc is renamed gcc.real, and a diversion is registered with dpkg-divert(1). Thus builder-cc's idea of the default gcc is dictated
by whatever package installed /usr/bin/gcc.
SEE ALSO
gcc(1)
Debian Project 2002-03-02 BUILDER-CC(1)