Solaris 10 tar directory checksum error

solaris 10 tar directory checksum error

tar: directory checksum error (Solaris Common Messages 1 week ago This error message from tar (1) indicates that the checksum of the directory and the files. But I'm now getting a directory checksum error - see below: tar -xvf /tmp/sprers.euz /opt tar. Actual Results: tar: directory checksum error Expected Results: unpacked the full archive this is on an ultra 10 running solaris 7. solaris 10 tar directory checksum error

Related Videos

CMOS Checksum bad (solución a BIOS en el arranque)

Solaris 10 tar directory checksum error - almost

System-specific issues

The following sections indicate some of the issues that have been observed to occur on particular systems when installing MySQL from a source distribution.

Solaris notes

On Solaris, you may run into trouble even before you get the MySQL distribution unpacked! Solaris can't handle long file names, so you may see an error like this when you unpack MySQL:

x mysqlbeta/bench/Results/ATIS-mysql_odbc-NT_cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase, 0 bytes, 0 tape blocks tar: directory checksum error

In this case, you must use GNU () to unpack the distribution. You can find a precompiled copy for Solaris at sprers.eu

Sun native threads work only on Solaris and higher. For and earlier versions, MySQL will automatically use MIT-pthreads. MIT-pthreads notes.

If you get the following error from configure:

checking for restartable system calls configure: error can not run test programs while cross compiling

This means that you have something wrong with your compiler installation! In this case you should upgrade your compiler to a newer version. You may also be able to solve this problem by inserting the following row into the file:

ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls='no'}

If you are using Solaris on a SPARC, the recommended compiler is or newer. You can find this at sprers.eu Note that and don't work reliably on SPARC!

The recommended line when using is:

shell> CC=gcc CFLAGS="-O6" \ CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql --with-low-memory

If you have the Sun Workshop compiler, you can run like this:

CC=cc CFLAGS="-xstrconst -Xa -xO4 -native -mt" CXX=CC CXXFLAGS="-xO4 -native -noex -mt" ./configure --prefix=/usr/local/mysql

shell> CC=cc CFLAGS="-Xa -fast -xO4 -native -xstrconst -mt" \ CXX=CC CXXFLAGS="-noex -XO4 -mt" \ ./configure

You may also have to edit the script to change this line:

#if !defined(__STDC__) tar xvBfb - 20 filenamesmessagesfrom tar example% In the example above, we are extracting from the tarfile with the x key letter, asking for verboseoutputfrom tar with the v option, telling tar it is reading from a pipe with the B option, specifying the name of the input tarfile using the f option (the standard input is where the tarfile appears, as indicated by the `-' sign), and specifying the blocksize (20) with the b option. ENVIRONMENT If any of the LC_* variables ( LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COLLATE, LC_NUMERIC, and LC_MONETARY ) (see environ(5)) are not set in the environment, the operational behavior of tar for each corresponding locale category is determined by the value of the LANG environment variable. If LC_ALL is set, its contents are used to override both the LANG and the other LC_* variables. If none of the above variables is set in the environment, the "C" (U.S. style) locale determines how tar behaves. LC_CTYPE Determines how tar handles characters. When LC_CTYPE is set to a valid value, tar can display and handle text and filenames containing valid characters for that locale. tar can display and handle Extended Unix code (EUC) characters where any individual character can be 1, 2, or 3 bytes wide. tar can also handle EUC charac- ters of 1, 2, or more column widths. In the "C" locale, only characters from ISO are valid. LC_MESSAGES Determines how diagnostic and informative messages are presented. This includes the language and style of the messages, and the correct form of affirmative and nega- tive responses. In the "C" locale, the messages are presented in the default form found in the program itself (in most cases, U.S. English). LC_TIME Determines how tar handles date and time formats. In the "C" locale, date and time handling follow the U.S. rules. FILES /dev/rmt/[][b][n] /dev/rmt/[]l[b][n] /dev/rmt/[]m[b][n] /dev/rmt/[]h[b][n] /dev/rmt/[]u[b][n] /dev/rmt/[]c[b][n] /etc/default/tar Settings may look like this: archive0=/dev/rmt/0 archive1=/dev/rmt/0n archive2=/dev/rmt/1 archive3=/dev/rmt/1n archive4=/dev/rmt/0 archive5=/dev/rmt/0n archive6=/dev/rmt/1 archive7=/dev/rmt/1n /tmp/tar* SEE ALSO ar(1), chown(1), cpio(1), csh(1), ls(1), mt(1), umask(2), environ(5) DIAGNOSTICS Complaints about bad key characters and tape read/write errors. Complaints if enough memory is not available to hold the link tables. NOTES There is no way to ask for the n-th occurrence of a file. Tape errors are handled ungracefully. The u option can be slow. The b option should not be used with archives that are going to be updated. The current magnetic tape driver cannot backspace raw magnetic tape. If the archive is on a disk file, the b option should not be used at all, because updat- ing an archive stored on disk can destroy it. Neither the r option nor the u option can be used with quarter-inch archive tapes, since these tape drives cannot backspace. When extracting tapes created with the r or u option, direc- tory modification times may not be set correctly. When using r,u,x, orX, the named files must match exactly to the corresponding files in the tarfile. For example, to extract ./filename, you must specify ./filename, and not filename. The t option displays how each file was archived. The full pathname length cannot exceed characters. The file name (or leaf) length cannot exceed characters. The prefix of the pathname cannot exceed characters. tar does not copy empty directories or special files such as devices. Filename substitution wildcards do not work for extracting files from the archive. To get around this, use a command of the form: tar xvf /dev/rmt/0 `tar tf /dev/rmt/0 __STDC__ != 1

to this:

#if !defined(__STDC__)

If you turn on with the option, the Sun compiler can't compile with the Solaris header file. This is a Sun bug (broken compiler or broken include file).

If issues the error message shown below when you run it, you have tried to compile MySQL with the Sun compiler without enabling the multi-thread option ():

libc internal error: _rmutex_unlock: rmutex not held

Add to and and try again.

If you get the following error when compiling MySQL with , it means that your is not configured for your version of Solaris!

shell> gcc -O3 -g -O2 -DDBUG_OFF -o thr_alarm ./thr_alarm.c: In function `signal_hand': ./thr_alarm.c too many arguments to function `sigwait'

The proper thing to do in this case is to get the newest version of and compile it with your current compiler! At least for Solaris , almost all binary versions of have old, unusable include files that will break all programs that use threads (and possibly other programs)!

Solaris doesn't provide static versions of all system libraries ( and ), so you can't compile MySQL with . If you try to do so, you will get the error:

ld: fatal: library -ldl: not found

If too many processes try to connect very rapidly to , you will see this error in the MySQL log:

Error in accept: Protocol error

You might try starting the server with the option as a workaround for this.

If you are linking your own MySQL client, you might get the following error when you try to execute it:

sprers.eu ./my: fatal: sprers.eu#: open failed: No such file or directory

The problem can be avoided by one of the following methods:

  • Link the client with the following flag (instead of ): .
  • Copy to .
  • Add the pathname of the directory where is located to the environment variable before running your client.

Solaris notes

You can normally use a Solaris binary on Solaris Most of the Solaris issues also apply for Solaris

Note that MySQL and above should be able to autodetect Solaris and enable workarounds for the following problems!

Solaris has some bugs in the include files. You may see the following error when you use :

/usr/include/widec.h warning: `getwc' redefined /usr/include/wchar.h warning: this is the location of the previous definition

If this occurs, you can do the following to fix the problem:

Copy to and change line 41 from:

#if !defined(lint) && !defined(__lint) to #if !defined(lint) && !defined(__lint) && !defined(getwc)

Alternatively, you can edit directly. Either way, after you make the fix, you should remove and run again!

If you get errors like this when you run , it's because didn't detect the file (probably because of the error in :

In file included from sprers.eu /usr/include/term.h syntax error before `,' /usr/include/term.h syntax error before `;'

The solution to this is to do one of the following steps:

  • Edit as indicted above and rerun configure
  • Remove the line from file and run again.
  • Configure with

Solaris x86 notes

If you are using or on Solaris x86 and you experience problems with core dumps under load, you should use the following command:

shell> CC=gcc CFLAGS="-O6 -fomit-frame-pointer" \ CXX=gcc \ CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql

This will avoid problems with the library and with C++ exceptions.

If this doesn't help, you should compile a debug version and run it with a trace file or under . G.1 Debugging a MySQL server.

SunOS 4 notes

On SunOS 4, MIT-pthreads is needed to compile MySQL, which in turn means you will need GNU .

Some SunOS 4 systems have problems with dynamic libraries and . You can use the following line to avoid this problem:

shell> ./configure --disable-shared --with-mysqld-ldflags=-all-static

When compiling , you may get warnings about duplicate defines. These may be ignored.

When compiling , there will be some warnings. These may be ignored.

Linux notes (all Linux versions)

MySQL uses LinuxThreads on Linux. If you are using an old Linux version that doesn't have , you must install LinuxThreads before trying to compile MySQL. sprers.eu

If you can't start or if doesn't work, please continue reading! This only happens on Linux system with problems in the LinuxThreads or / libraries. There are a lot of simple workarounds to get MySQL to work! The simplest is to use the binary version of MySQL (not the RPM) for Linux x One nice aspect of this version is that it's probably 10% faster than any version you would compile yourself! How compiling and linking affects the speed of MySQL.

One known problem with the binary distribution is that with older Linux systems that use (like RedHat 4.x or Slackware), you will get some non-fatal problems with hostname resolution Linux notes.

hangs with . Upgrading to the newest fixes this problem.

When using LinuxThreads you will see a minimum of three processes running. These are in fact threads. There will be one thread for the LinuxThreads manager, one thread to handle connections, and one thread to handle alarms and signals.

If you see a dead daemon process with , this usually means that you have found a bug in MySQL or you have got a corrupted table. What to do if MySQL keeps crashing.

If you are using LinuxThreads and doesn't work, you must upgrade to LinuxThreads or newer.

If you are using RedHat, you might get errors like this:

/usr/bin/perl is needed /usr/sh is needed /usr/sh is needed

If so, you should upgrade your version of to and (or later).

You can get the upgrades of libraries to RedHat from ftp://sprers.eu Or sprers.eu for other distributions.

If you are linking your own MySQL client and get the error:

sprers.eu ./my: fatal: sprers.eu open failed: No such file or directory

when executing them, the problem can be avoided by one of the following methods:

  • Link the client with the following flag (instead of ): .
  • Copy to .
  • Add the pathname of the directory where is located to the environment variable before running your client.

If you are using the Fujitsu compiler you will have some problems compiling MySQL because the Linux header files are very oriented.

The following line should work with :

CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const -DNO_STRTOLL_PROTO" CXX=FCC CXXFLAGS="-O -K fast -K lib -K omitfp -K preex --no_exceptions --no_rtti -D_GNU_SOURCE -DCONST=const -Dalloca=__builtin_alloca -DNO_STRTOLL_PROTO '-D_EXTERN_INLINE=static __inline'" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-low-memory

Linux-x86 notes

MySQL requires version or newer. It's known to work with version and later should also work. There have been some problems with the RPMs from RedHat so if you have problems, check whether or not there are any updates! The and RPMs are known to work.

On some older Linux distributions, may produce an error like this:

Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual.

Just do what the error message says and add an extra underscore to the macro that has only one underscore, then try again.

You may get some warnings when compiling; those shown below can be ignored:

sprers.eu -o objs-thread/mysqld.o sprers.eu: In function `void init_signals()': sprers.eu warning: assignment of negative value `-1' to `long unsigned int' sprers.eu: In function `void * signal_hand(void *)': sprers.eu warning: assignment of negative value `-1' to `long unsigned int'

In Debian GNU/Linux, if you want MySQL to start automatically when the system boots, do the following:

shell> cp support-files/sprers.eu /etc/init.d/sprers.eu shell> /usr/sbin/update-rc.d sprers.eu defaults 99

can be found in the directory under the MySQL installation directory, or in the directory of the MySQL source tree.

If always core dumps when it starts up, the problem may be that you have an old . Try renaming it, then remove and do a new and try again. This problem has been reported on some Slackware installations. RedHat has also a similar problem with some new versions. RedHat notes.

If you get the following error when linking , it means that your is not installed correctly:

/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'

You can avoid using by running like this:

shell> CXX=gcc ./configure

RedHat notes

If you have any problems with MySQL on RedHat, you should start by upgrading to the newest possible version!

If you install all the official RedHat patches (including and ), both the binary and source distributions of MySQL should work without any trouble!

The updates are needed since there is a bug in in how variables are freed. With , you must use a statically-linked MySQL binary distribution. If you want to compile from source, you must install the corrected version of LinuxThreads from sprers.eu or upgrade your .

If you have an incorrect version of or LinuxThreads, the symptom is that crashes after each connection. For example, will crash when it finishes!

Another symptom of incorrect libraries is that crashes at once when it starts. On some Linux systems, this can be fixed by configuring like this:

shell> ./configure --with-mysqld-ldflags=-all-static

On Redhat , the easy way out is to install the RPM and run without the option.

For the source distribution of , a patch that is easy to apply and is tested with MySQL may be found at:

sprers.eu

If you experience crashes like these when you build MySQL, you can always download the newest binary version of MySQL. This is statically-linked to avoid library conflicts and should work on all Linux systems!

MySQL comes with an internal debugger that can generate trace files with a lot of information that can be used to find and solve a wide range of different problems. G.1 Debugging a MySQL server.

RedHat notes

The of RedHat ( ) has a memory leak, so to get a stable MySQL version, you must upgrade to , downgrade or use a binary version of . If you don't do this, you will encounter memory problems (out of memory, etc., etc.). The most common error in this case is:

Can't create a new thread (errno 11). If you are not out of available memory, you can consult the manual for any possible OS dependent bug

After you have upgraded to , you can configure MySQL with dynamic linking (the default), but you cannot run with the option until you have installed from source!

You can check which version of you have with .

Linux-SPARC notes

In some implementations, is broken. The symptom is that always returns an empty set. This can be fixed by removing from after configuring and before compiling.

Some problems will require patching your Linux installation. The patch can be found at sprers.eu This patch is against the Linux distribution that is available at (a version of Linux that was never merged with the official ). You must also install LinuxThreads or newer.

Thanks to [email protected] for this information.

Linux-Alpha notes

The big problem on Linux-Alpha is that there are still some problems with threads in on this platform. You should start by getting the newest version you can find.

Note that before you run any programs that use threads (like , or ), you should raise the shared memory limit (with ). The MySQL benchmarks are known to fail if you forget to do this!

Configure MySQL with the following command:

shell> CC=gcc CCFLAGS="-Dalpha_linux_port" \ CXX=gcc CXXFLAGS="-O3 -Dalpha_linux_port -felide-constructors -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql

Try to compile and . Test that these programs work! (Invoke each one with no arguments. Each should end with if everything was okay.)

After installing MySQL, uncomment the command in and add options to increase shared memory.

Note that Linux-Alpha is still an alpha-quality platform for MySQL. With the newest , you have a very good chance of it working.

If you have problems with signals (MySQL dies unexpectedly under high load) you may have found an OS bug with threads and signals. In this case you can tell MySQL not to use signals by configuring with:

shell> CFLAGS=-DDONT_USE_THR_ALARM \ CXXFLAGS=-DDONT_USE_THR_ALARM \ ./configure

This doesn't affect the performance of MySQL, but has the side effect that you can't kill clients that are ``sleeping'' on a connection with or . Instead, the client will die when it issues its next command.

MkLinux notes

MySQL should work on MkLinux with the newest package (tested with ).

Qube2 Linux notes

To get MySQL to work on Qube2, (Linux Mips), you need the newest libraries ( is known to work). You must also use the C++ compiler ( or newer).

Alpha-DEC-Unix notes

When compiling threaded programs under Digital UNIX, the documentation recommends using the option for and and the libraries (in addition to ). You should run something like this:

shell> CC="cc -pthread" CXX="cxx -pthread -O" \ ./configure --with-named-thread-libs="-lpthread -lmach -lexc -lc"

When compiling , you may see a couple of warnings like this:

sprers.eu: In function void handle_connections()': sprers.eu passing long unsigned int *' as argument 3 of accept(int,sockadddr *, int *)'

You can safely ignore these warnings. They occur because can detect only errors, not warnings.

If you start the server directly from the command line, you may have problems with it dying when you log out. (When you log out, your outstanding processes receive a signal.) If so, try starting the server like this:

shell> nohup mysqld [options] &

causes the command following it to ignore any signal sent from the terminal. Alternatively, start the server by running , which invokes using for you.

Alpha-DEC-OSF1 notes

If you have problems compiling and have DEC and installed, try running like this:

shell> CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql

If you get problems with the file, you can create and use a 'dummy' file with:

shell> touch include/c_asm.h shell> CC=gcc CFLAGS=-I./include \ CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql

On OSF1 VD and compiler "DEC C V on Digital UNIX V (Rev. )" the compiler had some strange behavior (undefined symbols). also appears to be broken (problems with errors occuring while linking ). On this system, we have managed to compile MySQL with the following line, after replacing with the version from OSF C:

shell> CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql

In some versions of OSF1, the function is broken. Fix this by removing the line in that defines .

The function also may have an incorrect prototype in . This warning resulting from this can be ignored.

will use the following thread libraries automatically: .

When using , you can also try running like this:

shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure

If you have problems with signals (MySQL dies unexpectedly under high load) you may have found an OS bug with threads and signals. In this case you can tell MySQL not to use signals by configuring with:

shell> CFLAGS=-DDONT_USE_THR_ALARM \ CXXFLAGS=-DDONT_USE_THR_ALARM \ ./configure

This doesn't affect the performance of MySQL, but has the side effect that you can't kill clients that are ``sleeping'' on a connection with or . Instead, the client will die when it issues its next command.

SGI-Irix notes

You may have to undefine some things in after running and before compiling.

In some Irix implementations, the function is broken. If the server dies on some statements, remove the lines from that define and . If doesn't work, remove the line from that defines . You may have to remove the line as well.

SGI recommends that you install all of the patches on this page as a set: sprers.eu

At the very minimum, you should install the latest kernel rollup, the latest rollup, and the latest rollup.

You definately need all the POSIX patches on this page, for pthreads support:

sprers.eu

If you get the something like the following error when compiling :

"/usr/include/curses.h", line error(): invalid combination of type

Then type the following in the top-level directory of your MySQL source tree:

shell> extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h shell> make

There have also been reports of scheduling problems. If only one thread is running, things go slow. Avoid this by starting another client. This may lead to a 2-tofold increase in execution speed thereafter for the other thread. This is a poorly-understood problem with Irix threads; you may have to improvise to find solutions until this can be fixed.

If you are compiling with , you can use the following command:

shell> CC=gcc CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql --with-thread-safe-client --with-named-thread-libs=-lpthread

FreeBSD notes

The easiest and therefor the preferred way to install is to use the mysql-server and mysql-client ports available on sprers.eu

Using these gives you:

  • A working MySQL with all optimizations known to work on your version of FreeBSD enabled.
  • Automatic configuration and build.
  • Startup scripts installed in /usr/local/etc/rc.d
  • Ability to see which files that are installed with pkg_info -L. And to remove them all with pkg_delete if you no longer want MySQL on that machine.

It is recomended to use MIT-pthreads on FreeBSD 2.x and native threads on versions 3 and up. It is possible to run with with native threads on some late x versions but you may encounter problems shutting down mysqld.

Be sure to have your name resolver setup correct. Otherwise you may experience resolver delays or failures when connecting to mysqld.

Make sure that the entry in the file is correct (otherwise you will have problems connecting to the database). The file should start with a line:

localhost sprers.eu

If you notice that will use MIT-pthreads, you should read the MIT-pthreads notes. MIT-pthreads notes.

If you get an error from that it can't find , didn't detect that you need MIT-pthreads. This is fixed by executing these commands:

shell> rm sprers.eu shell> ./configure --with-mit-threads

The behavior of FreeBSD is slightly different from that of GNU . If you have -related problems, you should install GNU .

FreeBSD is also known to have a very low default file handle limit. File not found. Uncomment the ulimit -n section in safe_mysqld or raise the limits for the mysqld user in /etc/sprers.eu (and rebuild it witg cap_mkdb /etc/sprers.eu) also be sure you set the appropriate Class for this user in the password file if you are not using the default (use: chpass mysqld-user-name)

If you have a problem with returning values in GMT and not your local time, you have to set the environment variable to your current timezone. This should be done for the environment in which the server runs, for example, in or .

To get a secure and stable system you should only use FreeBSD kernels that are marked

NetBSD notes

To compile on NetBSD you need GNU . Otherwise the compile will crash when tries to run on C++ files.

BSD/OS notes

BSD/OS 2.x notes

If you get the following error when compiling MySQL, your value for virtual memory is too low:

item_func.h: In method `Item_func_ge::Item_func_ge(const Item_func_ge &)': item_func.h virtual memory exhausted make[2]: *** [item_func.o] Error 1

Try using and run again. If this doesn't work and you are using , try switching to or ; some BSDI users have reported problems with and .

If you are using , you may also use have to use the flag for to be able to compile .

If you have a problem with returning values in GMT and not your local time, you have to set the environment variable to your current timezone. This should be done for the environment in which the server runs, for example in or .

BSD/OS 3.x notes

Upgrade to BSD/OS If that is not possible, install BSDIpatch M

Use the following command when configuring MySQL:

shell> env CXX=shlicc++ CC=shlicc2 \ ./configure \ --prefix=/usr/local/mysql \ --localstatedir=/var/mysql \ --without-perl \ --with-unix-socket-path=/var/mysql/sprers.eu

The following is also known to work:

shell> env CC=gcc CXX=gcc CXXFLAGS=-O3 \ ./configure \ --prefix=/usr/local/mysql \ --with-unix-socket-path=/var/mysql/sprers.eu

You can change the directory locations if you wish, or just use the defaults by not specifying any locations.

If you have problems with performance under heavy load, try using the option to ! This will run all threads with the same priority; on BSDI , this gives better performance (at least until BSDI fixes their thread scheduler).

If you get the error while compiling, you should try using and run again. If this doesn't work and you are using , try switching to or ; some BSDI users have reported problems with and .

BSD/OS 4.x notes

BSDI 4.x has some thread related bugs. If you want to use MySQL on this, you should install all thread related patches. At least M should be installed.

SCO notes

The current port is tested only on a ``scov'' and ``scov'' system. There has also been a lot of progress on a port to ``sco v''.

  1. For OpenServer X you need to use GDS in Skunkware 95 (95q4c). This is necessary because GNU in Skunkware 97 does not have GNU . You can also use or newer sprers.eu If you are using you have to execute the following command: shell> cp -p /usr/include/pthread/stdtypes.h /usr/local/lib/gcc-lib/ipc-scov/egcs/include/pthread/
  2. You need the port of GCC ? for this product and the Development system. They are required on this version of SCO UNIX. You cannot just use the GCC Dev system.
  3. You should get the FSU Pthreads package and install it first. This can be found at sprers.eu~schmidt/ACE_wrappers/sprers.eu You can also get a precompiled package from ftp://sprers.eu
  4. FSU Pthreads can be compiled with SCO UNIX with tcpip. Or OpenServer or Open Desktop (OS ODT ), with the SCO Development System installed using a good port of GCC X ODT or OS you will need a good port of GCC ? There are a lot of problems without a good port. The port for this product requires the SCO UNIX Development system. Without it, you are missing the libraries and the linker that is needed.
  5. To build FSU Pthreads on your system, do the following:
    1. Run in the directory and select the SCO OpenServer option. This command copies to .
    2. Run .
    3. To install in the default directory, login as root, then to the directory, and run .
  6. Remember to use GNU when making MySQL.
  7. On OSR , you should use the following configure line: shell> CC="gcc -DSCO" CXX="gcc -DSCO" ./configure The is needed to help configure detect some thread functions properly. If you forget , you will get the following error message while compiling: my_pthread.c: In function `my_pthread_mutex_init': my_pthread.c `pthread_mutexattr_default' undeclared (first use this function)
  8. If you don't start as root, you probably will get only the default open files per process. will write a note about this in the log file.
  9. With SCO V, you should use a FSU Pthreads version c or newer. The following command should work: shell> CC="gcc -belf" ./configure --prefix=/usr/local/mysql --disable-shared
  10. With SCO V, you should use a FSU Pthreads version c or newer. The following command should work: shell> CFLAGS="-D_XOPEN_XPG4" CXX=gcc CXXFLAGS="-D_XOPEN_XPG4" \ ./configure \ --with-debug --prefix=/usr/local/mysql \ --with-named-thread-libs="-lgthreads -lsocket -lgen -lgthreads" \ --with-named-curses-libs="-lcurses" You may get some problems with some include files. In this case, you can find new SCO-specific include files at ftp://sprers.eu You should unpack this file in the directory of your MySQL source tree.

SCO development notes:

  • MySQL should automatically detect FSU Pthreads and link with .
  • The SCO development libraries are reentrant in FSU Pthreads. SCO claims that its libraries' functions are reentrant, so they must be reentrant with FSU Pthreads. FSU Pthreads on OpenServer tries to use the SCO scheme to make reentrant library.
  • FSU Pthreads (at least the version at ) comes linked with GNU . If you encounter problems with memory usage, make sure that is included in and .
  • In FSU Pthreads, the following system calls are pthreads-aware: , , , , , and .

If you want to install DBI on SCO, you have to edit the in DBI-xxx and each subdirectory:

OLD: NEW: CC = cc CC = gcc -belf CCCDLFLAGS = -KPIC -W1,-Bexport CCCDLFLAGS = -fpic CCDLFLAGS = -wl,-Bexport CCDLFLAGS = LD = ld LD = gcc -belf -G -fpic LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib LD = ld LD = gcc -belf -G -fpic OPTIMISE = -Od OPTIMISE = -O1 OLD: CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include NEW: CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include

This is because the Perl dynaloader will not load the modules if they were compiled with or .

Perl works best when compiled with .

SCO Unixware notes

You must use a version of MySQL at least as recent as , since that version fixes some portability problems under Unixware.

We have been able to compile MySQL with the following command on UnixWare

shell> CC=cc CXX=CC ./configure --prefix=/usr/local/mysql

IBM-AIX notes

Automatic detection of is missing from Autoconf, so a command something like this is needed when using the IBM compiler:

shell> CC="xlc_r -ma -O3 -qstrict -DHAVE_INT_8_16_32" \ CXX="xlC_r -ma -O3 -qstrict -DHAVE_INT_8_16_32" \ ./configure

If you are using to compile MySQL, you MUST use the flag, as the exception handling in is not thread-safe! (This is tested with ) We recommend the following line with and on AIX:

shell> CXX=gcc \ CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" \ ./configure --prefix=/home/monty --with-debug --with-low-memory

If you have problems with signals (MySQL dies unexpectedly under high load) you may have found an OS bug with threads and signals. In this case you can tell MySQL not to use signals by configuring with:

shell> CFLAGS=-DDONT_USE_THR_ALARM CXX=gcc \ CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -DDONT_USE_THR_ALARM" \ ./configure --prefix=/home/monty --with-debug --with-low-memory

This doesn't affect the performance of MySQL, but has the side effect that you can't kill clients that are ``sleeping'' on a connection with or . Instead, the client will die when it issues its next command.

HP-UX notes

There are a couple of ``small'' problems when compiling MySQL on HP-UX. We recommend that you use instead of the HP-UX native compiler, because produces better code!

We recommend one to use gcc on HP-UX. Don't use high optimization flags (like -O6) as this may not be safe on HP-UX.

Note that MIT-pthreads can't be compiled with the HP-UX compiler, because it can't compile (assembler) files.

The following configure line should work:

CFLAGS="-DHPUX -I/opt/dce/include" CXXFLAGS="-DHPUX -I/opt/dce/include -felide-constructors -fno-exceptions -fno-rtti" CXX=gcc ./configure --with-pthread --with-named-thread-libs='-ldce' --prefix=/usr/local/mysql --disable-shared

If you are compiling yourself, you should NOT link it with the DCE libraries ( or ) if you want to compile MySQL with MIT-pthreads. If you mix the DCE and MIT-pthreads packages you will get a to which you cannot connect. Remove the DCE libraries while you compile !

Bugzilla

ClosedBug Opened 20 years agoClosed 20 years ago
I get "tar: directory checksum error" trying to extract the tarball

Categories

(SeaMonkey :: Build Config, defect)

People

(Reporter: sprers.euey, Assigned: netscape)

This bug is publicly visible.
User-Agent: Mozilla/ [en] (X11; I; SunOS sun4u; Nav) Build Identifier: mozilla b after downloading sprers.eu, I do 'zcat sprers.eu (cd todir; tar xfBp -) F With one F argument, tar will exclude all direc- tories named SCCS from the tarfile. With two argu- ments, FFtar will exclude all directories named SCCS, all files with .o as their suffix, and all files named errs, core, and sprers.eu h Follow symbolic links as if they were normal files or directories. Normally, tar does not follow sym- bolic links. i Ignore. With this option tar will ignore directory checksum errors. l Link. This tells tar to complain if it cannot resolve all of the links to the files being archived. If l is not specified, no error messages are printed. m Modify. This tells tar to not extract the modifica- tion times from the tarfile. The modification time of the file will be the time of extraction, solaris 10 tar directory checksum error. This option is only valid with the x key. o Ownership. This causes extracted files to take on the user and group identifier of the user running the program, rather than those on tape. This hap- pens by default for users other than root. If the 'o' option is not set and the user is root, the extracted files will take on the group and user identifiers of the files on tape (see chown(1) for more information). The 'o' option is only valid with the x key. p Restore the named files to their original modes, ignoring the present umask(2). SETUID and sticky information are also extracted if your are the super-user. This option is only useful with the x key letter. v Verbose. Normally, tar does its work silently. This option causes tar to type the name of each file it treats, preceded by the function letter. With the t function, v gives more information about the tape entries than just the name. w What. Solaris 10 tar directory checksum error option causes tar to print the action to be taken, followed by the name of the file, and then wait for the user's confirmation. If a word begin- ning with y is given, the action is performed. Any solaris 10 tar directory checksum error input means no. This is not valid with the t key. X Exclude. Use the exclude-filename argument as a file containing a list of named files (or direc- tories) to be excluded from the tarfile when using the key letters c, x, or t. Multiple X arguments may be used, with one exclude-filename per argument. See NOTES for more information, solaris 10 tar directory checksum error. [] Select an alternative drive on which the tape is mounted. The default entries are specified in /etc/default/tar. If a file name is preceded by - I then the filename is opened. A list filenames, one per line, is treated as if each appeared separately on the command line. Be careful of trailing white space in both include and exclude file lists. In the case where excluded files (see X option) also exist, excluded files take precedence over all included files. So, if a file is solaris 10 tar directory checksum error in both the include and exclude files (or on the command line), it will be excluded. If a file name is preceded by - C in a c (create) or r (replace) operation, tar will perform a chdir (see csh(1)) to that file name. This allows multiple directories not related by a close common parent to be archived using short denwer mysql error 1045 solaris 10 tar directory checksum error names. Note: the -C option only applies to one following directory name and one following file name. If no digit or 'f' is given, the entry in /etc/default/tar with digit "0" will be the default. EXAMPLES To archive files from /usr/include and from /etc, onto default tape drive 0 one might use: example% tar c -C /usr include -C /etc. If you get a table of contents from the resulting tarfile, you might see something like: include/ include/sprers.euh andalltheotherfilesin /usr/include /chown andalltheotherfilesin /etc To extract all files under include: example% tar xv include x include/, 0 bytes, 0 tape blocks andallfilesunder include Here is a simple example using tar to create an archive of your home directory on a tape mounted on drive /dev/rmt/0: example% cd example% tar cvf /dev/rmt/0. messagesfrom tar The c option means create the archive; the v option makes tar tell you what it is doing as it works; the f option means that you are specifically naming the file onto which the archive should be placed (/dev/rmt/0 in this example). Now you can read the table of contents from the archive like this: example% tar tvf /dev/rmt/0 rw-r--r-- /40 Nov 7 ./test.c example% The columns have the following meanings: o column 1 is the access permissions to ./test.c o column 2 is the user-id/group-id of ./test.c o column 3 is the size of ./test.c in bytes o column 4 is the modification date of ./test.c o column 5 is the name of ./test.c You can extract files from the archive like this: example% tar xvf /dev/rmt/0 messagesfrom tar example% If there are multiple archive files on a tape, each is separated from the following one by an EOF marker. tar does not read the EOF mark on the tape after it finishes reading an archive file because tar looks for a special header to decide when it has reached the end of the archive. Now if you try to use tar to read the next archive file from the tape, tar does not know enough to skip over the EOF mark and tries to read the EOF mark as an archive instead. The result of this is an error message from tar to the effect: tar: blocksize=0 This means that to read another archive from the tape, you must skip over the EOF marker before starting another tar command. You can accomplish this using the mt(1) command, as shown in the example below, solaris 10 tar directory checksum error. Assume that you are reading from /dev/rmt/0n. example% tar xvfp /dev/rmt/0n readfirstarchivefromtapemessagesfrom tar example% mt fsf 1 skipovertheend-of-filemarker example% tar xvfp /dev/rmt/0n readsecondarchivefromtapemessagesfrom tar example% Finally, starcraft 2 param/value error is an example using tar to transfer files across the Ethernet. First, here is how to archive files from the local machine (example) to a tape on a remote sys- tem (host): example% tar cvfb - 20 filenames tar xvBfb - 20files
messages from tar
example%

In the example above, we are extracting from the tarfile with the x key letter, asking for verbose output from tar with the v function modifier, telling tar it is reading from a pipe with the B function modifier, specifying the name of the input tarfile using error undefined offendingcommand f function modifier (the standard input is where the tarfile appears, as solaris 10 tar directory checksum error by the ‘-’ sign), and specifying the blocksize (20) with the b function modifier.

    .
  1. The following example creates an archive of the home directory on /dev/rmt/0 with an actual blocking factor of
    example% tar cvfb /dev/rmt/0 19 $HOME
To recognize this archive’s actual blocking factor without using the b function modifier:

example% tar tvf /dev/rmt/0 tar: blocksize = 19
To recognize this archive’s actual blocking factor using a larger nominal blocking factor:

example% tar tvf /dev/rmt/0 30 tar: blocksize = 19

Attempt to recognize this archive’s actual blocking factor using a nominal blocking factor that is too small:


example% tar tvf /dev/rmt/0 10 tar: tape read error

Environment

See environ(5) for descriptions of the following environment variables that affect the execution of tar: LC_COLLATE, LC_CTYPE, LC_MESSAGES, solaris 10 tar directory checksum error, LC_TIME, TZ, and NLSPATH.

Exit Status

The following exit values are returned:
  1. Successful completion.
    >0
    An error occurred.

    Files

    /dev/rmt/[][b][n]
    /dev/rmt/[]l[b][n]
    /dev/rmt/[]m[b][n]
    /dev/rmt/[]h[b][n]
    /dev/rmt/[]u[b][n]
    /dev/rmt/[]c[b][n]

    /etc/default/tar
    Settings may look like this:
    archive0=/dev/rmt/0
    archive1=/dev/rmt/0n
    archive2=/dev/rmt/1
    archive3=/dev/rmt/1n
    archive4=/dev/rmt/0
    archive5=/dev/rmt/0n
    archive6=/dev/rmt/1
    archive7=/dev/rmt/1n

    /tmp/tar*

    See Also

    ar(1)basename(1)solaris 10 tar directory checksum error, cd(1)chown(1)cpio(1)csh(1)dirname(1)ls(1)mt(1)pax(1)setfacl(1)umask(1)mknod(1M)vold(1M)environ(5)mtio(7I)

    Diagnostics

    Diagnostic messages are output for bad key characters and tape read/write errors, and for insufficient memory to hold the link tables.

    Notes

    There is no way to access for the n-th occurrence of a file.

    Tape errors are handled ungracefully.

    When the Volume Management daemon is running, accesses to floppy devices through solaris 10 tar directory checksum error conventional device names (for example, /dev/rdiskette) may not succeed. See vold(1M) for further details.

    The tar archive format allows UID s and GID s up to to be stored in the archive header. Files with UID s and GID s greater than this value will be archived with the UID and GID of .


    Table of Contents

Read these next

I don't think that's a tared file. It's a binary file, try to do a pkgadd.

A. R. via solaris-l wrote:

># One User's Thoughts on FreeBSD
># Read Paper: sprers.eu?r=
>
># View Group Archive: sprers.eu?i=
>
>Get another copy of the binary.
>
>
>># One User's Thoughts on FreeBSD
>># Read Paper: sprers.eu?r=
>>
>># View Group Archive: sprers.eu?i=
>>
>>Hi there,
>>
>> I am trying to install mysql server on my solaris system and i get this error
>>when i try to untar the mysql file :
>>
>> # tar -xvf mysqlsol9-sparc-local
>>tar: directory checksum error
>>
>> Can anyone help me ?, thanks.
>>
>>
>>
>>
>>Do you Yahoo!?
>>Free Pop-Up Blocker - Get it now
>>************New, SATA RAID Storage under 5K per TB!************
>>Learn more & win a FREE copy of O'Reilly's "Using SANs and NAS"
>>sprers.eu?i=
>>***************************************************************
>>*Archives: sprers.eu
>>*Manage Subscriptions: sprers.eu
>>*Leave Group: mailto:[email protected]
>>*Need Subscription Help? mailto:[email protected]
>>*Terms of Use: sprers.eu
>>*Copyright (c) ITtoolbox and message author. No redistribution.
>>
>>
>>
>
>
>************New, SATA RAID Storage under 5K per TB!************
>Learn more & win a FREE copy of O'Reilly's "Using SANs and NAS"
>sprers.eu?i=
>***************************************************************
>*Archives: sprers.eu
>*Manage Subscriptions: sprers.eu
>*Leave Group: mailto:[email protected]
>*Need Subscription Help? mailto:[email protected]
>*Terms of Use: sprers.eu
>*Copyright (c) ITtoolbox and message author. No redistribution.
>
>
>
>

tar -xvf - tar: A directory checksum (4 Replies)

Discussion started by: filosophizer

4 Replies

3. IP Networking

Wireshark UDP checksum bad checksum

Hello I am communicating with two devices using my computer over UDP protocol. The application is running fine. When I monitored the UDP traffic using Wireshark software, I found that there were too many Checksum errors. Please find attached the png file showing this error. I am about to (0 Replies)

Discussion started by: AustinCann

0 Replies

4. Solaris

checksum

Anyone can tell me the different between "cksum" and "sum" command on Solaris? I read the man pages but still not get it. And how to display the md5 checksum for a file. Thanks, (1 Reply)

Discussion started by: redstone

1 Replies

5. Shell Programming and Scripting

"directory checksum error" when attempting to install tcl

OS: HP-UX Programs I want to install: expect and tcl I'm lost. I bought the book. I began reading the book. I want to install expect. I've been able to download the .z, and extract it successfully, solaris 10 tar directory checksum error. But, of course, it apparently needs tcl and possibly tk also, and I (0 Replies)

Discussion started by: instant

0 Replies

6. UNIX Desktop Questions & Answers

SRC Checksum error

I have a machine that is used for Automatic Call Distribution (ACD). There are about 9 different PC's that login to this machine. On some mornings I receive errors like this: SRC 0AC81 SUM EEC1. I am unsure what they mean and I can't find any information on it anywhere. Does anyone have (4 Replies)

Discussion started by: Panther6

4 Replies

7. SCO

checksum

Does anyone know the answer to this? When I run "sum -r" on a file that I've down loaded from the sco website, the 1st set of numbers differs from the checksum on the download page but the 2nd set matches. If I try to install the patch, I get errors. Anyone has an answer? (3 Replies)

Discussion started by: jn

3 Replies

8. Filesystems, Disks and Memory

Directory is Same but Checksum is different

Hello, I am performing a checksum on our software we have installed on a unix solaris os. If the checksum generated report is not the same as a 'Gold' report we have on disk. Then our software is deleted, and reinstalled. The problem I am having is if you run the program again, the (3 Replies)

Discussion started by: JustinPyfrom

3 Replies

9. UNIX for Dummies Questions & Answers

directory checksum error

Display warnning:directory checksum error in the end of Decompress the bag (0 Replies)

Discussion started by: renrongwen

0 Replies

Windows & DOS: Issues & Discussions

EISA CMOS checksum error

I have a UNIX server w/an Adaptec aha card and i keep getting this error during post: EISA CMOS checksum error. It then tries to boot from the floppy. Upon researching this problem i found that it could be one of two things. Either it is the battery on the m/b (which i have all but ruled out), (3 Replies)

Discussion started by: dlee35

3 Replies

All times are GMT The time now is AM.

Unix & Linux Forums Content Copyright All Rights Reserved.

Privacy Policy