Solved

can't make GNU fileutils -- problem?

Posted on 1997-07-11
9
348 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
Technology Partners: 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

Industry Leaders: 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

Hello fellow BSD lovers, I've created a patch process for patching openjdk6 for BSD (FreeBSD specifically), although I tried to keep all BSD versions in mind when creating my patch. Welcome to OpenJDK6 on BSD First let me start with a little …
Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

730 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