Hi
I know that cups 1.4.8 already exists but I have failed to re-compile later versions so thought I would try to re-compile 1.4.8 and once I learnt how to do it, try to move forward.
so some basics are:
export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export LDFLAGS="-Wl,-O1"
I won't show all my tczs loaded, as I may have more than I want but after my config
./configure --prefix=/usr/local --sysconfdir=/usr/local/etc --localstatedir=/var --disable-libusb --enable-dbus \
--with-fontpath=/usr/local/share/ghostscript/fonts --with-dbusdir=/usr/local/etc/dbus-1 --without-languages \
--enable-libpaper --enable-unit-tests --with-cups-user=tc --with-cups-group=lpadmin --with-languages=all \
--with-rcdir=/tmp/cupsinit --disable-gnutls --disable-openssl --enable-bannertops --enable-texttops \
--enable-pap --enable-tcp-wrappers --enable-acl --enable-image
cat *.log | grep error
gcc: error: unrecognized option '-V'
gcc: fatal error: no input files
conftest.c:10:28: fatal error: ac_nonexistent.h: No such file or directory
conftest.c:10:28: fatal error: ac_nonexistent.h: No such file or directory
g++: error: unrecognized option '-V'
g++: fatal error: no input files
| /* Override any GCC internal prototype to avoid an error.
conftest.c:60:21: fatal error: bstring.h: No such file or directory
conftest.c:27:21: fatal error: bstring.h: No such file or directory
conftest.c:60:21: fatal error: usersec.h: No such file or directory
conftest.c:27:21: fatal error: usersec.h: No such file or directory
conftest.c:62:23: fatal error: sys/ucred.h: No such file or directory
conftest.c:29:23: fatal error: sys/ucred.h: No such file or directory
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
conftest.c:54:11: error: 'struct stat' has no member named 'st_gen'
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
configure:13893: checking for library containing hstrerror
conftest.c:86:12: error: 'struct sockaddr' has no member named 'sa_len'
conftest.c:86:19: error: 'struct sockaddr' has no member named 'sa_len'
conftest.c:113:24: fatal error: sys/sockio.h: No such file or directory
conftest.c:80:24: fatal error: sys/sockio.h: No such file or directory
conftest.c:81:29: fatal error: netat/appletalk.h: No such file or directory
| /* Override any GCC internal prototype to avoid an error.
conftest.c:100:7: error: size of array 'off_t_is_large' is negative
conftest.c:130:20: fatal error: dns_sd.h: No such file or directory
conftest.c:97:20: fatal error: dns_sd.h: No such file or directory
| /* Override any GCC internal prototype to avoid an error.
conftest.c:130:20: fatal error: launch.h: No such file or directory
conftest.c:97:20: fatal error: launch.h: No such file or directory
ac_cv_search_hstrerror='none required'
Now lets try make -j3
root@box:/mnt/sda3/tczs/cups-1.4.8# make -j3
Using ARCHFLAGS=
Using ALL_CFLAGS=-I.. -D_CUPS_SOURCE -march=i486 -mtune=i686 -Os -pipe -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -DDBUS_API_SUBJECT_TO_CHANGE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT
Using ALL_CXXFLAGS=-I.. -D_CUPS_SOURCE -march=i486 -mtune=i686 -Os -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT
Using CC=gcc
Using CXX=gcc
Using DSOFLAGS=-L../cups -Wl,-rpath,/usr/local/lib -Wl,-soname,all -shared -Wall -Wno-format-y2k -fPIC -Os -g -fstack-protector -D_GNU_SOURCE
Using LDFLAGS=-L../cgi-bin -L../cups -L../filter -L../ppdc -L../scheduler -Wl,-O1 -Wl,-rpath,/usr/local/lib -fPIE -pie -Wall -Wno-format-y2k -fPIC -Os -g -fstack-protector -D_GNU_SOURCE
Using LIBS=-lcups -lpthread -lm -lcrypt
Making all in cups...
Making all in filter...
Linking gziptoany...
Linking testimage...
Making all in backend...
Linking parallel...
Linking snmp...
Linking usb...
libbackend.a(ieee1284.o): In function `backendGetMakeModel':
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:356: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:366: undefined reference to `_cups_debug_puts'
libbackend.a(ieee1284.o): In function `backendGetDeviceID':
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:60: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:72: undefined reference to `_cups_debug_puts'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:219: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:249: undefined reference to `_cups_debug_printf'
collect2: ld returned 1 exit status
make[1]: *** [parallel] Error 1
make[1]: *** Waiting for unfinished jobs....
libbackend.a(ieee1284.o): In function `backendGetMakeModel':
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:356: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:366: undefined reference to `_cups_debug_puts'
libbackend.a(ieee1284.o): In function `backendGetDeviceID':
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:60: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:72: undefined reference to `_cups_debug_puts'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:219: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:249: undefined reference to `_cups_debug_printf'
collect2: ld returned 1 exit status
make[1]: *** [snmp] Error 1
libbackend.a(ieee1284.o): In function `backendGetMakeModel':
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:356: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:366: undefined reference to `_cups_debug_puts'
libbackend.a(ieee1284.o): In function `backendGetDeviceID':
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:60: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:72: undefined reference to `_cups_debug_puts'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:219: undefined reference to `_cups_debug_printf'
/home/tc/tczs/cups-1.4.8/backend/ieee1284.c:249: undefined reference to `_cups_debug_printf'
collect2: ld returned 1 exit status
make[1]: *** [usb] Error 1
make: *** [all] Error 1
google suggests this link on possible collect2 ld error
http://stackoverflow.com/questions/4222501/how-to-solve-collect2-ld-returned-1-exit-statusNow here is where it gets ugly for me, maybe if I explain what I think I am doing you can reveal why I am wrong etc ok?
I can see that the static lib file libbackend.a seems to depend on ieee1284.o and so lets list the contents of the cups-src/backend folder
root@box:/mnt/sda3/tczs/cups-1.4.8# ls backend
Dependencies http libbackend.a pap.c scsi-irix.c serial.o socket testbackend usb-darwin.c
Makefile ieee1284.c lpd parallel.c scsi-linux.c snmp-supplies.c socket.c testbackend.c usb-libusb.c
backend-private.h ieee1284.o lpd.c parallel.o scsi.c snmp-supplies.o socket.o testbackend.o usb-unix.c
dnssd.c ipp lpd.o runloop.c scsi.o snmp.c test1284 testsupplies usb.c
easysw-firewire-design.txt ipp.c network.c runloop.o serial snmp.o test1284.c testsupplies.c usb.o
easysw-firewire-linux.txt ipp.o network.o scsi serial.c snmp.txt test1284.o testsupplies.o
so in my mind the first thing I think I need to do is redo the "c" file to generate the "object" file for ieee1284
g++ backend/ieee1284.c -o backend/ieee1284.o
In file included from backend/ieee1284.c:28:0:
backend/backend-private.h:28:32: fatal error: cups/ppd-private.h: No such file or directory
compilation terminated
but appsearch for ppd-private.h.....no such file but that list contains a dependency list so here are the contents
# DO NOT DELETE THIS LINE -- make depend depends on it.
ipp.o: ../cups/http-private.h ../config.h ../cups/http.h ../cups/versioning.h
ipp.o: ../cups/md5.h ../cups/ipp-private.h ../cups/ipp.h backend-private.h
ipp.o: ../cups/backend.h ../cups/sidechannel.h ../cups/ppd-private.h
ipp.o: ../cups/cups.h ../cups/ppd.h ../cups/array.h ../cups/file.h
ipp.o: ../cups/language.h ../cups/debug.h ../cups/i18n.h ../cups/transcode.h
ipp.o: ../cups/snmp-private.h ../cups/string.h
lpd.o: ../cups/http-private.h ../config.h ../cups/http.h ../cups/versioning.h
lpd.o: ../cups/md5.h ../cups/ipp-private.h ../cups/ipp.h backend-private.h
lpd.o: ../cups/backend.h ../cups/sidechannel.h ../cups/ppd-private.h
lpd.o: ../cups/cups.h ../cups/ppd.h ../cups/array.h ../cups/file.h
lpd.o: ../cups/language.h ../cups/debug.h ../cups/i18n.h ../cups/transcode.h
lpd.o: ../cups/snmp-private.h ../cups/string.h
dnssd.o: backend-private.h ../cups/backend.h ../cups/versioning.h
dnssd.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
dnssd.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
dnssd.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
dnssd.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
dnssd.o: ../config.h ../cups/array.h
pap.o: ../config.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
pap.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
pap.o: ../cups/language.h ../cups/backend.h ../cups/sidechannel.h
pap.o: ../cups/i18n.h ../cups/transcode.h
parallel.o: backend-private.h ../cups/backend.h ../cups/versioning.h
parallel.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
parallel.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
parallel.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
parallel.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
parallel.o: ../config.h
scsi.o: ../cups/backend.h ../cups/versioning.h ../cups/cups.h ../cups/ipp.h
scsi.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
scsi.o: ../cups/language.h ../cups/i18n.h ../cups/transcode.h
scsi.o: ../cups/string.h ../config.h
serial.o: backend-private.h ../cups/backend.h ../cups/versioning.h
serial.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
serial.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
serial.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
serial.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
serial.o: ../config.h
snmp.o: backend-private.h ../cups/backend.h ../cups/versioning.h
snmp.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
snmp.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
snmp.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
snmp.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
snmp.o: ../config.h ../cups/array.h ../cups/file.h ../cups/http-private.h
snmp.o: ../cups/md5.h ../cups/ipp-private.h
socket.o: ../cups/http-private.h ../config.h ../cups/http.h
socket.o: ../cups/versioning.h ../cups/md5.h ../cups/ipp-private.h
socket.o: ../cups/ipp.h backend-private.h ../cups/backend.h
socket.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
socket.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
socket.o: ../cups/debug.h ../cups/i18n.h ../cups/transcode.h
socket.o: ../cups/snmp-private.h ../cups/string.h
test1284.o: ../cups/string.h ../config.h ieee1284.c backend-private.h
test1284.o: ../cups/backend.h ../cups/versioning.h ../cups/sidechannel.h
test1284.o: ../cups/ppd-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
test1284.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
test1284.o: ../cups/debug.h ../cups/i18n.h ../cups/transcode.h
test1284.o: ../cups/snmp-private.h
testbackend.o: ../cups/string.h ../config.h ../cups/cups.h ../cups/ipp.h
testbackend.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
testbackend.o: ../cups/array.h ../cups/file.h ../cups/language.h
testbackend.o: ../cups/sidechannel.h
testsupplies.o: backend-private.h ../cups/backend.h ../cups/versioning.h
testsupplies.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
testsupplies.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
testsupplies.o: ../cups/file.h ../cups/language.h ../cups/debug.h
testsupplies.o: ../cups/i18n.h ../cups/transcode.h ../cups/snmp-private.h
testsupplies.o: ../cups/string.h ../config.h
usb.o: backend-private.h ../cups/backend.h ../cups/versioning.h
usb.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
usb.o: ../cups/ipp.h ../cups/http.h ../cups/ppd.h ../cups/array.h
usb.o: ../cups/file.h ../cups/language.h ../cups/debug.h ../cups/i18n.h
usb.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string.h
usb.o: ../config.h
At this point my with my skills I am stumped!