[NCLUG] Newbie programming help

mrbrown8 at juno.com mrbrown8 at juno.com
Sun Apr 13 21:44:52 MDT 2003


Hi Bob,

Thank you for the info. I think I got some things figured out.

> Try invoking 'make' just as 'make' without any options.  You should
> get a more normal result in that case.  That is what automake is
> expecting.
> 
> Meanwhile, those were only warnings.  The 'make' program continued 
> and
> decided that nothing needed to be done.  It says "Nothing to be done
> for 'all'", 'all' being the top level makefile target.  What files 
> did
> you expect it to build?  Check those.  It looks like it did build
> them.  It looks to me like everything worked.

[curt at localhost wxLLVH]$ make
make  all-recursive
make[1]: Entering directory `/home/curt/Projects/wxLLVH'
Making all in intl
make[2]: Entering directory `/home/curt/Projects/wxLLVH/intl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/curt/Projects/wxLLVH/intl'
Making all in po
make[2]: Entering directory `/home/curt/Projects/wxLLVH/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/curt/Projects/wxLLVH/po'
Making all in src
make[2]: Entering directory `/home/curt/Projects/wxLLVH/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/curt/Projects/wxLLVH/src'
make[2]: Entering directory `/home/curt/Projects/wxLLVH'
make[2]: Leaving directory `/home/curt/Projects/wxLLVH'
make[1]: Leaving directory `/home/curt/Projects/wxLLVH'
[curt at localhost wxLLVH]$

OK, here is what I am thinking. Experience tells me that whenever make
says "Nothing to do", that should mean that the object files are up to
date and synch'd with the current source. OKaaaay. I've got one source
file, main.cc, there should be a .o file for it. I'm not seeing my source
here...oh, it's in my ./src directory. There it is, and there's a main.o
and wxllvh executable too.

[curt at localhost src]$ ./wxllvh 
./wxllvh: error while loading shared libraries: libwx_gtk-2.4.so: cannot
open shared object file: No such file or directory
[curt at localhost src]$ 

I had more fundemental problems. Joy. I thought I had all of that in
place. I went back to my tarball of wxWindows and did a make and make
install. At the end of the make install, the wxWindow Programmers were
kind enough to clue me on the rest of the installation:

 The installation of wxWindows is finished.  On certain
 platforms (e.g. Linux) you'll now have to run ldconfig
 if you installed a shared library and also modify the
 LD_LIBRARY_PATH (or equivalent) environment variable.

So I ran ldconfig. And when THAT didn't work, the man page told me that
ldconfig searches the directories listed in /etc/ld.so.conf. I learned
that libwx_gtk-2.4.so was put in /usr/local/lib and that directory wasn't
listed in the conf file. So I added the ddirectory, ran ldconfig, ran my
wxllvh program, now I get a blank Hello World. All seems to be good. It's
possible I used an RPM and later backed it out for whatever reason and
that the RPM set everything up for me. *shrug*

But, I'm still curious, when do these make varibles get defined?:

> > Building source directory of the Project: wxLLVH ...
> > make --keep-going --warn-undefined-variables 
> > Makefile:180: warning: undefined variable `ACLOCAL_M4'
> > Makefile:183: warning: undefined variable `BUILT_SOURCES'
> > Makefile:263: warning: undefined variable `HEADERS'
> > Makefile:263: warning: undefined variable `LISP'
> > Makefile:271: warning: undefined variable `HEADERS'
> > Makefile:271: warning: undefined variable `TAGS_DEPENDENCIES'
> > Makefile:271: warning: undefined variable `LISP'
> > Makefile:294: warning: undefined variable `HEADERS'
> > Makefile:294: warning: undefined variable `TEXINFOS'
> > Makefile:294: warning: undefined variable `EXTRA_DIST'


> it will build.  Take a look in Makefile.am and see what it is 
> saying.
> I assume that it was created by anjuta?  So then you will still be
> looking at machine generated code.

Well, my Makefile.am is small:
-------------------------
## Process this file with automake to produce Makefile.in
## Created by Anjuta - will be overwritten
## If you don't want it to overwrite it,
## 	Please disable it in the Anjuta project configuration

SUBDIRS = intl po src

wxllvhdocdir = ${prefix}/doc/wxLLVH
wxllvhdoc_DATA = \
	README\
	COPYING\
	AUTHORS\
	ChangeLog\
	INSTALL\
	NEWS\
	TODO\
	ABOUT-NLS

EXTRA_DIST = $(wxllvhdoc_DATA)

# Copy all the spec files. Of cource, only one is actually used.
dist-hook:
	for specfile in *.spec; do \
		if test -f $$specfile; then \
			cp -p $$specfile $(distdir); \
		fi \
	done
-------------------------

Many thanks in advance for your help Bob.  :)


-- 
Curtis Brown  =8)
mrbrown8 at juno.com


________________________________________________________________
Sign Up for Juno Platinum Internet Access Today
Only $9.95 per month!
Visit www.juno.com



More information about the NCLUG mailing list