Im not able to build clean PDQ on Solaris systems. There are couple of issues:
1. General run
$ gmake
./Makeall
make: Fatal error in reader: Makefile, line 10: Unexpected end of line seen
Current working directory /export/home/sdr/pdq/lib
cp: cannot access ../lib/libpdq.so
cp: cannot access ../lib/*.o
Writing Makefile for pdq
cp pdq.pm blib/lib/pdq.pm
gcc -c -m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DVERSION=\"\" -DXS_VERSION=\"\" "-I/opt/sdr/report/perl/lib/5.12.3/i86pc-solaris-64/CORE" pdq_wrap.c
Running Mkbootstrap for pdq ()
chmod 644 pdq.bs
rm -f blib/arch/auto/pdq/pdq.so
gcc -G -m64 -L/lib/64 -L/usr/sfw/lib/amd64 MVA_Approx.o MVA_Canon.o MVA_Solve.o PDQ_Build.o PDQ_Exact.o PDQ_Globals.o PDQ_Report.o PDQ_Utils.o PDQ_MServer.o pdq_wrap.o -o blib/arch/auto/pdq/pdq.so \
\
gcc: MVA_Approx.o: No such file or directory
gcc: MVA_Canon.o: No such file or directory
gcc: MVA_Solve.o: No such file or directory
gcc: PDQ_Build.o: No such file or directory
gcc: PDQ_Exact.o: No such file or directory
gcc: PDQ_Globals.o: No such file or directory
gcc: PDQ_Report.o: No such file or directory
gcc: PDQ_Utils.o: No such file or directory
gcc: PDQ_MServer.o: No such file or directory
*** Error code 1
make: Fatal error: Command failed for target `blib/arch/auto/pdq/pdq.so'
Current working directory /export/home/sdr/pdq/perl5
python setup.py build
running build
running build_py
creating build
creating build/lib.solaris-2.10-i86pc-2.4
copying pdq.py -> build/lib.solaris-2.10-i86pc-2.4
running build_ext
building '_pdq' extension
creating build/temp.solaris-2.10-i86pc-2.4
/usr/lib/python2.4/pycc -DNDEBUG -DDEBUG=1 -DHOME=1 -I/usr/include/python2.4 -c pdq_wrap.c -o build/temp.solaris-2.10-i86pc-2.4/pdq_wrap.o
/usr/lib/python2.4/pycc -G build/temp.solaris-2.10-i86pc-2.4/pdq_wrap.o -L/usr/local/lib -L../lib -lpdq -o build/lib.solaris-2.10-i86pc-2.4/_pdq.so
ld: fatal: library -lpdq: not found
ld: fatal: File processing errors. No output written to build/lib.solaris-2.10-i86pc-2.4/_pdq.so
error: command '/usr/lib/python2.4/pycc' failed with exit status 1
*** Error code 1
make: Fatal error: Command failed for target `build'
Current working directory /export/home/sdr/pdq/python
* installing to library '/opt/sdr/report/R/lib/R/library'
* installing *source* package 'pdq' ...
** libs
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c MVA_Approx.c -o MVA_Approx.o
"MVA_Approx.c", line 54: warning: implicit function declaration: debug
"MVA_Approx.c", line 57: warning: implicit function declaration: errmsg
"MVA_Approx.c", line 67: warning: implicit function declaration: resets
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c MVA_Canon.c -o MVA_Canon.o
"MVA_Canon.c", line 58: warning: implicit function declaration: debug
"MVA_Canon.c", line 72: warning: implicit function declaration: errmsg
"MVA_Canon.c", line 96: warning: implicit function declaration: getjob_name
"MVA_Canon.c", line 140: warning: implicit function declaration: typetostr
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c MVA_Solve.c -o MVA_Solve.o
"MVA_Solve.c", line 52: warning: implicit function declaration: debug
"MVA_Solve.c", line 61: warning: implicit function declaration: typetostr
"MVA_Solve.c", line 66: warning: implicit function declaration: errmsg
"MVA_Solve.c", line 72: warning: implicit function declaration: exact
"MVA_Solve.c", line 91: warning: implicit function declaration: approx
"MVA_Solve.c", line 107: warning: implicit function declaration: canonical
"MVA_Solve.c", line 160: warning: implicit function declaration: getjob_name
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c PDQ_Build.c -o PDQ_Build.o
"PDQ_Build.c", line 80: warning: implicit function declaration: debug
"PDQ_Build.c", line 83: warning: implicit function declaration: resets
"PDQ_Build.c", line 85: warning: implicit function declaration: errmsg
"PDQ_Build.c", line 221: warning: implicit function declaration: close
"PDQ_Build.c", line 250: warning: implicit function declaration: typetostr
"PDQ_Build.c", line 489: warning: implicit function declaration: getnode_index
"PDQ_Build.c", line 490: warning: implicit function declaration: getjob_index
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c PDQ_Exact.c -o PDQ_Exact.o
"PDQ_Exact.c", line 72: warning: implicit function declaration: errmsg
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c PDQ_Globals.c -o PDQ_Globals.o
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c PDQ_MServer.c -o PDQ_MServer.o
"PDQ_MServer.c", line 57: warning: implicit function declaration: errmsg
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c PDQ_Report.c -o PDQ_Report.o
"PDQ_Report.c", line 93: warning: implicit function declaration: resets
"PDQ_Report.c", line 104: warning: implicit function declaration: errmsg
"PDQ_Report.c", line 185: warning: implicit function declaration: typetostr
"PDQ_Report.c", line 236: warning: implicit function declaration: debug
"PDQ_Report.c", line 310: warning: implicit function declaration: getjob_name
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c PDQ_Utils.c -o PDQ_Utils.o
"PDQ_Utils.c", line 131: warning: implicit function declaration: getjob_index
cc -I/opt/sdr/report/R/lib/R/include -I/usr/local/include -KPIC -m64 -xO3 -Kpic -xc99 -xlibmieee -xlibmil -nofstore -I/opt/sdr/report/include -c pdq.c -o pdq.o
"pdq.c", line 1433: warning: statement not reached
"pdq.c", line 1461: warning: statement not reached
"pdq.c", line 1487: warning: statement not reached
"pdq.c", line 1515: warning: statement not reached
"pdq.c", line 1541: warning: statement not reached
"pdq.c", line 1569: warning: statement not reached
"pdq.c", line 1595: warning: statement not reached
"pdq.c", line 1623: warning: statement not reached
"pdq.c", line 1649: warning: statement not reached
"pdq.c", line 1677: warning: statement not reached
"pdq.c", line 1703: warning: statement not reached
"pdq.c", line 1731: warning: statement not reached
"pdq.c", line 1757: warning: statement not reached
"pdq.c", line 1785: warning: statement not reached
"pdq.c", line 1811: warning: statement not reached
"pdq.c", line 1839: warning: statement not reached
"pdq.c", line 1865: warning: statement not reached
"pdq.c", line 1893: warning: statement not reached
"pdq.c", line 1919: warning: statement not reached
"pdq.c", line 1947: warning: statement not reached
"pdq.c", line 1989: warning: statement not reached
"pdq.c", line 2016: warning: statement not reached
"pdq.c", line 2045: warning: statement not reached
"pdq.c", line 2077: warning: statement not reached
"pdq.c", line 2105: warning: statement not reached
"pdq.c", line 2131: warning: statement not reached
"pdq.c", line 2159: warning: statement not reached
"pdq.c", line 2187: warning: statement not reached
"pdq.c", line 2192: warning: statement not reached
"pdq.c", line 2219: warning: statement not reached
"pdq.c", line 2261: warning: statement not reached
"pdq.c", line 2288: warning: statement not reached
"pdq.c", line 2317: warning: statement not reached
"pdq.c", line 2349: warning: statement not reached
"pdq.c", line 2377: warning: statement not reached
"pdq.c", line 2405: warning: statement not reached
"pdq.c", line 2410: warning: statement not reached
"pdq.c", line 2437: warning: statement not reached
"pdq.c", line 2479: warning: statement not reached
"pdq.c", line 2506: warning: statement not reached
"pdq.c", line 2535: warning: statement not reached
"pdq.c", line 2567: warning: statement not reached
"pdq.c", line 2595: warning: statement not reached
"pdq.c", line 2621: warning: statement not reached
"pdq.c", line 2649: warning: statement not reached
"pdq.c", line 2677: warning: statement not reached
"pdq.c", line 2682: warning: statement not reached
"pdq.c", line 2709: warning: statement not reached
"pdq.c", line 2751: warning: statement not reached
"pdq.c", line 2778: warning: statement not reached
"pdq.c", line 2806: warning: statement not reached
"pdq.c", line 2832: warning: statement not reached
"pdq.c", line 2860: warning: statement not reached
"pdq.c", line 2888: warning: statement not reached
"pdq.c", line 2893: warning: statement not reached
"pdq.c", line 2920: warning: statement not reached
"pdq.c", line 2948: warning: statement not reached
"pdq.c", line 2953: warning: statement not reached
"pdq.c", line 2980: warning: statement not reached
"pdq.c", line 3008: warning: statement not reached
"pdq.c", line 3013: warning: statement not reached
"pdq.c", line 3040: warning: statement not reached
"pdq.c", line 3082: warning: statement not reached
"pdq.c", line 3109: warning: statement not reached
"pdq.c", line 3137: warning: statement not reached
"pdq.c", line 3163: warning: statement not reached
"pdq.c", line 3191: warning: statement not reached
"pdq.c", line 3217: warning: statement not reached
"pdq.c", line 3246: warning: statement not reached
"pdq.c", line 3278: warning: statement not reached
"pdq.c", line 3296: warning: statement not reached
"pdq.c", line 3324: warning: statement not reached
"pdq.c", line 3350: warning: statement not reached
"pdq.c", line 3368: warning: statement not reached
"pdq.c", line 3396: warning: statement not reached
"pdq.c", line 3422: warning: statement not reached
"pdq.c", line 3440: warning: statement not reached
"pdq.c", line 3468: warning: statement not reached
"pdq.c", line 3494: warning: statement not reached
"pdq.c", line 3512: warning: statement not reached
"pdq.c", line 3540: warning: statement not reached
"pdq.c", line 3566: warning: statement not reached
"pdq.c", line 3584: warning: statement not reached
"pdq.c", line 3612: warning: statement not reached
"pdq.c", line 3638: warning: statement not reached
"pdq.c", line 3656: warning: statement not reached
"pdq.c", line 3684: warning: statement not reached
"pdq.c", line 3710: warning: statement not reached
"pdq.c", line 3728: warning: statement not reached
"pdq.c", line 3756: warning: statement not reached
"pdq.c", line 3798: warning: statement not reached
"pdq.c", line 4634: warning: statement not reached
"pdq.c", line 4676: warning: statement not reached
cc -shared -G -m64 -L/opt/sdr/report/lib -L/opt/sdr/report/R/lib -L/lib/64 -L/usr/lib/64 -L/usr/sfw/lib/64 -L/usr/openwin/lib/64 -R/opt/sdr/report/lib -R/opt/sdr/report/R/lib -R/lib/64 -R/usr/lib/64 -R/usr/sfw/lib/64 -R/usr/openwin/lib/64 -o pdq.so MVA_Approx.o MVA_Canon.o MVA_Solve.o PDQ_Build.o PDQ_Exact.o PDQ_Globals.o PDQ_MServer.o PDQ_Report.o PDQ_Utils.o pdq.o
installing to /opt/sdr/report/R/lib/R/library/pdq/libs
** R
** preparing package for lazy loading
Creating a new generic function for "print" in "pdq"
** help
Warning: /export/home/sdr/pdq/R/pdq/man/CreateMultiNode.Rd:23: unexpected section header '\details'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateMultiNode.Rd:24: unknown macro '\item'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateMultiNode.Rd:16: All text must be in a section
Warning: /export/home/sdr/pdq/R/pdq/man/CreateNode.Rd:22: unexpected section header '\details'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateNode.Rd:23: unknown macro '\item'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateNode.Rd:24: unknown macro '\item'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateNode.Rd:25: unknown macro '\item'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateNode.Rd:26: unknown macro '\item'
Warning: /export/home/sdr/pdq/R/pdq/man/CreateNode.Rd:15: All text must be in a section
Warning: /export/home/sdr/pdq/R/pdq/man/Init.Rd:48: unexpected section header '\keyword'
Warning: /export/home/sdr/pdq/R/pdq/man/Init.Rd:50: unexpected END_OF_INPUT '
'
*** installing help indices
** building package indices ...
** testing if installed package can be loaded
* DONE (pdq)
Making chapter 2 PDQ files ...
gcc -o erlang erlang.c -lm
gcc -o closed1 closed1.c -I../../../lib -L../../../lib -lpdq -lm
ld: fatal: library -lpdq: not found
ld: fatal: File processing errors. No output written to closed1
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `closed1'
Current working directory /export/home/sdr/pdq/examples/ppa_1998/chap2
Making chapter 3 PDQ files ...
gcc -o closed closed.c -I../../../lib -L../../../lib -lpdq -lm
ld: fatal: library -lpdq: not found
ld: fatal: File processing errors. No output written to closed
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `closed'
Current working directory /export/home/sdr/pdq/examples/ppa_1998/chap3
Making chapter 6 PDQ files ...
make: Fatal error: Don't know how to make target `../../../lib/libpdq.a'
Current working directory /export/home/sdr/pdq/examples/ppa_1998/chap6
Making chapter 7 PDQ files ...
gcc -O -o abcache abcache.c -I ../../../lib -L../../../lib -lpdq -lm
ld: fatal: library -lpdq: not found
ld: fatal: File processing errors. No output written to abcache
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `abcache'
Current working directory /export/home/sdr/pdq/examples/ppa_1998/chap7
Making chapter 8 PDQ files ...
gcc -o baseline baseline.c -I../../../lib -L../../../lib -lpdq -lm
ld: fatal: library -lpdq: not found
ld: fatal: File processing errors. No output written to baseline
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `baseline'
Current working directory /export/home/sdr/pdq/examples/ppa_1998/chap8
Making chapter 9 PDQ files ...
gcc -o http http.c -I ../../../lib -L../../../lib -lpdq -lm
ld: fatal: library -lpdq: not found
ld: fatal: File processing errors. No output written to http
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `http'
Current working directory /export/home/sdr/pdq/examples/ppa_1998/chap9
2. lib . We should use gmake. We should add as well -Kpic
$ gmake -f Makefile.solaris
cc -m64 -Kpic -c -o MVA_Approx.o MVA_Approx.c
"MVA_Approx.c", line 54: warning: implicit function declaration: debug
"MVA_Approx.c", line 57: warning: implicit function declaration: errmsg
"MVA_Approx.c", line 67: warning: implicit function declaration: resets
cc -m64 -Kpic -c -o MVA_Canon.o MVA_Canon.c
"MVA_Canon.c", line 58: warning: implicit function declaration: debug
"MVA_Canon.c", line 72: warning: implicit function declaration: errmsg
"MVA_Canon.c", line 96: warning: implicit function declaration: getjob_name
"MVA_Canon.c", line 140: warning: implicit function declaration: typetostr
cc -m64 -Kpic -c -o MVA_Solve.o MVA_Solve.c
"MVA_Solve.c", line 52: warning: implicit function declaration: debug
"MVA_Solve.c", line 61: warning: implicit function declaration: typetostr
"MVA_Solve.c", line 66: warning: implicit function declaration: errmsg
"MVA_Solve.c", line 72: warning: implicit function declaration: exact
"MVA_Solve.c", line 91: warning: implicit function declaration: approx
"MVA_Solve.c", line 107: warning: implicit function declaration: canonical
"MVA_Solve.c", line 160: warning: implicit function declaration: getjob_name
cc -m64 -Kpic -c -o PDQ_Build.o PDQ_Build.c
"PDQ_Build.c", line 80: warning: implicit function declaration: debug
"PDQ_Build.c", line 83: warning: implicit function declaration: resets
"PDQ_Build.c", line 85: warning: implicit function declaration: errmsg
"PDQ_Build.c", line 221: warning: implicit function declaration: close
"PDQ_Build.c", line 250: warning: implicit function declaration: typetostr
"PDQ_Build.c", line 489: warning: implicit function declaration: getnode_index
"PDQ_Build.c", line 490: warning: implicit function declaration: getjob_index
cc -m64 -Kpic -c -o PDQ_Exact.o PDQ_Exact.c
"PDQ_Exact.c", line 72: warning: implicit function declaration: errmsg
cc -m64 -Kpic -c -o PDQ_Globals.o PDQ_Globals.c
cc -m64 -Kpic -c -o PDQ_MServer.o PDQ_MServer.c
"PDQ_MServer.c", line 57: warning: implicit function declaration: errmsg
cc -m64 -Kpic -c -o PDQ_Report.o PDQ_Report.c
"PDQ_Report.c", line 93: warning: implicit function declaration: resets
"PDQ_Report.c", line 104: warning: implicit function declaration: errmsg
"PDQ_Report.c", line 185: warning: implicit function declaration: typetostr
"PDQ_Report.c", line 236: warning: implicit function declaration: debug
"PDQ_Report.c", line 310: warning: implicit function declaration: getjob_name
cc -m64 -Kpic -c -o PDQ_Utils.o PDQ_Utils.c
"PDQ_Utils.c", line 131: warning: implicit function declaration: getjob_index
cc -m64 -Kpic -G -m64 *.o -o libpdq.so -lm
$ ls -lrt
total 499
-rwxr-xr-x 1 sdr sdr 1534 Mar 8 04:52 debug.h
-rwxr-xr-x 1 sdr sdr 5626 Mar 8 04:52 PDQ_Exact.c
-rwxr-xr-x 1 sdr sdr 17810 Mar 8 04:52 PDQ_Build.c
-rwxr-xr-x 1 sdr sdr 594 Mar 8 04:52 Makefile.macosx
-rwxr-xr-x 1 sdr sdr 519 Mar 8 04:52 Makefile.gcc
-rwxr-xr-x 1 sdr sdr 592 Mar 8 04:52 Makefile.cygwin
-rwxr-xr-x 1 sdr sdr 876 Mar 8 04:52 Makefile
-rwxr-xr-x 1 sdr sdr 6529 Mar 8 04:52 MVA_Solve.c
-rwxr-xr-x 1 sdr sdr 7169 Mar 8 04:52 MVA_Canon.c
-rwxr-xr-x 1 sdr sdr 8335 Mar 8 04:52 MVA_Approx.c
-rwxr-xr-x 1 sdr sdr 17368 Mar 8 04:52 PDQ_Utils.c
-rwxr-xr-x 1 sdr sdr 20514 Mar 8 04:52 PDQ_Report.c
-rwxr-xr-x 1 sdr sdr 2419 Mar 8 04:52 PDQ_MServer.c
-rwxr-xr-x 1 sdr sdr 9265 Mar 8 04:52 PDQ_Lib.h
-rwxr-xr-x 1 sdr sdr 2347 Mar 8 04:52 PDQ_Globals.c
-rwxr-xr-x 1 sdr sdr 2403 Mar 8 04:52 PDQ_Global.h
-rw-r--r-- 1 sdr sdr 509 Mar 23 10:39 Makefile.solaris
-rw-r--r-- 1 sdr sdr 20272 Mar 23 10:52 MVA_Approx.o
-rw-r--r-- 1 sdr sdr 12408 Mar 23 10:52 MVA_Canon.o
-rw-r--r-- 1 sdr sdr 10272 Mar 23 10:52 MVA_Solve.o
-rw-r--r-- 1 sdr sdr 30112 Mar 23 10:53 PDQ_Build.o
-rw-r--r-- 1 sdr sdr 10760 Mar 23 10:53 PDQ_Exact.o
-rw-r--r-- 1 sdr sdr 3100 Mar 23 10:53 PDQ_Globals.o
-rw-r--r-- 1 sdr sdr 4672 Mar 23 10:53 PDQ_MServer.o
-rw-r--r-- 1 sdr sdr 42136 Mar 23 10:53 PDQ_Report.o
-rw-r--r-- 1 sdr sdr 25856 Mar 23 10:53 PDQ_Utils.o
-rwxr-xr-x 1 sdr sdr 109568 Mar 23 10:53 libpdq.so
$ ldd libpdq.so
libm.so.2 => /lib/64/libm.so.2
libc.so.1 => /lib/64/libc.so.1
3. perl5. For some reasons PDQ perl5 picks up gcc instead of the cc what
I used to compile my Perl distro. Couple of fixes:
3.1 you override inside setup.sh CC !
3.2 just perl Makefile.PL will do the trick
$ make test
PERL_DL_NONLAZY=1 /opt/sdr/report/perl/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
***************************************
****** Pretty Damn Quick REPORT *******
***************************************
*** of : Wed Mar 23 10:58:59 2011 ***
*** for: OpenCenter ***
*** Ver: PDQ Analyzer v5.0 071209 ***
***************************************
***************************************
COMMENT: A simple M/M/1 queue
=======================================
****** PDQ Model INPUTS *******
=======================================
Node Sched Resource Workload Class Demand
---- ----- -------- -------- ----- ------
CEN FCFS server work TRANS 1.0000
Queueing Circuit Totals:
Streams: 1
Nodes: 1
WORKLOAD Parameters:
Source per Customers Demand
------ ------- ------
work 0.7500 1.0000
=======================================
****** PDQ Model OUTPUTS *******
=======================================
Solution Method: CANON
****** SYSTEM Performance *******
Metric Value Unit
------ ----- ----
Workload: "work"
Number in system 3.0000 Customers
Mean throughput 0.7500 Customers/Seconds
Response time 4.0000 Seconds
Stretch factor 4.0000
Bounds Analysis:
Max throughput 1.0000 Customers/Seconds
Min response 1.0000 Seconds
****** RESOURCE Performance *******
Metric Resource Work Value Unit
------ -------- ---- ----- ----
Throughput server work 0.7500 Customers/Seconds
Utilization server work 75.0000 Percent
Queue length server work 3.0000 Customers
Waiting line server work 2.2500 Customers
Waiting time server work 3.0000 Seconds
Residence time server work 4.0000 Seconds