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