Sponsored Content
Operating Systems AIX Create shared libs on AIX (with certain libs which are statically linked) Post 303032328 by amandeepgautam on Friday 15th of March 2019 09:39:24 AM
Old 03-15-2019
Create shared libs on AIX (with certain libs which are statically linked)

I want to create a shared lib with certain libs statically linked to it. I can generate a fully shared lib as follows:

Code:
gcc -maix64 -DHAVE_CONFIG_H -I. -I./src -DHAVE_OPENSSL -I/usr/include/openssl -I/usr/include -I/usr/include/apr-1 -D_LARGEFILE64_SOURCE -I/usr/java8_64/include -shared -o libnetty_tcnative.so src/jnilib.c src/bb.c src/error.c src/native_constants.c src/ssl.c src/sslcontext.c src/sslutils.c  -lc -L/opt/freeware/lib64 -lapr-1 -lssl -lcrypto -lpthread -Wl,-bnoentry -maix64 -O3 -pthread -Wl,-bnoquiet

If I do ldd on this lib, I get:
Code:
libnetty_tcnative.so needs:
         /opt/freeware/lib64/libgcc_s.a(shr.o)
         /opt/freeware/lib64/libssl.a(libssl.so.1.1.0)
         /opt/freeware/lib64/libcrypto.a(libcrypto.so.1.1.0)
         /usr/lib/libpthread.a(shr_xpg5_64.o)
         /usr/lib/libc.a(shr_64.o)
         /unix
         /usr/lib/libcrypt.a(shr_64.o)

Now, let's say I want to remove the dependency from libs in the folder /opt/freeware. For this, I am thinking to statically link libgcc_s.a, libssl.a and libcrypto.a. What flags can I pass to gcc so that it links these libs statically? It might also be okay to link everything statically so there is no dependence on any external libs. Also, would like to mention that I use /usr/bin/ld (native) with gcc.

Last edited by amandeepgautam; 03-15-2019 at 03:19 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

compiling with include & libs

I like to compile a cxx file with g++ compiler. I tried with option g++ -I<include path> -L<library path> source-file but ending with compilation error in /usr/local/bin/gcc-lib/.../crt1.o I think the libraries are not taken from proper path How to compile a cxx file with libraries... (1 Reply)
Discussion started by: ls1429
1 Replies

2. Programming

default location of libs in dlopen

Hi Where is the default location of libs to search, when we specify any lib in dlopen function. And if we want to specify a custom location, how will we do it? thanks. (1 Reply)
Discussion started by: sumsin
1 Replies

3. Shell Programming and Scripting

who to compile needed libs with Make

Hello all my project is contains 2 directories, 2 directories are building library and one for the executable that using the libes from the other 2 Now what im doing is compiling first the 2 libs directories and then the main directory. But I will like to automate the process and to be able ... (0 Replies)
Discussion started by: umen
0 Replies

4. Programming

Seeking Some libs for AIX 5.3

hello everybody! I m compiling some program with the g++ on AIX 5.3 and it needs some library that i didn't find them i am new with the AIX here is the compilation error : g++ -Daix -fpic -o printps -lxercesc1_1 -L/oracle/OraHome/lib32/ -L/epost2/blitz/lib -lhmltods -lhmltops -lgeneric... (0 Replies)
Discussion started by: eternalflame
0 Replies

5. AIX

Q: AIX dynamic linked libs

I think the default extension on AIX is .a so for dynamic lib "libabc.a", we can simply link against it by specifying "-labc" but here I have a dylib which been built by some one else called "libxyz.so" on AIX. once I say "-lxyz" the linker is only looking for libxzy.a but not .so after that.... (2 Replies)
Discussion started by: acerlinux
2 Replies

6. AIX

runtime libs accessed by application in AIX

Hi , I need some inputs on runtime or shared libs for an application(s) in AIX . i have a requirement saying i need to rehost all the production applications into new AIX OS . Here Source and target oS is AIX but with different versions so for this i need to identify what are the... (1 Reply)
Discussion started by: naren_chella
1 Replies

7. Shell Programming and Scripting

Writing a 'Mad Libs' program using Ruby?

How would I go about writing a 'Mad Libs' type program using Ruby? Any examples would be greatly appreciated. Thanks! (0 Replies)
Discussion started by: greeky
0 Replies

8. Programming

shared libs

The gcc version is different on my computer than on the remote computer. An ldd on my program says: Is there any way I can tell gcc to compile my program against my version of libc-2.7.so and ld-2.7.so (which I would provide along with the program) instead of the remote computer's libs ? (I do... (5 Replies)
Discussion started by: cyler
5 Replies

9. SuSE

How to get RPM Dependencies/libs

Hi All, I wanted to install an rpm package on two suse 10 systems. It installed successfully on one system but on the other it throws an error like error: Failed dependencies: rpmlib(PayloadIsLzma) <= 4.4.2-1 is needed by linuxProj-1-1.noarch Now this means that rpnm... (4 Replies)
Discussion started by: dirshah
4 Replies

10. UNIX for Advanced & Expert Users

Required libs to compile libXft

Hello. I am looking for all the necessary packages required to be able to compile libXft. I tried to compile libXft-2.1.8.2$ and the error message was: checking for XRENDER... checking for XRENDER... checking for X... no checking X11/extensions/Xrender.h usability... no checking... (1 Reply)
Discussion started by: colt
1 Replies
FASTJET-CONFIG(1)						   User Commands						 FASTJET-CONFIG(1)

NAME
fastjet-config - fastjet-config DESCRIPTION
This is FastJet configuration tool. Usage: fastjet-config [--help] [--version] [--prefix] [--cxxflags] [--libs] [--shared[=yes|no]] [--plugins[=yes|no]] [--rpath[=yes|no]] [--runpath] [--list-plugins] [--config] The arguments can be either queries (one must be present): --help prints this message and exits --version prints FastJet version and exits --prefix gets the FastJet installation directory --cxxflags returns the compilation flags to be used with C++ programs --libs returns the flags to pass to the linker or flags (optional): --shared controls whether you want to use the static or shared lib (default=yes) --plugins controls whether you also want to link the FastJet plugins (default=no) --rpath adds a -rpath argument at link-time that points to the directory where FastJet libraries are installed. This avoid having to set LD_LIBRARY_PATH at runtime when using shared libs in a non standard location (but may cause the program to inadvertently pick up other shared libraries that happen to be in the FastJet installation directory). (default=yes) --runpath at link-time, adds info about the directory where FastJet libraries are installed to the runpath (ELF systens only). This avoids having to set LD_LIBRARY_PATH at runtime when using shared libs in a non standard location but gives priority to an existing LD_LIBRARY_PATH. --list-plugins list all the available plugins --config shows a summary of how FastJet was configured AUTHOR
This manual page was written by Lifeng Sun <lifongsun@gmail.com> for the Debian system (but may be used by others). fastjet-config May 2012 FASTJET-CONFIG(1)
All times are GMT -4. The time now is 09:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy