can't make GNU fileutils -- problem?

I try to do a make after running ./configure for
GNU fileutils v3.13 on Solaris 2.5.1 ;
I get the following message:
make
make all-recursive
for subdir in lib intl src doc man po; do            \
  target=`echo all-recursive | sed s/-recursive//`; \
  echo making $target in $subdir;      \
  (cd $subdir && make $target)      \
   || case "" in *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$fail"
making all in lib
making all in intl
making all in src
/usr/local/bin/gcc -static -o chgrp chgrp.o ../lib/libfu.a -lintl -lgen
Undefined                  first referenced
 symbol                        in file
dlclose                             /usr/lib/libc.a(nss_deffinder.o)
dlsym                               /usr/lib/libc.a(nss_deffinder.o)
dlopen                              /usr/lib/libc.a(nss_deffinder.o)
ld: fatal: Symbol referencing errors. No output written to chgrp
*** Error code 1
make: Fatal error: Command failed for target `chgrp'
Current working directory /apps/fileutils-3.13/src
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /apps/fileutils-3.13
*** Error code 1
make: Fatal error: Command failed for target `all-recursive-hack'


What is the problem? I tried unsetting my LD_LIBRARY_PATH
but that didn't work...

chrisvoAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

vkg063097Commented:
Tell me the place from where I can get this fileutil utility, so that I can try configuring here.

vinay

0
mgrcnkCommented:
I just garbbed it from prep.ai.mit.edu and compiled on Solaris2.5.1/Sparc just fine.  I have included my LD_LIBRARY_PATH environment variable.  If that fixes it, great.  If not, let me know and I will email you the compilation/configuration logs.  This will show you exactly what I did and will also have all of my environment variables.  I could post it, but that would be a HUGE post.

LD_LIBRARY_PATH=/usr/local/OpenGL/lib:/opt/SUNWspro/lib:/usr/local/galaxy2.0/galaxy/lib:/usr/openwin/lib:/usr/local/lib:/usr/ucblib:/opt/slate/versant/solaris/4.0.8/sun4/lib

Some of these will not pertain to you because they are locally installed packages (OpenGL, galaxy, etc.)


0
mgrcnkCommented:
Also, if you still can't get it, I can tar up my source tree and email it (or let you ftp it from me).  At least you will be able to run the stuff (not sure how urgent you need it).
0
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

chrisvoAuthor Commented:
I'm trying to compile fileutils specifically to get a static version of ls... I ran configure, and then patched it; I tried setting my LD_LIBRARY_PATH to something similar to yours but I still get the same problems...
0
mgrcnkCommented:
What do you mean by "you patched it"?  You did not mention that
in your question.  If you patched it with a file, please let me
know what file you used (where to get the patch).  If you meant
that you modified something (makefile, etc.), then what did you
modify?

0
chrisvoAuthor Commented:
Using Emil Isberg's static ls patch
(http://www.teleport.com/~minerva/wu-ftpd/static-ls.patch)
I was trying to create the ls for use with wu-ftpd
(anonymous ftp site...)
0
mgrcnkCommented:
I just applied the patch:

mgrcnk] [deneb]/Users/manager/king1/TESTSRC/fileutils-3.13> make
make all-recursive
for subdir in lib intl src doc man po; do               \
  target=`echo all-recursive | sed s/-recursive//`; \
  echo making $target in $subdir;       \
  (cd $subdir && make $target)  \
   || case "" in *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$fail"
making all in lib
making all in intl
making all in src
gcc -c -DLOCALEDIR=\"/usr/local/lib/locale\" -DSHAREDIR=\"/usr/local/lib\" -DHAc
gcc -static -o ls ls.o ls-ls.o static-ls.o ../lib/libfu.a -lintl -lgen
making all in doc
making all in man
making all in po
-----

The patch worked fine for me.  Maybe post your environment variables as well as the output from ./configure and you patch application.  Also, if you would, email me a copy at mgrcnk@nextwork.rose-hulman.edu [so I don't have to cut and paste out of Netscape].  Thanks!



0
mgrcnkCommented:
I figured out why you were getting the errors.  The patch you applied is for ls only.  However, it modifies the makefile for all the binaries.  So, you were trying to statically compile everything (chgrp is where is died I believe).  To fix this:

1. Delete your source tree and start over (untar fileutils)
2. Run configure
3. Run make
4. Apply patch
5. Re-run make

If you follow this order, you should get better results.

chris
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
chrisvoAuthor Commented:
Thanks for the help, I got the compilation to succeed!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Unix OS

From novice to tech pro — start learning today.