Hello,
I'm trying to install your driver for CanonLBP2900 on Ubuntu 13.04 64-bit.
Referring to http://askubuntu.com/questions/289118/foo2capt-canon-lbp2900-printer-configuration, I've got your code from git.
I've installed dependecies libusb-1.0-0-dev libcupsimage2-dev
and ran :
$ sudo dpkg-buildpackage -b
I've got this error, help would be great:
g++ source.cpp
linking capt
tmp/libusbxx.o: In function usb::Device::Device(libusb_device*)':
libusbxx.cpp:(.text+0x11d): undefined reference to
libusb_ref_device'
tmp/libusbxx.o: In function usb::Device::Device(usb::Device const&)':
libusbxx.cpp:(.text+0x168): undefined reference to
libusb_ref_device'
tmp/libusbxx.o: In function usb::Device::Info::Info(usb::Device const&)':
libusbxx.cpp:(.text+0x1ce): undefined reference to
libusb_get_device_descriptor'
tmp/libusbxx.o: In function usb::Device::StrInfo::Data::Data(usb::DeviceHandleBase const&, unsigned char)':
libusbxx.cpp:(.text+0x263): undefined reference to
libusb_get_string_descriptor_ascii'
tmp/libusbxx.o: In function usb::Config::create(usb::Device const&)':
libusbxx.cpp:(.text+0x347): undefined reference to
libusb_get_active_config_descriptor'
tmp/libusbxx.o: In function usb::Enumerator::enumerate()':
libusbxx.cpp:(.text+0x491): undefined reference to
libusb_get_device_list'
libusbxx.cpp:(.text+0x4cd): undefined reference to libusb_init'
libusbxx.cpp:(.text+0x4e2): undefined reference to
libusb_set_debug'
tmp/libusbxx.o: In function usb::DeviceHandleBase::open(usb::Device&)':
libusbxx.cpp:(.text+0x5b7): undefined reference to
libusb_open'
tmp/libusbxx.o: In function usb::DeviceHandleKernel::release()':
libusbxx.cpp:(.text+0x628): undefined reference to
libusb_kernel_driver_active'
libusbxx.cpp:(.text+0x63e): undefined reference to libusb_detach_kernel_driver'
tmp/libusbxx.o: In function
usb::DeviceHandleKernel::~DeviceHandleKernel()':
libusbxx.cpp:(.text+0x6de): undefined reference to libusb_attach_kernel_driver'
tmp/libusbxx.o: In function
usb::DeviceHandle::DeviceHandle(usb::Device&, int)':
libusbxx.cpp:(.text+0x773): undefined reference to libusb_claim_interface'
tmp/libusbxx.o: In function
usb::DeviceHandle::~DeviceHandle()':
libusbxx.cpp:(.text+0x7c8): undefined reference to libusb_release_interface'
tmp/libusbxx.o: In function
usb::DeviceHandle::reset()':
libusbxx.cpp:(.text+0x805): undefined reference to libusb_reset_device'
tmp/libusbxx.o: In function
usb::DeviceHandle::bulk_transfer(unsigned char, void, unsigned long, unsigned int)':
libusbxx.cpp:(.text+0x8bd): undefined reference to libusb_bulk_transfer'
tmp/libusbxx.o: In function
usb::DeviceHandle::control_transfer(unsigned char, unsigned char, unsigned char, unsigned char, void, unsigned long, unsigned int)':
libusbxx.cpp:(.text+0x98d): undefined reference to libusb_control_transfer'
tmp/libusbxx.o: In function
usb::Device::~Device()':
libusbxx.cpp:(.text+0x184): undefined reference to libusb_unref_device'
tmp/libusbxx.o: In function
usb::Device::get_bus_number() const':
libusbxx.cpp:(.text+0x194): undefined reference to libusb_get_bus_number'
tmp/libusbxx.o: In function
usb::Device::get_device_address() const':
libusbxx.cpp:(.text+0x1a4): undefined reference to libusb_get_device_address'
tmp/libusbxx.o: In function
usb::Config::~Config()':
libusbxx.cpp:(.text+0x394): undefined reference to libusb_free_config_descriptor'
tmp/libusbxx.o: In function
usb::Enumerator::~Enumerator()':
libusbxx.cpp:(.text+0x599): undefined reference to libusb_free_device_list'
tmp/libusbxx.o: In function
usb::DeviceHandleBase::~DeviceHandleBase()':
libusbxx.cpp:(.text+0x604): undefined reference to libusb_close'
tmp/libusbxx.o: In function
usb::Context::~Context()':
libusbxx.cpp:(.text._ZN3usb7ContextD2Ev[_ZN3usb7ContextD5Ev]+0x4): undefined reference to libusb_exit'
tmp/libcupsxx.o: In function
cups::Raster::Raster(int)':
libcupsxx.cpp:(.text+0x4f): undefined reference to cupsRasterOpen'
tmp/libcupsxx.o: In function
cups::Raster::~Raster()':
libcupsxx.cpp:(.text+0x13a): undefined reference to cupsRasterClose'
tmp/libcupsxx.o: In function
cups::Raster::next_page()':
libcupsxx.cpp:(.text+0x195): undefined reference to cupsRasterReadHeader2'
tmp/libcupsxx.o: In function
cups::Raster::read_pixels()':
libcupsxx.cpp:(.text+0x2ab): undefined reference to cupsRasterReadPixels'
tmp/libcupsxx.o: In function
cups::print_uri(char const, char const, char const, char const)':
libcupsxx.cpp:(.text+0x18): undefined reference to cupsBackendReport'
tmp/libcupsxx.o: In function
cups::get_device_uri(char)':
libcupsxx.cpp:(.text+0x21): undefined reference to cupsBackendDeviceURI'
collect2: error: ld returned 1 exit status
make[1]: *** [capt] Error 1
make[1]: Leaving directory
/opt/canon_lbp2900/foo2capt'
dh_auto_build: make -j1 returned exit code 2
make: * [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
(BTW,printer was running on Ubuntu 12.04 32-bit, and it is running on windows os)
Regards,
Hello,
You're lucky: I'm rewriting foo2capt right now to support more printers and to support multi-page printing. CUPS API has been changed so I'm rewriting CUPS interface as well. The new version will require no capt:// hack and will work with plain usb:// URIs.
Regards,
Alex
Well, good news then. :-)
Is the new version already finished ? You mentioned that the library name will be changed. I can't find your updated code, so, if you can provide me a link, will be grateful.
Regards,
Frank
On Sat, 28 Sep 2013 09:14:04 +0000
"Frank " resolv_25@users.sf.net wrote:
Hi,
The updated code is on Github: https://github.com/agalakhov/captdriver
It is 90% finished and probably will work for you. At least it prints
multiple pages and checks for paper presence. Right now "make install"
does not work so just do "./configure; make" and manually install
rastertocapt into /usr/lib/cups/filters/. Then just use the PPD file
from the tarball.
Known "bugs": does not report proper status (page # printing, paper
presence) to CUPS. This will be fixed soon (maybe even tomorrow) along
with make install. After that, the driver will be officially released.
Regards,
Alex