View Issue Details

IDProjectCategoryView StatusLast Update
0014509LazarusOtherpublic2009-09-06 13:01
ReporterBurkhard Carstens Assigned ToPaul Ishenin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformi386OSlinux 
Product Version0.9.27 (SVN) 
Fixed in Version0.9.29 (SVN) 
Summary0014509: "make tools LCL_PLATFORM=gtk" fails on apiwizz
Descriptionfpc-fixes_2_4-r13601
lazarus-fixes_0_9_28-r21559
glib-1.2.10-595 + glib-devel-1.2.10-595 installed
!! Note: libglib is *not* in /usr/lib but in /opt/gnome/lib/ !!
   libglib-1.2.so.0 => /opt/gnome/lib/libglib-1.2.so.0

lazarus compiles and works fine on this machine (since years)

make tools LCL_PLATFORM=gtk" fails on apiwizz:
Makefile:2467: warning: ignoring old commands for target `.'
 /usr/local/bin/ppc386 -gl -Fu. -Fu../../lcl/units/i386-linux -Fu../../lcl/units/i386-linux/gtk -Fu/usr/local/lib/fpc/2.3.1/units/i386-linux/rtl -FE. -FU. -di386 apiwizz.pp
 Free Pascal Compiler version 2.3.1 [2009/09/03] for i386
 Copyright (c) 1993-2009 by Florian Klaempfl
 Target OS: Linux for i386
 Compiling apiwizz.pp
 Linking ./apiwizz
 /usr/bin/ld: cannot find -lglib
 apiwizz.pp(38,1) Error: Error while linking
 apiwizz.pp(38,1) Fatal: There were 1 errors compiling module, stopping
 Fatal: Compilation aborted
 make[3]: *** [apiwizz] Error 1
 make[3]: Leaving directory `/home/bork/FreePascal/lazarus/tools/apiwizz'
 make[2]: *** [all] Error 2
 make[2]: Leaving directory `/home/bork/FreePascal/lazarus/tools/apiwizz'
 make[1]: *** [apiwizz_all] Error 2
 make[1]: Leaving directory `/home/bork/FreePascal/lazarus/tools'
 make: *** [tools] Error 2
 
TagsNo tags attached.
Fixed in Revision
LazTarget-
WidgetsetGTK
Attached Files

Activities

Vincent Snijders

2009-09-05 12:05

manager   ~0030444

What distro do you use?

Where is libglib.so? How does the compiler find libglib.so when compiling Lazarus?

Burkhard Carstens

2009-09-05 12:30

reporter   ~0030446

these questions are all answered in the header/description of this report except:
"How does the compiler find libglib.so when compiling Lazarus?"
Answer: it gets the rigth -Fl parameters passed (e.g. -Fl/opt/gnome/lib):

Extracted from buildlog:

Compiling apiwizz:

/usr/local/bin/ppc386 -gl -Fu. -Fu../../lcl/units/i386-linux -Fu../../lcl/units/i386-linux/gtk -Fu/usr/local/lib/fpc/2.3.1/unit
s/i386-linux/rtl -FE. -FU. -di386 apiwizz.pp

Compiling lazarus:

/usr/local/bin/ppc386 -gl -dlclgtk -Fu../lcl/units/i386-linux -Fu../lcl/units/i386-linux/gtk -Fu../components/codetools/units/i3
86-linux -Fu../components/synedit/units/i386-linux -Fu../components/custom -Fu../components/mpaslex -Fu../ideintf/units/i386-lin
ux -Fu../designer -Fu../debugger -Fu../debugger/frames -Fu../converter -Fu../packager -Fu../packager/frames -Fu../packager/units
/i386-linux -Fu../units/i386-linux -Fuframes -Fu. -Fu/usr/local/lib/fpc/2.3.1/units/i386-linux/rtl -Fu/usr/local/lib/fpc/2.3.1/u
nits/i386-linux/regexpr -Fiinclude -Fiinclude/linux -Fi../images -FE.. -FU../units/i386-linux -Fl/usr/lib/gcc/i586-suse-linux/4.
0.2 -Fl/usr/X11R6/lib/Xaw95 -Fl/usr/X11R6/lib/Xaw3d -Fl/usr/X11R6/lib -Fl/usr/i486-linux/lib -Fl/usr/i486-linux-libc5/lib=libc5
-Fl/usr/i486-linux-libc6/lib=libc6 -Fl/usr/i486-linuxaout/lib -Fl/usr/i386-suse-linux/lib -Fl/usr/local/lib -Fl/usr/openwin/lib
-Fl/opt/kde/lib -Fl/opt/kde2/lib -Fl/opt/kde3/lib -Fl/opt/gnome/lib -Fl/opt/gnome2/lib -Flinclude -Fl/etc/ld.so.conf.d/*.conf -di386 lazarus.pp

Vincent Snijders

2009-09-05 12:53

manager   ~0030448

Where is libglib.so? I didn't see it mentioned in the header/description, only libglib-1.2.so.0 ?

I could not find in the makefiles where -Fl/opt/gnome/lib is added.

Burkhard Carstens

2009-09-05 14:07

reporter   ~0030449

sorry, it's also in /opt/gnome/lib/

lrwxrwxrwx 1 root root 21 2006-02-14 09:27 /opt/gnome/lib/libglib.so -> libglib-1.2.so.0.0.10*

Burkhard Carstens

2009-09-05 14:21

reporter   ~0030450

"-Fl/opt/gnome/lib" is in my ~/.lazarus/idemake.cfg
which is probably used for compiling lazarus:
./ide/Makefile:LAZARUS_IDE_CONFIG='$(LAZARUS_CONFIG_DIR)/idemake.cfg'
./ide/Makefile: $(MAKE) --assume-new=lazarus.pp lazarus$(EXEEXT) OPT='$(LAZARUS_OPT) $(OPT) @$(LAZARUS_IDE_CONFIG)'

but not so for apiwizz.

Vincent Snijders

2009-09-05 21:36

manager   ~0030464

idemake.cfg is created by the IDE.

If you need the extra intelligence provided by the IDE, compile apiwizz with lazbuild.

I guess the best solution for your system, with the libs at places ld doesn't find them, is to add -Fl/opt/gnome/lib to your fpc.cfg

Burkhard Carstens

2009-09-05 22:16

reporter   ~0030465

well, I don't need apiwizz at all .. I just wanted to report a Makefile inconsistency. It's just bad taht "make tools" fails due to this and therefore doesn't build the stuff I'd actually need (i.e. lazres) ..
For now, I just added "-Fl/opt/gnome/lib" to my "make tools" line in my buildlaz script.
Please resolve/close this report..

Paul Ishenin

2009-09-06 13:01

manager   ~0030476

as ordered

Issue History

Date Modified Username Field Change
2009-09-05 11:54 Burkhard Carstens New Issue
2009-09-05 11:54 Burkhard Carstens Widgetset => GTK
2009-09-05 12:05 Vincent Snijders LazTarget => -
2009-09-05 12:05 Vincent Snijders Note Added: 0030444
2009-09-05 12:05 Vincent Snijders Status new => feedback
2009-09-05 12:30 Burkhard Carstens Note Added: 0030446
2009-09-05 12:53 Vincent Snijders Note Added: 0030448
2009-09-05 14:07 Burkhard Carstens Note Added: 0030449
2009-09-05 14:21 Burkhard Carstens Note Added: 0030450
2009-09-05 21:36 Vincent Snijders Note Added: 0030464
2009-09-05 22:16 Burkhard Carstens Note Added: 0030465
2009-09-06 13:00 Paul Ishenin Status feedback => resolved
2009-09-06 13:00 Paul Ishenin Fixed in Version => 0.9.29 (SVN)
2009-09-06 13:00 Paul Ishenin Resolution open => fixed
2009-09-06 13:00 Paul Ishenin Assigned To => Paul Ishenin
2009-09-06 13:01 Paul Ishenin Status resolved => closed
2009-09-06 13:01 Paul Ishenin Note Added: 0030476