I'm having this exact same problem. Were you able to find a solution?
Hi Michael,
I'm having problems installing the pts/disk suite. In particular pts/aio-stress fails to install.
When I call to install dependencies it exits with no errros so I'm assuing it's not a dependency problem.
Code:phoronix-test-suite install pts/aio-stress Phoronix Test Suite v3.6.1 To Install: pts/aio-stress-1.1.0 Determining File Requirements .......................................... Searching Download Caches .............................................. 1 Test To Install 1MB Of Disk Space Is Needed pts/aio-stress-1.1.0: Test Installation 1 of 1 1 File Needed [0.04 MB / 1 Minute] File Found: aio-stress.c [0.04MB] Installation Size: 0.5 MB Installing Test @ 03:56:32 The installer exited with a non-zero exit status. Installation Log: /home/latebeat/.phoronix-test-suite/installed-tests/pts/aio-stress-1.1.0/install-failed.log The following tests failed to install: - pts/aio-stress-1.1.0
I'm using kubuntu 12.04 kernel 3.2.0-32 and here's the install log:
any support would be really appreciated as there's nothing I could find on google.Code:aio-stress.c: In function 'worker': aio-stress.c:1175:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat] aio-stress.c: In function 'main': aio-stress.c:1455:10: warning: format '%Lu' expects argument of type 'long long unsigned int', but argument 3 has type 'off_t' [-Wformat] aio-stress.c:1459:5: warning: format '%Lu' expects argument of type 'long long unsigned int', but argument 3 has type 'off_t' [-Wformat] aio-stress.c:1464:6: warning: format '%Lu' expects argument of type 'long long unsigned int', but argument 6 has type 'off_t' [-Wformat] /tmp/ccGyp5vN.o: In function `read_some_events': aio-stress.c:(.text+0xc9a): undefined reference to `io_getevents' /tmp/ccGyp5vN.o: In function `io_oper_wait': aio-stress.c:(.text+0xe77): undefined reference to `io_getevents' /tmp/ccGyp5vN.o: In function `run_built': aio-stress.c:(.text+0x1552): undefined reference to `io_submit' /tmp/ccGyp5vN.o: In function `aio_setup': aio-stress.c:(.text+0x1a7e): undefined reference to `io_queue_init' /tmp/ccGyp5vN.o: In function `worker': aio-stress.c:(.text+0x279e): undefined reference to `io_queue_release' /tmp/ccGyp5vN.o: In function `run_workers': aio-stress.c:(.text+0x27f3): undefined reference to `pthread_create' aio-stress.c:(.text+0x2845): undefined reference to `pthread_join' collect2: ld returned 1 exit status
I'm having this exact same problem. Were you able to find a solution?
I'm having this same problem, but I'm having problems installing the pts/cairo-demos suite on Fedora.
Install log:
/tmp/pts-compiler-mask-cairo-demos1.0.1//gcc: redirection error: cannot duplicate fd: Too many open files
/tmp/pts-compiler-mask-cairo-demos1.0.1//gcc: line 5: /tmp/pts-compiler-mask-cairo-demos1.0.1/CC-options-gcc: Too many open files
/tmp/pts-compiler-mask-cairo-demos1.0.1//gcc: line 5: /tmp/pts-compiler-mask-cairo-demos1.0.1/CC-options-gcc: Too many open files
/bin/bash: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: Error 24
Ok I solved it.
The problem is that for some reason, gcc is not including the libraries that aio-stress requires to compile. You can see this by compiling the aio-stress.c file manually with the additional flags: "-laio" and "-lpthread"
Doing this will result in a working aio-stress binary, so you need to pass these flags to the main system gcc when it used by phoronix.
This is how I did it:
First, make sure that libaio-dev is installed
Then re-name gcc "gcc1"Code:sudo apt-get install libaio-dev
Then create a file named "gcc" and paste in this python code:Code:sudo mv /usr/bin/gcc /usr/bin/gcc1
Code:sudo vim /usr/bin/gccFinally, set the correct permissions:Code:#!/usr/bin/env python import sys import subprocess def main(): args = ['gcc1'] args.extend(sys.argv[1:]) args.extend(["-laio", "-lpthread"]) print args subprocess.call(args) if __name__ == '__main__': main()
Then you should be able to install the test successfully:Code:sudo chmod +x /usr/bin/gcc
NOTE: Obviously this will change the system-wide gcc to include the two libraries "laio" and "pthread". Once the test has been successfully installed, you can put gcc back to normal with:Code:phoronix-test-suite install-test pts/aio-stress
Hope this is helpful! I'm so pleased to have this finally working!Code:sudo mv /usr/bin/gcc1 /usr/bin/gcc
Last edited by jws7; 11-27-2012 at 10:33 AM.
Great job and thanks for sharing! I will try it as well.
If you already the aio library installed there is a cleaner way to get the compiler the right arguments. You just need to change the file: ~/.phoronix-test-suite/test-profiles/pts/aio-stress-1.1.0/install.sh to be the following (note the "-laio -lpthread" has been moved to end of the cc command):
That got the test to work find on my Ubuntu 12.04 system.Code:#!/bin/sh cc -Wall -o aio-stress-bin aio-stress.c -laio -lpthread echo $? > ~/install-exit-status # add support for allowing aio-test-file to be on removable media devices echo "#!/bin/sh ./aio-stress-bin \$@ aio-test-file > \$LOG_FILE 2>&1 echo \$? > ~/test-exit-status rm -f aio-test-file" > aio-stress chmod +x aio-stress