Solved

can't make GNU fileutils -- problem?

Posted on 1997-07-11
9
349 Views
Last Modified: 2013-12-16
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...

0
Comment
Question by:chrisvo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
9 Comments
 

Expert Comment

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

vinay

0
 
LVL 1

Expert Comment

by:mgrcnk
ID: 1812512
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
 
LVL 1

Expert Comment

by:mgrcnk
ID: 1812513
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:chrisvo
ID: 1812514
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
 
LVL 1

Expert Comment

by:mgrcnk
ID: 1812515
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
 

Author Comment

by:chrisvo
ID: 1812516
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
 
LVL 1

Expert Comment

by:mgrcnk
ID: 1812517
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
 
LVL 1

Accepted Solution

by:
mgrcnk earned 100 total points
ID: 1812518
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
 

Author Comment

by:chrisvo
ID: 1812519
Thanks for the help, I got the compilation to succeed!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
Every server (virtual or physical) needs a console: and the console can be provided through hardware directly connected, software for remote connections, local connections, through a KVM, etc. This document explains the different types of consol…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question