Create shared libs on AIX (with certain libs which are statically linked)


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
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..
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

10 More Discussions You Might Find Interesting

1. 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

2. UNIX for Advanced & Expert Users

Gimp's configure do not find Gegl libs

Hello, I have been trying to compile Gimp. To do so, I had to compile its dependencies Babl and Gegl. After doing so I use this command to try to compile it: ./configure --prefix=/media/34GB/Arquivos-de-Programas-Linux/Gimp-2.6.0/... (6 Replies)
Discussion started by: colt
6 Replies

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
iodbc-config(1) 					       iODBC Driver Manager						   iodbc-config(1)

NAME
iodbc-config - script to get information about the installed version of iODBC SYNOPSIS
iodbc-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs] [--libtool-libs] [--odbcini] [--odbcin- stini] DESCRIPTION
iodbc-config is a tool that is used to configure to determine the compiler and linker flags that should be used to compile and link pro- grams that use iODBC. OPTIONS
iodbc-config accepts the following options: --version Print the currently installed version of iODBC on the standard output. --cflags Print the compiler flags that are necessary to compile an iODBC program. --libs Print the linker flags that are necessary to link an iODBC program using dynamic libraries (if supported). --static-libs Print the linker flags that are necessary to link an iODBC program using static libraries. --libtool-libs Print the linker flags that are necessary to link an iODBC program in a libtool environment. --odbcini Print the path of the system wide odbc.ini file. --odbcinstini Print the path of the system wide odbcinst.ini file. --prefix[=PREFIX] If specified, use PREFIX instead of the installation prefix that iODBC was built with when computing the output for the --cflags and --libs options. This option is also used for the exec prefix if --exec-prefix was not specified. This option must be specified before any --libs or --cflags options. If PREFIX is not specified, the --prefix flag shows where iODBC is currently installed. --exec-prefix=PREFIX If specified, use PREFIX instead of the installation exec prefix that iODBC was built with when computing the output for the --cflags and --libs options. This option must be specified before any --libs or --cflags options. EXAMPLES
To compile a program that calls the iODBC API, make sure the iodbc-config program can be found in the PATH environment variable, before using the following Makefile fragment: CFLAGS=`iodbc-config --cflags` LDLIBS=`iodbc-config --libs` iodbctest: iodbctest.c cc $(CFLAGS) -o iodbctest iodbctest.c $(LDLIBS) COPYRIGHT
Copyright (C) 1996-2009 by OpenLink Software AUTHOR
iODBC Administrator <iodbc@openlinksw.com> 3.52.7 16 June 2004 iodbc-config(1)

Featured Tech Videos