Sponsored Content
Top Forums Programming Linking in OpenSSL libcrypto Statically Post 302535760 by Corona688 on Friday 1st of July 2011 03:11:51 PM
Old 07-01-2011
Java

Don't think -Bstatic works quite right in gcc, it's just a compatibility option borrowed from the flags of some esoteric compiler.

You don't need to link in a .a as a library, you can use it just like an object file. (that's what an .a is, essentially -- except it can have more than one .o in it)

Code:
gcc myprogram.c /usr/lib/libcrypto.a -o myprogram

It will dynamically link the C runtimes and such dynamically but pull static functions from libcrypto.a as needed, just like it would another .c or .o file.

If you don't have libcrypto.a, you may need to install openssl-dev or whatever your distro hides it under.
 

9 More Discussions You Might Find Interesting

1. Programming

Linking problem while linking to shared library

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

2. Programming

HOw to load dynamic lib from a statically linked program ?

I need to load a dynamic library from a statically linked program. Is there a way without recompiling my program. when i try to do that my program just crashes. If not possible, how can I avoid crashing the program when i try to load the dynamic lib, again without recompiling. If my... (1 Reply)
Discussion started by: disclaimer
1 Replies

3. Programming

how to compile a program statically

how can i do static compilation in cc and -lldap i have system defined and user defined header file. Can any one suggest any site where from i can get some information about static and dynamic compilation. Thankx (1 Reply)
Discussion started by: bhakti
1 Replies

4. UNIX for Dummies Questions & Answers

is linking possible?

how would i link 2 files together? is it the same as copying? (1 Reply)
Discussion started by: trob
1 Replies

5. Solaris

g++ linking problem...

I use Solaris 10, compiling with a custom g++ (3.4.6) and GNU binutils (2.17). Things have gone well on two different systems, but when I tried moving to a third, it all fell over. Basically, it is now using the CC linker, but I need to use options not available to it. I believe I have found the... (0 Replies)
Discussion started by: Elric of Grans
0 Replies

6. Programming

dlopen failing on library with statically linked dependencies

I am attempting to port a program from OS X to Linux. It's C++ & Qt Creator and I did the original Windows to OS X port, so I tried to make it as POSIX-compliant as possible; the OS X port works well, and the Linux port builds and starts (it's on Ubuntu 9.10) but has some issues running. The... (2 Replies)
Discussion started by: Hodapp87
2 Replies

7. Solaris

libcrypto.so.0.9.7

Hi Can anyone tell me the use of libcrypto.so.0.9.7 ? I know it is used for SSH. Also is there a way to look into the content of these jars? Also is there a way to uncompress the same? i tried # uncompress libcrypto.so.0.9.7 libcrypto.so.0.9.7.Z: No such file or directory # jar xvf... (6 Replies)
Discussion started by: flinders1323
6 Replies

8. UNIX for Advanced & Expert Users

Curl: fatal: libcrypto.so.1.0.0

Hi, I've installed curl with all despondency but when I try to start it I get: root@xxx> curl ld.so.1: curl: fatal: libcrypto.so.1.0.0: open failed: No such file or directory Killed Looks like I have to change/make symlinks but I don't know how/where. Any idia? ---------- Post... (3 Replies)
Discussion started by: mehrdad68
3 Replies

9. AIX

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: 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... (0 Replies)
Discussion started by: amandeepgautam
0 Replies
mkbundle(mkbundle 1.0)													    mkbundle(mkbundle 1.0)

NAME
mkbundle, mkbundle2 - Creates a bundled executable. SYNOPSIS
mkbundle [options] assembly1 [assembly2 ...] DESCRIPTION
mkbundle generates an executable program that will contain static copies of the assemblies listed on the command line. By default only the assemblies specified in the command line will be included in the bundle. To automatically include all of the dependencies referenced, use the "--deps" command line option. Use mkbundle when you want the startup runtime to load the 1.0 profile, and use mkbundle2 when you want the startup runtime to load the 2.0 profile. For example, to create a bundle for hello world, use the following command: $ mkbundle -o hello hello.exe The above will pull hello.exe into a native program called "hello". Notice that the produced image still contains the CIL image and no precompilation is done. In addition, it is possible to control whether mkbundle should compile the resulting executable or not with the -c option. This is useful if you want to link additional libraries or control the generated output in more detail. For example, this could be used to link some libraries statically: $ mkbundle -c -o host.c -oo bundles.o --deps hello.exe $ cc host.c bundles.o /usr/lib/libmono.a -lc -lrt You may also use mkbundle to generate a bundle you can use when embedding the Mono runtime in a native application. In that case, use both the -c and --nomain options. The resulting host.c file will not have a main() function. Call mono_mkbundle_init() before initializing the JIT in your code so that the bundled assemblies are available to the embedded runtime. OPTIONS
-c Produce the stub file, do not compile the resulting stub. -o filename Places the output on `out'. If the flag -c is specified, this is the C host program. If not, this contains the resulting exe- cutable. -oo filename Specifies the name to be used for the helper object file that contains the bundle. -L path Adds the `path' do the search list for assemblies. The rules are the same as for the compiler -lib: or -L flags. Specifies that a machine.config file must be bundled as well. Typically this is $prefix/etc/mono/1.0/machine.config or $prefix/etc/mono/2.0/machine.config depending on the profile that you are using (1.0 or 2.0) --nodeps This is the default: mkbundle will only include the assemblies that were specified on the command line to reduce the size of the resulting image created. --deps This option will bundle all of the referenced assemblies for the assemblies listed on the command line option. This is useful to distribute a self-contained image. --keeptemp By default mkbundle will delete the temporary files that it uses to produce the bundle. This option keeps the file around. --machine-config FILE Uses the given FILE as the machine.config file for the generated application. --nomain With the -c option, generate the host stub without a main() function. --config-dir DIR When passed, DIR will be set for the MONO_CFG_DIR environment variable --static By default mkbundle dynamically links to mono and glib. This option causes it to statically link instead. Important: Since the Mono runtime is licensed under the LGPL, even if you use static you should transfer the component pieces of the mkbundle to your users so they are able to upgrade the Mono runtime on their own. If you want to use this for commercial licenses, you must obtain a proprietary license for Mono from mono@novell.com -z Compresses the assemblies before embedding. This results in smaller executable files, but increases startup time and requires zlib to be installed on the target system. WINDOWS
On Windows systems, it it necessary to have Unix-like toolchain to be installed for mkbundle to work. You can use cygwin's and install gcc, gcc-mingw and as packages. ENVIRONMENT VARIABLES
AS Assembler command. The default is "as". CC C compiler command. The default is "cc" under Linux and "gcc -mno-cygwin" under Windows. MONO_BUNDLED_OPTIONS Options to be passed to the bundled Mono runtime, separated by spaces. See the mono(1) manual page or run mono --help. FILES
This program will load referenced assemblies from the Mono assembly cache. BUGS
The option "--static" is not supported under Windows. Moreover, a full cygwin environment containing at least "gcc" and "as" is required for the build process. The generated executable does not depend on cygwin. MAILING LISTS
Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details. WEB SITE
Visit: http://www.mono-project.com for details SEE ALSO
mcs(1),mono(1),mono-config(5). mkbundle(mkbundle 1.0)
All times are GMT -4. The time now is 10:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy