1 |
Thelma: |
2 |
> I have app-office/glabels installed with (barcode -eds) |
3 |
> but the style menus is not showing "GNU Barcode |
4 |
> |
5 |
> Is it a bug? |
6 |
|
7 |
app-text/barcode doesn't provide the lib needed, see below. |
8 |
|
9 |
/// |
10 |
|
11 |
I tried this: |
12 |
|
13 |
# echo app-office/glabels barcode -eds > /etc/portage/package.use/glabels |
14 |
# emerge -aqv app-office/glabels |
15 |
[ebuild R ] app-office/glabels-3.4.1 USE="barcode -eds" |
16 |
|
17 |
Would you like to merge these packages? [Yes/No] y |
18 |
>>> Verifying ebuild manifests |
19 |
>>> Emerging (1 of 1) app-office/glabels-3.4.1::gentoo |
20 |
>>> Jobs: 0 of 1 complete, 1 running Load avg: 1.41, 0.88, 0.52^C |
21 |
|
22 |
I.e. I killed the build process so I could look at the tempdir contents |
23 |
(why doesn't "FEATURES=noclean emerge -aqv app-office/glabels" work ?). |
24 |
|
25 |
Looking at (PORTAGE_TMPDIR def. is /var/tmp) |
26 |
# cat $PORTAGE_TMPDIR/portage/app-office/glabels-3.4.1/temp/build.log |
27 |
... |
28 |
checking for LIBGLABELS... yes |
29 |
checking for LIBGLBARCODE... yes |
30 |
checking for Barcode_Create in -lbarcode... no |
31 |
checking for ZBarcode_Render in -lzint... no |
32 |
checking for LIBQRENCODE... yes |
33 |
checking for LIBIEC16022... no |
34 |
checking locale.h usability... yes |
35 |
... |
36 |
|
37 |
Optional barcode backends: |
38 |
|
39 |
GNU Barcode ............. no (See http://www.gnu.org/software/barcode/barcode.html) |
40 |
QR Code ................. yes |
41 |
IEC 16022 ............... no (See http://datenfreihafen.org/projects/iec16022.html) |
42 |
Zint .................... no (See http://www.zint.org.uk) |
43 |
|
44 |
... |
45 |
# cat $PORTAGE_TMPDIR/portage/app-office/glabels-3.4.1/work/glabels-3.4.1/config.log |
46 |
... |
47 |
configure:15388: checking for Barcode_Create in -lbarcode |
48 |
configure:15413: x86_64-pc-linux-gnu-gcc -o conftest -O2 -pipe -Wl,-O1 -Wl,--as-needed conftest.c -lbarcode >&5 |
49 |
/usr/lib/gcc/x86_64-pc-linux-gnu/7.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lbarcode |
50 |
collect2: error: ld returned 1 exit status |
51 |
configure:15413: $? = 1 |
52 |
configure: failed program was: |
53 |
| /* confdefs.h */ |
54 |
| #define PACKAGE_NAME "glabels" |
55 |
| #define PACKAGE_TARNAME "glabels" |
56 |
| #define PACKAGE_VERSION "3.4.1" |
57 |
| #define PACKAGE_STRING "glabels 3.4.1" |
58 |
| #define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glabels" |
59 |
| #define PACKAGE_URL "" |
60 |
| #define PACKAGE "glabels" |
61 |
| #define VERSION "3.4.1" |
62 |
| #define STDC_HEADERS 1 |
63 |
| #define HAVE_SYS_TYPES_H 1 |
64 |
| #define HAVE_SYS_STAT_H 1 |
65 |
| #define HAVE_STDLIB_H 1 |
66 |
| #define HAVE_STRING_H 1 |
67 |
| #define HAVE_MEMORY_H 1 |
68 |
| #define HAVE_STRINGS_H 1 |
69 |
| #define HAVE_INTTYPES_H 1 |
70 |
| #define HAVE_STDINT_H 1 |
71 |
| #define HAVE_UNISTD_H 1 |
72 |
| #define HAVE_DLFCN_H 1 |
73 |
| #define LT_OBJDIR ".libs/" |
74 |
| /* end confdefs.h. */ |
75 |
| |
76 |
| /* Override any GCC internal prototype to avoid an error. |
77 |
| Use char because int might match the return type of a GCC |
78 |
| builtin and then its argument prototype would still apply. */ |
79 |
| #ifdef __cplusplus |
80 |
| extern "C" |
81 |
| #endif |
82 |
| char Barcode_Create (); |
83 |
| int |
84 |
| main () |
85 |
| { |
86 |
| return Barcode_Create (); |
87 |
| ; |
88 |
| return 0; |
89 |
| } |
90 |
configure:15422: result: no |
91 |
... |
92 |
|
93 |
So, glabels tries to use barcode, but there is no lib found. |
94 |
Looking at /var/db/pkg/app-text/barcode-0.99/CONTENTS, I see that |
95 |
barcode doesn't provide a lib. |
96 |
|
97 |
$ git clone https://git.savannah.gnu.org/git/barcode.git |
98 |
$ cd barcode |
99 |
$ cat library.c |
100 |
... |
101 |
struct Barcode_Item *Barcode_Create(char *text) |
102 |
{ |
103 |
struct Barcode_Item *bc; |
104 |
|
105 |
bc = malloc(sizeof(*bc)); |
106 |
if (!bc) return NULL; |
107 |
|
108 |
memset(bc, 0, sizeof(*bc)); |
109 |
bc->ascii = strdup(text); |
110 |
bc->margin = BARCODE_DEFAULT_MARGIN; /* default margin */ |
111 |
return bc; |
112 |
} |
113 |
... |
114 |
|
115 |
So Barcode_Create() exists, but barcode doesn't build the needed |
116 |
library. |
117 |
|
118 |
Regards, |
119 |
/Karl Hammar |