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 OPENDARWIN
enable
enable(1) User Commands enable(1)
NAME
enable, disable - enable/disable LP printers
SYNOPSIS
/usr/bin/enable printer...
/usr/bin/disable [-c | -W] [ -r [reason]] printer...
DESCRIPTION
The enable command activates printers, enabling them to print requests submitted by the lp command. enable must be run on the printer
server.
The disable command deactivates printers, disabling them from printing requests submitted by the lp command. By default, any requests that
are currently printing on printer will be reprinted in their entirety either on printer or another member of the same class of printers.
The disable command must be run on the print server.
Use lpstat -p to check the status of printers.
enable and disable only effect queueing on the print server's spooling system. Executing these commands from a client system will have no
effect on the server.
OPTIONS
The following options are supported for use with disable:
-c Cancels any requests that are currently printing on printer. This option cannot be used with the -W option. If the printer
is remote, the -c option will be silently ignored.
-W Waits until the request currently being printed is finished before disabling printer. This option cannot be used with the
-c option. If the printer is remote, the -W option will be silently ignored.
-r [reason] Assigns a reason for the disabling of the printer(s). This reason applies to all printers specified. This reason is
reported by lpstat -p. Enclose reason in quotes if it contains blanks. The default reason is "unknown reason" for the
existing printer, and "new printer" for a printer added to the system but not yet enabled.
OPERANDS
The following operand is supported for both enable and disable:
printer The name of the printer to be enabled or disabled. Specify printer using atomic name. See printers.conf(4) for information
regarding the naming conventions for atomic names.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
non-zero An error occurred.
FILES
/var/spool/lp/* LP print queue.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWpcu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
SEE ALSO
lp(1), lpstat(1), printers.conf(4), attributes(5)
SunOS 5.10 9 Sep 1996 enable(1)