The forms library is in /usr/local/lib.
I had wrongly assumed that since I was installing XForms in my own directory the forms library would be there too. The object files (*.o) but not the library (forms.a) are in xforms-1.2.4/lib/.lib. On Oct 15, 2015, at 11:20 AM, Denniston, Todd A CIV NAVSURFWARCENDIV Crane < address@hidden> wrote:
-----Original Message----- From: On Behalf Of Jens Thoms Toerring Sent: Monday, October 12, 2015 4:30 PM To: Development with and of XForms; Peter Rowat Subject: Re: [XForms] Why does gcc not find the forms library?
Hi Peter,
On Mon, Oct 12, 2015 at 12:32:35PM -0700, Peter Rowat wrote:
On OS X, I’ve installed XForms and compiled the demos and they all work. But trying to compile the simplest program directly, e.g.
gcc -o pshme pshme.c -lforms
fails with "ld: library not found for -lforms”
Did you install it (i.e. did you run "make install")? ** Yes** And if you did, did it get installed in a path the linker checks for per default? **No!** The default for the installation is '/usr/local/lib'. And even then you may have to make the runtime linker aware of newly installed libraries.
I have no experience with OS X, but on Linux you need to run 'ldconfig' (as root) before it gets found after installing it for the very first time. And the runtime linker can be made to include '/usr/local/lib' into the default search path by editing /etc/ld.so.conf' or, on newer systems, creating a file with in 'etc/ld.so.conf.d'. Perhaps it's handled in a similar way under OS X?
Same happens if I tell gcc where to look:
gcc -o pshme pshme.c -L/….../xforms-1.2.4/lib -lforms
ls lib/*forms* lib/forms.c lib/forms.lo lib/forms.o lib/libforms.la lib/xforms.5 lib/xforms.man
The finished library is in 'lib/.lib', not in the 'lib' directory itself. So it should work with
gcc -o pshme pshme.c -L/….../xforms-1.2.4/lib/.lib -lforms
Which version of OS X has the OP been using? **10.11**Was the xforms lib installed before or after the last OS upgrade? **After**I have been reading in some other mailing lists[2] that some features of the new System Integrity Protection [1] (AKA rootless) has been causing issues with packages that want to install links in / or /usr, also there is an issue with boost [3] that might be similar. Food for thought? Places to ask what their related solutions were?[1] https://en.wikipedia.org/wiki/OS_X_El_Capitan#System_Integrity_Protection[2] http://article.gmane.org/gmane.comp.tex.macosx/47074 http://sourceforge.net/p/gimp-print/mailman/message/34523439/http://sourceforge.net/p/gimp-print/mailman/message/34515229/http://sourceforge.net/p/gimp-print/mailman/message/34520522/[3] http://stackoverflow.com/questions/32898887/boost-no-longer-works-with-homebrew-on-mac-el-capitanEven when this disclaimer is not here:I am not a contracting officer. I do not have authority to make or modify the terms of any contract.
|