After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 362489 - libgnome.pc doesn't specify -I and -L flags for popt
libgnome.pc doesn't specify -I and -L flags for popt
Status: RESOLVED WONTFIX
Product: libgnome
Classification: Deprecated
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: libgnome maintainer
libgnome maintainer
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2006-10-15 23:33 UTC by Sergei Steshenko
Modified: 2019-02-23 02:41 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
pverall build log file (41.36 KB, application/octet-stream)
2006-10-15 23:44 UTC, Sergei Steshenko
Details
failing 'make' log file (7.30 KB, text/plain)
2006-10-15 23:54 UTC, Sergei Steshenko
Details
created by 'perl Makefile.PL' Makefile (67.26 KB, text/plain)
2006-10-16 00:00 UTC, Sergei Steshenko
Details

Description Sergei Steshenko 2006-10-15 23:33:37 UTC
Steps to reproduce:
1. I'll upload the tool if necessary and post instructions.
2. 
3. 


Stack trace:


Other information:
To make longh story short - apparently 'perl Makefile.PL' mechanism refuses
to accept non-standard locations of 'popt' library, even though an effort is
made on command line to override search paths.

Please wait until I upload the files.
Comment 1 Sergei Steshenko 2006-10-15 23:44:22 UTC
Created attachment 74766 [details]
pverall build log file

Please pay attention to (very long) line numbers 2409, 2413.

The first of them is the real 'perl Makefile.pl' and the second is the real
'make' invokations.

Please note that CPPFLAGS, CCFLAGS (probably unnecessary),  LD_LIBRARY, LDFLAGS
environment variables are set and the variables contain

/home/sergei/AppsFromScratchWD/install/popt-1.6.4/include
/home/sergei/AppsFromScratchWD/install/popt-1.6.4/lib

paths tp point to .h and .so files.
Comment 2 Sergei Steshenko 2006-10-15 23:54:45 UTC
Created attachment 74767 [details]
failing 'make' log file

Please note that 'popt' substring appears only in the error messages:

"
[36] 1:52 sergei@comp.home.net:/ibm/home/sergei/Bug-362489> grep popt make.log
/home/sergei/AppsFromScratchWD/install/libgnome-2.14.1/include/libgnome-2.0/libgnome/gnome-program.h:40:18: error: popt.h: No such file or directory
/home/sergei/AppsFromScratchWD/install/libgnomeui-2.14.1/include/libgnomeui-2.0/libgnomeui/gnome-ui-init.h:50: error: syntax error before 'poptContext'
[37] 1:53 sergei@comp.home.net:/ibm/home/sergei/Bug-362489>
".
Comment 3 Sergei Steshenko 2006-10-16 00:00:46 UTC
Created attachment 74768 [details]
created by 'perl Makefile.PL' Makefile

Please note that 

/home/sergei/AppsFromScratchWD/install/popt-1.6.4/include
/home/sergei/AppsFromScratchWD/install/popt-1.6.4/lib

paths do not appear in the Makefile:

"
[41] 1:56 sergei@comp.home.net:/ibm/home/sergei/Bug-362489> echo $status
1
[42] 1:56 sergei@comp.home.net:/ibm/home/sergei/Bug-362489> grep /home/sergei/AppsFromScratchWD/install/popt-1.6.4/lib Makefile.original
[43] 1:57 sergei@comp.home.net:/ibm/home/sergei/Bug-362489> echo $status
1
[44] 1:57 sergei@comp.home.net:/ibm/home/sergei/Bug-362489>
".

The above means that fixing the include issue alone won't be sufficient
- linking fail unless

/home/sergei/AppsFromScratchWD/install/popt-1.6.4/lib

is also inserted.
Comment 4 Sergei Steshenko 2006-10-27 10:13:31 UTC
Anybody ?
Comment 5 Torsten Schoenfeld 2006-11-06 20:23:05 UTC
Well, nothing in Gnome2 explicitly depends on popt; it doesn't occur anywhere in the source.  Usually, popt gets pulled in via libgnome.  So it's libgnome's reponsibility to make the relevant paths known to the compiler and the linker.  As far as I can tell, this should happen via the libgnome-2.0.pc file (in <prefix>/lib/pkgconfig).  If that doesn't happen for you, then it seems to be a bug in libgnome itself.

But I'm not sure if the libgnome maintainers would be happy about a build-related bug report involving a completely unusual build environment such as yours.

Please close this bug unless you still think the bug is in Gnome2 itself.
Comment 6 Sergei Steshenko 2006-11-06 21:47:04 UTC
I believe that before release targets should be tested with
'make test' or 'make check' - whatever Makefile has for built-in tests.

Even though my build environment is not traditional, I consider it to
be legal - that ist, it uses documented features of install prefix,
include and library files locations, etc.

There is a whole Linux distro called GoboLinux (http://gobolinux.org/) which
uses directory per library approach - the same way as I do.

To me it still looks like a bug Gnome2-1.040, in its prerelease verification
procedure first of all.

About libgnome - I do not think you correctly blame it.

Here are contents of

/home/sergei/AFSWD/install/libgnome-2.14.1/lib/pkgconfig/libgnome-2.0.pc

file:

"
prefix=/home/sergei/AFSWD/install/libgnome-2.14.1
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
libgnome_serverdir=${exec_prefix}/libexec

Name: libgnome
Description: libgnome
Requires: glib-2.0 ORBit-2.0 libbonobo-2.0 gconf-2.0 gnome-vfs-2.0
Version: 2.14.1
Libs: -L${libdir} -lgnome-2 -lpopt
Cflags: -I${includedir}/libgnome-2.0
".

Both 'libdir' and 'includedir' point to the correct directories, aren't they ?

If you think something is wrong with the above libgnome-2.0.pc file, could
you please point me to the wrong line(s) ?

As I said in the very beginning, even though CPPFLAGS, CCFLAGS (probably
unnecessary),  LD_LIBRARY, LDFLAGS environment variables are set and the
variables contain

/home/sergei/AppsFromScratchWD/install/popt-1.6.4/include
/home/sergei/AppsFromScratchWD/install/popt-1.6.4/lib

paths tp point to .h and .so files, these paths do not appear in the
generated from Makefile.PL Makefile.

Why 'popt' path is absent in, say, INC Makefile variable while paths to
other libraries are present:

INC = -DORBIT2=1 -pthread -I/home/sergei/AFSWD/install/GConf-2.14.0/include/gconf/2 -I/home/sergei/AFSWD/install/ORBit2-2.14.2/include/orbit-2.0 -I/home/sergei/AFSWD/install/atk-1.12.1/include/atk-1.0 -I/home/sergei/AFSWD/install/cairo-1.2.4/include/cairo -I/home/sergei/AFSWD/install/glib-2.12.4/include/glib-2.0 -I/home/sergei/AFSWD/install/glib-2.12.4/lib/glib-2.0/include -I/home/sergei/AFSWD/install/gnome-keyring-0.4.9/include/gnome-keyring-1 -I/home/sergei/AFSWD/install/gnome-vfs-2.14.2/include/gnome-vfs-2.0 -I/home/sergei/AFSWD/install/gnome-vfs-2.14.2/lib/gnome-vfs-2.0/include -I/home/sergei/AFSWD/install/gtk+-2.8.20/include/gtk-2.0 -I/home/sergei/AFSWD/install/gtk+-2.8.20/lib/gtk-2.0/include -I/home/sergei/AFSWD/install/libart_lgpl-2.3.17/include/libart-2.0 -I/home/sergei/AFSWD/install/libbonobo-2.14.0/include/libbonobo-2.0 -I/home/sergei/AFSWD/install/libbonobo-2.14.0/include/bonobo-activation-2.0 -I/home/sergei/AFSWD/install/libbonoboui-2.14.0/include/libbonoboui-2.0 -I/home/sergei/AFSWD/install/libgnome-2.14.1/include/libgnome-2.0 -I/home/sergei/AFSWD/install/libgnomecanvas-2.14.0/include/libgnomecanvas-2.0 -I/home/sergei/AFSWD/install/libgnomeui-2.14.1/include/libgnomeui-2.0 -I/home/sergei/AFSWD/install/libxml2-2.6.26/include/libxml2 -I/home/sergei/AFSWD/install/pango-1.14.7/include/pango-1.0 -I/home/sergei/AFSWD/install/fontconfig-2.4.1/include -I/home/sergei/AFSWD/install/freetype-2.2.1/include/freetype2 -I/home/sergei/AFSWD/install/freetype-2.2.1/include -I/home/sergei/AFSWD/install/Gnome2-Canvas-1.002/lib/perl/5.8.7/Gnome2/Canvas/Install -I/home/sergei/AFSWD/install/Glib-1.140/lib/perl/5.8.7/Glib/Install -I. -I/home/sergei/AFSWD/install/Gnome2-VFS-1.060/lib/perl/5.8.7/Gnome2/VFS/Install -I build -I/home/sergei/AFSWD/install/Gtk2-1.140/lib/perl/5.8.7/Gtk2/Install -I./build -I/home/sergei/AFSWD/install/Cairo-1.01/lib/perl/5.8.7/Cairo/Install -Ibuild

?

Comment 7 Torsten Schoenfeld 2006-11-07 22:33:09 UTC
(In reply to comment #6)
> I believe that before release targets should be tested with
> 'make test' or 'make check' - whatever Makefile has for built-in tests.

We've already told you that we do this.  Obviously, we don't experience the problems you see.

> "
> prefix=/home/sergei/AFSWD/install/libgnome-2.14.1
> exec_prefix=${prefix}
> libdir=${exec_prefix}/lib
> includedir=${prefix}/include
> libgnome_serverdir=${exec_prefix}/libexec
> 
> Name: libgnome
> Description: libgnome
> Requires: glib-2.0 ORBit-2.0 libbonobo-2.0 gconf-2.0 gnome-vfs-2.0
> Version: 2.14.1
> Libs: -L${libdir} -lgnome-2 -lpopt
> Cflags: -I${includedir}/libgnome-2.0
> ".

In "Libs:" we have -lpopt.  So libgnome is the package that needs popt and linkts to it.  It lacks the -L argument for /home/sergei/AppsFromScratchWD/install/popt-1.6.4/lib though.  Similarly, it lacks a -I argument for /home/sergei/AppsFromScratchWD/install/popt-1.6.4/include in "Cflags:".  Without these, no external package that relies on the information in libgnome-2.0.pc will be able to find popt with your installation scheme.

Note that all the other lib and include paths (like /home/sergei/AFSWD/install/GConf-2.14.0/include/gconf/2, etc.) get pulled in via their respective package's occurence on the Requires: line.  That tells pkg-config to look into those .pc files.

So if the libgnome maintainer are willing to support your installation scheme, they should add the necessary -I and -L flags to the .pc file at configure time.
Comment 8 Torsten Schoenfeld 2008-08-17 18:25:47 UTC
libgnome maintainers: here's a bug report about failed compilation of the libgnome Perl bindings.  I think the issue is due to the lack of proper -I and -L flags for popt in libgnome's pkg-config file.
Comment 9 André Klapper 2019-02-23 02:41:06 UTC
libgnome and libgnomeui were only used in GNOME 2 and are not under active development anymore. Their codebases have been archived:
https://gitlab.gnome.org/Archive/libgnome/commits/master
https://gitlab.gnome.org/Archive/libgnomeui/commits/master

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect
reality.