sorry to keep making glue here.. i have another question i came across a lot of LD_LIBRARY_PATH bashers on the internet while searching about this variable.
would it be better so edit /etc/ld.so.conf and add the /opt/gEDA/lib so that ldconfig can find the libraries? same question for the PATH and PKG_CONFIG variables (gEDA reqires these be set) also I read there is an -R linker option that can specify the path for runtime libraries, would this be a better solution? <later> SUCCESS! i am looking at gschem now! thanks everyone! |
Could I possibly impose upon you to post the same snippet of your sucessful make? I think I've spotted what was the problem but would like to know what the sucessfull make looks like. The same part you posted... Thanks.. :) If not, no biggie.
|
but of course, enlightenment is what I seek... :)
i think this is the right snippet? right at the end where it was geting linked? sorry, if yo need more let me know and I'll post it. (as long as you promise to post an explanation :D ) <edit - too hard to read> Code:
/bin/sh ../libtool --silent --tag=CC --mode=link gcc -Wall -g -O2 -version-info 28:0:0 |
Yea, that's what I expected to see. Don't you see a difference?
-L/usr/X11R6/lib For some reason it wasn't searching /usr/X11R6 as the lack of a linker flag with your first make output shows. But this time around, it's in there, therefore, it picked up on your libs. Specifying: CPPFLAGS="-L/usr/X11R6/lib" make (that or tag it to ./configure, or both) would have fixed your problem. Do a ./configure --help to make sure. It's either CPPFLAGS or CXXFLAGS but I think it's the former. CXXFLAGS should be for specifying includes and CPPFLAGS for libs. Just keep that in mind if anything like this happens again and you know the libs are on your system. That's what those variables are for. To give it a nudge in the right direction if need be. Do a configure --help. I'm a little fuzzy from pain pills and don't have a linux box at the moment.. ;) CXXFLAGS are used for optimization I believe, not includes. It's something like that... configure will tell you. |
As for your final question about your library path, this is what I would do. Look in /etc/profile.d/ and have a peek at the java sh file in there. I'm assuming you have java installed. I'd make a "geda.sh" script to put in /etc/profile.d that does the same thing.
But you probably should add /opt/geda/lib (or whatever) to ld.so.conf anyway. If you find man pages in /opt/geda, you could define that directory with man.conf... ect... ect... |
Well spotted. I think it's LDFLAGS="-L/usr/X11R6/lib" ./configure, since it's the linker that's having problems. Anyway, to do that for everything? That'd be a nuisance.
Glad it's all worked out, though! As for LD_LIBRARY_PATH ... mostly you only need that stuff during compilation, for dynamic linking at run time ... once you've run ld.so.conf with $LD_LIBRARY_PATH="/opt/geda/lib" or similar, the necessary shared libraries will be linked properly, so you shouldn't need to do anything else to make it work. If you do, then you'll be ok with just adding the library path to ld.so.conf and being done with it. For packaging, however, jong might be on to something by putting any global environment variables into a profile script and packaging that up too. Glad it's sorted. |
It is LDFLAGS for libs and CPPFLAGS for includes... Was having a hard time thinking straight last night... ;)
|
many thanks to all!
this what i love about slackware.. |
All times are GMT -5. The time now is 03:21 AM. |