[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-ddrescue] Re: ddrescue-0.9: build comments

From: Antonio Diaz Diaz
Subject: [Bug-ddrescue] Re: ddrescue-0.9: build comments
Date: Sun, 09 Jan 2005 20:08:14 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040913

Hello again, Nelson. Thanks for your interest in GNU ddrescue.

Nelson H. F. Beebe wrote:
I ran build attempts for ddrescue-0.9 this morning in 24 compilation
environment on about 20 flavors of Unix.
While ddrescue built on several GNU/Linux platforms, builds failed
everywhere else.

As I said before (several times), I only have access to GNU/Linux, and I won't volunteer my time to support other platforms. Please, ask the vendors of the other "flavors of Unix" to volunteer their time to adapt GNU ddrescue to their platforms so you can use it. What? They wont work for you gratis? How ungrateful they are!

One problem that needs repair is that the Makefile has g++ hardcoded.
GNU autoconf conventions are that CC, CXX, CFLAGS, CXXFLAGS, LIBS, and
LDFLAGS should all be settable in the environment, and propagate into
the Makefile.

First, GNU ddrescue does not use autoconf, so its conventions are not applicable.
Second, RTFM. The documented method to override makefile variables is:
    make CXX=your_compiler_name ...

Compilers reported these problems; they are typical of reports on many
systems, so I'm showing only this subset.

        g++  -Wall -W -O2 -c -o ddrescue.o ddrescue.cc
        ddrescue.cc: In member function `bool Block::join(const Block&)':
        ddrescue.cc:94: warning: comparison between signed and unsigned integer

        ddrescue.cc: In function `void show_status(long int, long int, long 
int, long
           int, long unsigned int, const char*, bool)':
        ddrescue.cc:260: warning: unsigned int format, different type arg (arg 

These seem problems with the definition of size_t in your system. Please, send me the preprocessed source file and test the next development release of GNU ddrescue when announced at Freshmeat.

I never release a new version of any program with even a single warning, and I am specially careful with GNU ddrescue because it is a data rescue tool. But I need help from the users to fix problems on systems different from my own.

        g++  -Wall -W -O2 -c -o ddrescue.o ddrescue.cc
        ddrescue.cc:34: getopt.h: No such file or directory

getopt is NOT a standard C utility; if you use it, you MUST provide
your own code.

Sorry, I think your Unix vendor MUST provide you a copy of getopt.h.

        g++  -Wall -W -O2 -c -o ddrescue.o ddrescue.cc
        ddrescue.cc: In function `long long int getnum(const char*, size_t, 
long long int, long long int)':
        ddrescue.cc:160: error: `strtoll' is not a member of `std'
        ddrescue.cc:193: error: `llabs' is not a member of `std'

These failures reflect a namespace problem.  Few C++ compilers are at
the level of the 1998 ISO C++ Standard (never mind that there is now a
2003 ISO C++ Standard, sigh...), so suitable configure tests need to
be made to figure out what needs to be done in older C++ environments.

I won't volunteer my time to support old environments. Please, upgrade.

Antonio Diaz.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]