Menu

#2 LBP2900 installation on Ubuntu 13.04 64-bit

v1.0 (example)
open
nobody
None
5
2013-09-28
2013-09-07
Frank
No

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 tolibusb_ref_device'
tmp/libusbxx.o: In function usb::Device::Device(usb::Device const&)': libusbxx.cpp:(.text+0x168): undefined reference tolibusb_ref_device'
tmp/libusbxx.o: In function usb::Device::Info::Info(usb::Device const&)': libusbxx.cpp:(.text+0x1ce): undefined reference tolibusb_get_device_descriptor'
tmp/libusbxx.o: In function usb::Device::StrInfo::Data::Data(usb::DeviceHandleBase const&, unsigned char)': libusbxx.cpp:(.text+0x263): undefined reference tolibusb_get_string_descriptor_ascii'
tmp/libusbxx.o: In function usb::Config::create(usb::Device const&)': libusbxx.cpp:(.text+0x347): undefined reference tolibusb_get_active_config_descriptor'
tmp/libusbxx.o: In function usb::Enumerator::enumerate()': libusbxx.cpp:(.text+0x491): undefined reference tolibusb_get_device_list'
libusbxx.cpp:(.text+0x4cd): undefined reference to libusb_init' libusbxx.cpp:(.text+0x4e2): undefined reference tolibusb_set_debug'
tmp/libusbxx.o: In function usb::DeviceHandleBase::open(usb::Device&)': libusbxx.cpp:(.text+0x5b7): undefined reference tolibusb_open'
tmp/libusbxx.o: In function usb::DeviceHandleKernel::release()': libusbxx.cpp:(.text+0x628): undefined reference tolibusb_kernel_driver_active'
libusbxx.cpp:(.text+0x63e): undefined reference to libusb_detach_kernel_driver' tmp/libusbxx.o: In functionusb::DeviceHandleKernel::~DeviceHandleKernel()':
libusbxx.cpp:(.text+0x6de): undefined reference to libusb_attach_kernel_driver' tmp/libusbxx.o: In functionusb::DeviceHandle::DeviceHandle(usb::Device&, int)':
libusbxx.cpp:(.text+0x773): undefined reference to libusb_claim_interface' tmp/libusbxx.o: In functionusb::DeviceHandle::~DeviceHandle()':
libusbxx.cpp:(.text+0x7c8): undefined reference to libusb_release_interface' tmp/libusbxx.o: In functionusb::DeviceHandle::reset()':
libusbxx.cpp:(.text+0x805): undefined reference to libusb_reset_device' tmp/libusbxx.o: In functionusb::DeviceHandle::bulk_transfer(unsigned char, void, unsigned long, unsigned int)':
libusbxx.cpp:(.text+0x8bd): undefined reference to libusb_bulk_transfer' tmp/libusbxx.o: In functionusb::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 functionusb::Device::~Device()':
libusbxx.cpp:(.text+0x184): undefined reference to libusb_unref_device' tmp/libusbxx.o: In functionusb::Device::get_bus_number() const':
libusbxx.cpp:(.text+0x194): undefined reference to libusb_get_bus_number' tmp/libusbxx.o: In functionusb::Device::get_device_address() const':
libusbxx.cpp:(.text+0x1a4): undefined reference to libusb_get_device_address' tmp/libusbxx.o: In functionusb::Config::~Config()':
libusbxx.cpp:(.text+0x394): undefined reference to libusb_free_config_descriptor' tmp/libusbxx.o: In functionusb::Enumerator::~Enumerator()':
libusbxx.cpp:(.text+0x599): undefined reference to libusb_free_device_list' tmp/libusbxx.o: In functionusb::DeviceHandleBase::~DeviceHandleBase()':
libusbxx.cpp:(.text+0x604): undefined reference to libusb_close' tmp/libusbxx.o: In functionusb::Context::~Context()':
libusbxx.cpp:(.text._ZN3usb7ContextD2Ev[_ZN3usb7ContextD5Ev]+0x4): undefined reference to libusb_exit' tmp/libcupsxx.o: In functioncups::Raster::Raster(int)':
libcupsxx.cpp:(.text+0x4f): undefined reference to cupsRasterOpen' tmp/libcupsxx.o: In functioncups::Raster::~Raster()':
libcupsxx.cpp:(.text+0x13a): undefined reference to cupsRasterClose' tmp/libcupsxx.o: In functioncups::Raster::next_page()':
libcupsxx.cpp:(.text+0x195): undefined reference to cupsRasterReadHeader2' tmp/libcupsxx.o: In functioncups::Raster::read_pixels()':
libcupsxx.cpp:(.text+0x2ab): undefined reference to cupsRasterReadPixels' tmp/libcupsxx.o: In functioncups::print_uri(char const, char const, char const, char const)':
libcupsxx.cpp:(.text+0x18): undefined reference to cupsBackendReport' tmp/libcupsxx.o: In functioncups::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,

Discussion

  • Alex Galakhov

    Alex Galakhov - 2013-09-07

    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

     
  • Frank

    Frank - 2013-09-28

    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

     
  • Alex Galakhov

    Alex Galakhov - 2013-09-28

    On Sat, 28 Sep 2013 09:14:04 +0000
    "Frank " resolv_25@users.sf.net wrote:

    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

    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

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.