Compiling with multiple versions of a library


 
Thread Tools Search this Thread
Operating Systems Linux Compiling with multiple versions of a library
# 1  
Old 03-08-2010
Compiling with multiple versions of a library

Hello!

I have a set of headers and libraries I want to use but they are mixed with ones I do not want to use. They are part of some official stuff, so I cannot modify them while begging and pleading for weeks.

These headers and libraries are located here
/long/official/path/to/include
/long/official/path/to/lib

respectively

Inside the "include" directory there is another directory "goodies" which is outdated. I have a private version of goodies located
/latest/greatest/include/goodies
that I compiled to produce
/latest/greatest/lib/libGoodies
but I had to compile this against the /long/official/path/to/include headers.

Now I want to use all of this to compile a program. I want all of headers and libs in /long/official/path/to/ but I want goodies from /latest/greatest/

When I compile I use
-I/latest/greatest/include -L//latest/greatest/lib/ -lGoodies -I/long/official/path/to/include -L /long/official/path/to/lib -lThis -That -lLotsMore

and it complains that a function in /latest/greatest/lib/libGoodies.so has undefined references which are files that are located in /long/official/path/to/include

I tried
-I/latest/greatest/include -I/long/official/path/to/include -L/latest/greatest/lib/ -lGoodies -L /long/official/path/to/lib -lThis -That -lLotsMore
but the errors persist...

If you have followed this far, can you please tell me how to fix this. Its driving me NUTS!!!

Thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Compiling GCC 6.3.0 - Error with Library

First of all -- thanks for being patient with me. I hope I'm submitting this correctly. Also I haven't done UNIX Admin since the early 1990's. I'm actually a DBA. But, since I'm the one in the office with the UNIX experience, I'm the SA. I haven't been able to compile GCC 6.3.0 which I need... (9 Replies)
Discussion started by: PJ_Namias
9 Replies

2. UNIX for Advanced & Expert Users

How does extundelete handle multiple versions of the same inode?

Hi, I noticed a weird behavior in extundelete way to choose the filename to which it will restore a given inode. Here is an example : root@rescue:~# for after in '' 0 740 741 $(date -d 'now - 1 year' +%s); do rm -rf RECOVERED_FILES/; echo -e "$(date -d@$after 2> /dev/null || echo No... (4 Replies)
Discussion started by: chebarbudo
4 Replies

3. Red Hat

Installing multiple versions of same package.

I need to install a older version of gnupg but not delete the current version of gnup2 on RHEL 6.4. What would be the correct syntax to install this? Tried to install and relocate it and still getting conflicts. aXXXXXX:root# rpm -ivh /root/rpmbuild/RPMS/x86_64/gnupg-1.4.16-1.x86_64.rpm... (2 Replies)
Discussion started by: soupbone38
2 Replies

4. Programming

Trouble compiling program using the readline library.

Hi: in the info page for readline library I read -- Function: void rl_variable_dumper (int readable) Print the readline variable names and their current values to `rl_outstream'. If READABLE is non-zero, the list is formatted in such a way that it can be made part of an... (1 Reply)
Discussion started by: stf92
1 Replies

5. UNIX for Dummies Questions & Answers

Patches - why multiple versions?

Hi just wondering really ...... I've done a showrev -p and am somewhat surprised to see apparently multiple different versions of the same patches ...... 112161-02 112161-03 112161-04 It's my understanding that a newer revision of a patch , -04 in this case supercedes all previous... (2 Replies)
Discussion started by: Martincorneuk
2 Replies

6. Programming

Library problem - not compiling in c

Ok I was trying to test if I installed correctly gsl, I followed the INSTALL file and still I don't know what is wrong. Here is a sample code to test gel,I got it from Random Number Generator Examples - GNU Scientific Library -- Reference Manual (note: made a few changes in the code) #include... (2 Replies)
Discussion started by: joseamck
2 Replies

7. UNIX and Linux Applications

install multiple versions of firefox in linux

Since apt-get and yum won't let you install multiple versions of firefox I will explain how to here. 1. Go to this page and decide which version of firefox you want. ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/ I used this one. ... (0 Replies)
Discussion started by: cokedude
0 Replies

8. UNIX for Dummies Questions & Answers

Using multiple java versions in unix

Hello we are using java 1.2 in our shell / env it is also set in the main JAVA_HOME env var , but we have also java 1.4 installed , now we need to use new application that uses only java1.4 is there any way to point this specific application to use java 1.4 without changing the global... (2 Replies)
Discussion started by: umen
2 Replies

9. Shell Programming and Scripting

How to manage multiple versions of a set of shell and SQL script utilities

Hi all --- I have the need to manage multiple versions of a set of utility scripts -- both shell and SQL and other .dat files. I am wondering if anyone out there knows of a good way to "PATH" to SQL and text files in a way similar to how PATH facilitates finding executables in a pre-specified... (2 Replies)
Discussion started by: DennisB
2 Replies
Login or Register to Ask a Question
APT-FORKTRACER(8)					      System Manager's Manual						 APT-FORKTRACER(8)

NAME
apt-forktracer - a utility for managing package versions SYNOPSIS
apt-forktracer [ -v ] DESCRIPTION
Background Maintaining Debian stable systems sometimes requires installation of unofficial versions of packages: backporting newer versions This is necessary, when significant new functionality is required on the system but unavailable in the official version found in the current stable release. In this case, the version string usually sorts as newer than the official stable version string. This means that pinning is not necessary, as APT will select such package version by default. local changes to the official version Usually these are small changes, so a minor modification of the package version string is sufficient. There are two ways to do this: Try to invent a version string newer than the current one, but older than the next official one. This way does not require pinning, but is difficult to do reliably. It might turn out, that the next official version string is older than the one invented by you, which would cause the official version to be silently ignored. The other way is to modify the version string in such way that it sorts as older than the official one. The tilde character is very useful here, because dpkg treats it in a special way: it is sufficient to append any string starting with the tilde, to the version string, e.g. 1.2 -> 1.2~sl.1. This requires you to "pin" the package to that version, but it is more reliable, because works regardless of what the next official version number will be. In both cases, there is one major drawback: APT will not warn you when newer versions of official packages (point releases, security updates) will appear in the stable release. This means you may miss some important change. apt-forktracer's job let you track newer official versions of locally overridden packages. Official package version definition Official package version is a version which is available from a source, whose Release file's Origin header value is equal to the system distributor identifier, as indicated by the lsb_release --id command, or by the DISTRIB_ID field in the /etc/lsb-release file. Program operation apt-forktracer analyzes each installed package separately, reporting on the standard output these packages which are in a "non-standard" state. What "non-standard" means depends on the mode of program operation: default (non-verbose) mode this state means packages in an incorrect state (e.g. no candidate version) or packages whose candidate version is different than the newest available official version. verbose mode this state also includes packages whose installed version is different from the candidate version In the default mode the program also reads configuration files, which let you ignore some of the "non-standard" packages, as long as they meet certain criteria. If there is no configuration for a given package, then a default configuration is used. More information is avail- able in forktracer.conf(5). Message format The program outputs messages such as the following: foobar (1.2.3->1.2.4) [Debian: 1.2.3 1.2.4] [Other origin: 1.2.2] Where: foobar package name 1.2.3 installed package version 1.2.4 candidate package version - see apt-cache(8). Debian the value of the "Origin" field of one of the package sources. Versions available from this source are listed after a colon. Other origin another source origin OPTIONS
-v Turns on the verbose mode. FILES
/etc/apt/forktracer.conf /etc/apt/forktracer.d/*.conf SEE ALSO
forktracer.conf(5), apt_preferences(5), apt-cache(8). Debian Project 2008-11-16 APT-FORKTRACER(8)