glabels had support EAN-8 / Code128 in previous version - now it does not have it.

Bug #1248131 reported by Patryk "LeadMan" Benderz
80
This bug affects 14 people
Affects Status Importance Assigned to Milestone
glabels (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Subject seems self explanatory. Maybe glabels was compiled without support for EAN-8 / code 128? AFAIK this barcodes are provided by library libzint (see "optional components in: http://glabels.org/download/ ). I hhave tried to configure and compile glabels from source like this:
$ ./configure --with-libebook --with-libbarcode --with-libzint --with-libqrencode --with-libiec16022

but have failed due to bug #1248112

1)
root@esp-patben-amd:~# lsb_release -rd
Description: Ubuntu 13.10
Release: 13.10

2)
root@esp-patben-amd:~# apt-cache policy glabels
glabels:
  Zainstalowana: 3.0.1-3
  Kandydująca: 3.0.1-3
  Tabela wersji:
 *** 3.0.1-3 0
        500 http://archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
        100 /var/lib/dpkg/status

3) I expect glabels to support EAN-8 / code 128 barcodes like it was in Ubuntu 13.04

4) It does not support it.

Do you need any additional information?

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: glabels 3.0.1-3
ProcVersionSignature: Ubuntu 3.11.0-13.20-generic 3.11.6
Uname: Linux 3.11.0-13-generic x86_64
NonfreeKernelModules: fglrx
ApportVersion: 2.12.5-0ubuntu2.1
Architecture: amd64
Date: Tue Nov 5 12:05:00 2013
ExecutablePath: /usr/bin/glabels-3
InstallationDate: Installed on 2013-05-28 (160 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
MarkForUpload: True
SourcePackage: glabels
UpgradeStatus: Upgraded to saucy on 2013-10-30 (5 days ago)

Revision history for this message
Patryk "LeadMan" Benderz (leadman) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in glabels (Ubuntu):
status: New → Confirmed
Revision history for this message
Will Jordan (will-jordan) wrote :

The EAN8/Code128 barcodes that were originally in glabels and are not in this build were provided by GNU Barcode. (Zint support was added in a recent version, but this barcode library does not yet have an official Ubuntu package.)

Something seems to be affecting the amd64 build environment causing the autoconf line "AC_CHECK_LIB(barcode, Barcode_Create, [...]" to return false even though the "barcode" package seems to be installed correctly. Looking at the logs it seems to affect recent AMD64 but not some other builds (e.g. i386 build logs show GNU barcode support is included).

I just built glabels from source off github and the barcode support was included as expected.

Revision history for this message
Patryk "LeadMan" Benderz (leadman) wrote :

Nice but what can we do to help regular users who are scared just of the word "compile", not to mention actual compilation?

Revision history for this message
Omk (ossi-viljakainen) wrote :

I would just started to use gLabels for generating barcode product labels. I created the template in the winter, I think in January. Now that I was prepared to start using it, I was puzzled, because it complained "Invalid code" when I opened the file. Then I could not find the EAN option from the many anymore. I spent a lot of time trying to find out what I have done wrong, to finally find out that some update has broken the application, and I have to find another tool to do this work.

Unless the compilation process is straight-forward.

Will Jordan, can you give me the exact steps to include the missing things & to get it correct?

The standard tar -xzvf && ./configure && make && make install stuff I know.

Revision history for this message
Patryk "LeadMan" Benderz (leadman) wrote :

This bug still exists in Ubuntu 14.04 and Glabels 3.0.1-4build1. Will Jordan, what can we do to help fix "Something affecting the amd64 build environment" ?

Revision history for this message
Margarita Manterola (marga-9) wrote :

Indeed, this bug is a notable regression from precise functionality. Users that depend on this program now can't do their work with Trusty.

Revision history for this message
variona (variona) wrote :

Affects me on amd64 , haven't tried i386.

Revision history for this message
Omk (ossi-viljakainen) wrote :

One year with this bug and nothing has been done?

Revision history for this message
Omk (ossi-viljakainen) wrote :

Workaround:
apt-get remove glabels glabels-data

Download both .deb packages for your architechture from debian:
https://packages.debian.org/sid/gnome/glabels

Intall the packages. And now you have EAN / UPC codes working perfectly like before.

Revision history for this message
Krzysztof Chojnowski (justkris) wrote :

While trying to recreate this package by myself this is what I get in config.log:

configure:14593: checking for Barcode_Create in -lbarcode
configure:14618: gcc -o conftest -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed conftest.c -lbarcode >&5
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbarcode.a(library.o): relocation R_X86_64_32 against `encodings' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libbarcode.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
configure:14618: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "glabels"
| #define PACKAGE_TARNAME "glabels"
| #define PACKAGE_VERSION "3.2.0"
| #define PACKAGE_STRING "glabels 3.2.0"
| #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glabels"
| #define PACKAGE_URL ""
| #define PACKAGE "glabels"
| #define VERSION "3.2.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define HAVE_LIBEBOOK 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char Barcode_Create ();
| int
| main ()
| {
| return Barcode_Create ();
| ;
| return 0;
| }

Problem is that glabels is being built using 'DEB_BUILD_MAINT_OPTIONS = hardening=+all', which implies -fPIC, while barcode is being built without it. This was fixed in Debian with barcode-0.98+debian-9.1 by adding '-fPIC' to CFLAGS. I'll request backporting this version to precise.

Revision history for this message
Patryk "LeadMan" Benderz (leadman) wrote :

Just checked and this bug still occurs in Ubuntu 14.10

Revision history for this message
Alexis de Lattre (alexis-via) wrote :

On Ubuntu 15.04, with the official packages "glabels" and "barcode", I can use glabels with GNU Barcode without problems.

Revision history for this message
Patryk "LeadMan" Benderz (leadman) wrote :

Confirming with 15.04. This bug #1248131 can be closed.

Changed in glabels (Ubuntu):
status: Confirmed → Fix Released
rockhopper (orocks)
tags: added: trusty
Revision history for this message
Omk (ossi-viljakainen) wrote :

I just upgraded to 15.04 and it is not working.

Revision history for this message
Omk (ossi-viljakainen) wrote :

Ok,
actually now it is working after doing:

apt-get remove glabels glabels-data
apt-get autoremove
apt-get install glabels glabels-data

So also I'm confirming it works in 15.04 after reinstall.

Revision history for this message
Martin Malec (martin-malec) wrote :

It seems to me that upcoming 19.04 version of Ubuntu 64bit has a similar or same regression. Even after installing barcode the glabels does not support GNU barcode as its backend.

Forcing to run a binary of glabels 3.4.0 compiled on Ubuntu 16.04 (by creating some symlinks to older version number of libraries) makes GNU Barcode work but the stock 3.4.1 does not.

Revision history for this message
Martin Malec (martin-malec) wrote :

Debian sid binary version of 3.4.1 works as well with GNU Barcode support (when symlinked /usr/lib/x86_64-linux-gnu/libedataserver-1.2.so.24.0.0 to libedataserver-1.2.so-23 to run manually the binary glabels-3 from the unpacked deb file without messing with the dependencies)

Revision history for this message
Miguel Barroso (miguel-barroso) wrote :

I double Martin Malec's observation that the Ubuntu package since 19.04 doesn't contain GNU Barcode. It works on Debian however.

I contacted the package maintainer about this. Hopefully it will be updated soon.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.