no rule to make target cl_N_err_d0.lo
I wish to run GiNaC to simplify some very complicated algebraic expressions(Bessel, Legendre,etc. polynomials) and evaluate them, and in order to do that I must first compile cln-1.0.3.tar.gz I am in difficulty doing this. I don't know what the problem(s) is and I would appreciate some help. What I did was: tar -zxvf cln-1.0.3.tar.gz; cd cln-1.0.3; CC="gcc -V egcs-2.91.66" CFLAGS="-O2 -fno-exceptions" CXX="g++ -V egcs-2.91.66" CXXFLAGS="-O2 -fno-exceptions" ./compile; make -n; It stops with error 2 because No rule to make target `cl_N_err_d0.lo' needed by `libcln.la' ==================================================================== The tail of the scriptfile follows: ==================================================================== /bin/sh ../libtool --mode=compile g++ -V egcs-2.91.66 -O2 -fno-exceptions -I../include -I../include -I./vector -I./integer -I./base/digitseq -I./base/digit -Ibase -I./base -I../gmp -c ./vector/cl_SV_ringelt.cc /bin/sh ../libtool --mode=compile g++ -V egcs-2.91.66 -O2 -fno-exceptions -I../include -I../include -I./vector -I./integer -I./base/digitseq -I./base/digit -Ibase -I./base -I../gmp -c ./vector/cl_SV_ringelt_debug.cc make SUBDIR=vector/output make[3]: Entering directory `/home/er-chan/cln-1.0.3/src' /bin/sh ../libtool --mode=compile g++ -V egcs-2.91.66 -O2 -fno-exceptions -I../include -I../include -I./vector -I./integer -I./base/digitseq -I./base/digit -Ibase -I./base -I../gmp -c ./vector/output/cl_GV_number_aprint.cc /bin/sh ../libtool --mode=compile g++ -V egcs-2.91.66 -O2 -fno-exceptions -I../include -I../include -I./vector -I./integer -I./base/digitseq -I./base/digit -Ibase -I./base -I../gmp -c ./vector/output/cl_SV_aprint.cc /bin/sh ../libtool --mode=compile g++ -V egcs-2.91.66 -O2 -fno-exceptions -I../include -I../include -I./vector -I./integer -I./base/digitseq -I./base/digit -Ibase -I./base -I../gmp -c ./vector/output/cl_SV_number_aprint.cc make[3]: Leaving directory `/home/er-chan/cln-1.0.3/src' make[2]: Leaving directory `/home/er-chan/cln-1.0.3/src' make[1]: *** No rule to make target `cl_N_err_d0.lo', needed by `libcln.la'. Stop. make[1]: Leaving directory `/home/er-chan/cln-1.0.3/src' make: *** [all] Error 2 [er-chan@abs cln-1.0.3]$ exit Script done on Wed Jul 19 23:06:07 2000 ============================================================== The head of the scriptfile follows: =============================================================== Script started on Wed Jul 19 22:51:58 2000 [er-chan@abs er-chan]$ date Wed Jul 19 22:52:02 PDT 2000 [er-chan@abs er-chan]$ cd cln-1.0.3 [er-chan@abs cln-1.0.3]$ "CC CC="gcc -V egcs-2.91.66" CFLAGS="-O2 -fno-exceptions" CXX="g++ -V egcs-2.91.66" CXXFLAGS="-O2 -fno-exceptions" ./configure creating cache ./config.cache checking whether make sets $(MAKE)... yes checking for gcc... gcc -V egcs-2.91.66 checking whether the C compiler (gcc -V egcs-2.91.66 -O2 -fno-exceptions ) works... yes checking whether the C compiler (gcc -V egcs-2.91.66 -O2 -fno-exceptions ) is a cross-compiler... no checking whether we are using GNU C... yes checking how to run the C preprocessor... gcc -V egcs-2.91.66 -E -w checking for c++... g++ -V egcs-2.91.66 checking whether the C++ compiler (g++ -V egcs-2.91.66 -O2 -fno-exceptions ) works... yes checking whether the C++ compiler (g++ -V egcs-2.91.66 -O2 -fno-exceptions ) is a cross-compiler... no checking whether we are using GNU C++... yes checking how to run the C++ preprocessor... g++ -V egcs-2.91.66 -E checking for underscore in external names... no checking for ranlib... ranlib checking for a BSD compatible install... cp checking host system type... i486-pc-linuxlibc6 checking for ld used by GCC... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... -static checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the linker (/usr/bin/ld) supports shared libraries... yes checking command to parse /usr/bin/nm -B output... yes checking how to hardcode library paths into programs... immediate checking for /usr/bin/ld option to produce relocatable object files... -r checking dynamic linker characteristics... Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for objdir... .libs creating libtool checking for bool type... yes checking for long long type... yes checking for long double type... yes checking for working template<>... yes checking for the global constructors function prefix... _GLOBAL_.I. checking whether the global constructors function need to be exported... yes checking for unistd.h... yes checking for working alloca.h... yes checking for alloca... yes checking for fpu_control_t... yes checking for __setfpucw... yes checking for gettimeofday... yes checking for gettimeofday declaration... extern int gettimeofday (struct timeval *, struct timezone *); checking for ftime... yes checking for sys/resource.h... yes checking for sys/times.h... yes checking for getrusage... yes checking for getrusage declaration... extern int getrusage (enum __rusage_who, struct rusage *); checking for perror declaration... yes checking whether characters are unsigned... no checking for integer types and behaviour creating include/cl_intparam.h checking for floating-point types and behaviour creating include/cl_floatparam.h updating cache ./config.cache creating ./config.status creating Makefile creating src/Makefile creating tests/Makefile creating benchmarks/Makefile creating examples/Makefile creating doc/Makefile creating include/cl_config.h creating src/base/cl_base_config.h creating src/base/cl_gmpconfig.h creating src/float/cl_float_config.h creating src/timing/cl_t_config.h configuring in gmp running /bin/sh ./configure --cache-file=../config.cache --srcdir=. Configuring for a i486-pc-linuxlibc6 host. Created "Makefile" in /home/er-chan/cln-1.0.3/gmp using "config/mt-linux" [er-chan@abs cln-1.0.3]$ make -n if test -f gmp/Makefile; then cd gmp && make mpn/libmpn.la mp_clz_tab.lo CC='gcc -V egcs-2.91.66' CFLAGS='-O2 -fno-exceptions' LIBTOOL=../libtool; fi make[1]: Entering directory `/home/er-chan/cln-1.0.3/gmp' cd mpn && make "CC=gcc -V egcs-2.91.66" "CFLAGS=-O2 -fno-exceptions" "XCFLAGS=" LIBTOOL=../../libtool libmpn.la make[2]: Entering directory `/home/er-chan/cln-1.0.3/gmp/mpn' ../../libtool --mode=compile gcc -V egcs-2.91.66 -c -I. -I.. -I. -I./.. -O2 -fno-exceptions mp_bases.c ../../libtool --mode=compile gcc -V egcs-2.91.66 -c -I. -I.. -I. -I./.. -O2 -fno-exceptions inlines.c gcc -V egcs-2.91.66 -E -I. -I.. -I. -I./.. -O2 -fno-exceptions add_n.S | grep -v '^#' >tmp-add_n.s ===================================================================== ======================================================================= This is on a RedHat 6.1 linux 486 machine. Should I switch to Slackware 7.1 or Debian? Thanks for any help. ===================================================================== _,--------, .-. \ o / (_er-chan |(- at scn.org \ / ((_)) | _| `----\--\' _-_ | at usa.net / \ \o _\__\---'---`---.___ /o\ ___.---'---`---.___ ( \ - To UNSUBSCRIBE, email to ginac-list@ginac.de with a subject of "unsubscribe".
On Thu, 20 Jul 2000, er-chan wrote:
I wish to run GiNaC to simplify some very complicated algebraic expressions(Bessel, Legendre,etc. polynomials) and evaluate them, and in order to do that I must first compile cln-1.0.3.tar.gz I am in difficulty doing this. I don't know what the problem(s) is and I would appreciate some help. What I did was: tar -zxvf cln-1.0.3.tar.gz; cd cln-1.0.3; CC="gcc -V egcs-2.91.66" CFLAGS="-O2 -fno-exceptions" CXX="g++ -V egcs-2.91.66" CXXFLAGS="-O2 -fno-exceptions" ./compile; make -n; It stops with error 2 because No rule to make target `cl_N_err_d0.lo' needed by `libcln.la'
==================================================================== The tail of the scriptfile follows: ====================================================================
There are two common problems when compiling CLN. The first one is on parallel machines when you say make -j 2. Objects are missing when it tries to link, which is because libtool and deep directory structures simply don't go together. Big deal: just say make again. But I don't see any -j here. My next guess is that your version of make is broken. There was a bug in GNU make-3.78.1: it didn't properly initialize d_type. It was discussed on debian-devel in February and Andreas Schwap proposed this patch for GNU make-3.78.1: --- dir.c +++ dir.c 2000/01/20 15:40:41 @@ -1044,6 +1044,9 @@ #ifdef _DIRENT_HAVE_D_NAMLEN d->d_namlen = len - 1; #endif +#ifdef _DIRENT_HAVE_D_TYPE + d->d_type = DT_UNKNOWN; +#endif memcpy (d->d_name, df->name, len); return d; } Unfortunately we haven't found a simple test for make to see if it is broken. But I do suggest you have a very close look at your version of make.
======================================================================= This is on a RedHat 6.1 linux 486 machine. Should I switch to Slackware 7.1 or Debian? Thanks for any help. =====================================================================
This really shouldn't matter at all as long as your software is new enough (which it seems to be, judging from your compiler flags)! On the other hand, Debian 2.2 (potato) does come with a conveniently packaged libcln-1.0.3. Regards -richy. -- Richard Kreckel <Richard.Kreckel@Uni-Mainz.DE> <http://wwwthep.physik.uni-mainz.de/~kreckel/> - To UNSUBSCRIBE, email to ginac-list@ginac.de with a subject of "unsubscribe".
participants (2)
-
er-chan
-
Richard B. Kreckel