Thelma:
> I have app-office/glabels installed with (barcode -eds)
> but the style menus is not showing "GNU Barcode
> 
> Is it a bug?

app-text/barcode doesn't provide the lib needed, see below.

///

I tried this:

# echo app-office/glabels barcode -eds > /etc/portage/package.use/glabels
# emerge -aqv app-office/glabels
[ebuild   R   ] app-office/glabels-3.4.1  USE="barcode -eds" 

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) app-office/glabels-3.4.1::gentoo
>>> Jobs: 0 of 1 complete, 1 running                Load avg: 1.41, 0.88, 0.52^C

I.e. I killed the build process so I could look at the tempdir contents 
(why doesn't "FEATURES=noclean emerge -aqv app-office/glabels" work ?).

Looking at (PORTAGE_TMPDIR def. is /var/tmp)
# cat $PORTAGE_TMPDIR/portage/app-office/glabels-3.4.1/temp/build.log
...
checking for LIBGLABELS... yes
checking for LIBGLBARCODE... yes
checking for Barcode_Create in -lbarcode... no
checking for ZBarcode_Render in -lzint... no
checking for LIBQRENCODE... yes
checking for LIBIEC16022... no
checking locale.h usability... yes
...

Optional barcode backends:

        GNU Barcode ............. no (See 
http://www.gnu.org/software/barcode/barcode.html)
        QR Code ................. yes 
        IEC 16022 ............... no (See 
http://datenfreihafen.org/projects/iec16022.html)
        Zint .................... no (See http://www.zint.org.uk)

...
# cat 
$PORTAGE_TMPDIR/portage/app-office/glabels-3.4.1/work/glabels-3.4.1/config.log
...
configure:15388: checking for Barcode_Create in -lbarcode
configure:15413: x86_64-pc-linux-gnu-gcc -o conftest -O2 -pipe  -Wl,-O1 
-Wl,--as-needed conftest.c -lbarcode   >&5
/usr/lib/gcc/x86_64-pc-linux-gnu/7.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: 
cannot find -lbarcode
collect2: error: ld returned 1 exit status
configure:15413: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "glabels"
| #define PACKAGE_TARNAME "glabels"
| #define PACKAGE_VERSION "3.4.1"
| #define PACKAGE_STRING "glabels 3.4.1"
| #define PACKAGE_BUGREPORT 
"http://bugzilla.gnome.org/enter_bug.cgi?product=glabels";
| #define PACKAGE_URL ""
| #define PACKAGE "glabels"
| #define VERSION "3.4.1"
| #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/"
| /* 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;
| }
configure:15422: result: no
...

 So, glabels tries to use barcode, but there is no lib found.
 Looking at /var/db/pkg/app-text/barcode-0.99/CONTENTS, I see that 
 barcode doesn't provide a lib.

$ git clone https://git.savannah.gnu.org/git/barcode.git
$ cd barcode
$ cat library.c
...
struct Barcode_Item *Barcode_Create(char *text)
{
    struct Barcode_Item *bc;

    bc = malloc(sizeof(*bc));
    if (!bc) return NULL;

    memset(bc, 0, sizeof(*bc));
    bc->ascii = strdup(text);
    bc->margin = BARCODE_DEFAULT_MARGIN; /* default margin */
    return bc;
}
...

 So Barcode_Create() exists, but barcode doesn't build the needed
 library.

Regards,
/Karl Hammar



Reply via email to