Solved

can't make GNU fileutils -- problem?

Posted on 1997-07-11
9
335 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
  • 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
 

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
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
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

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

My previous tech tip, Installing the Solaris OS From the Flash Archive On a Tape (http://www.experts-exchange.com/articles/OS/Unix/Solaris/Installing-the-Solaris-OS-From-the-Flash-Archive-on-a-Tape.html), discussed installing the Solaris Operating S…
I have been running these systems for a few years now and I am just very happy with them.   I just wanted to share the manual that I have created for upgrades and other things.  Oooh yes! FreeBSD makes me happy (as a server), no maintenance and I al…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
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.

706 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now