Thread: poEdit compilation with Unicode/debug linked against GTK2

poEdit compilation with Unicode/debug linked against GTK2

From
Jean-Michel POURE
Date:
Dear all,

I am trying to build poEdit RPM packages with GTK2 bindings, in order to
benefit from RTL support of GTK2. This should enable Arabic and Persian users
to translate using poEdit.

The wxGTK2 libraries are those used for pgAdmin3. They can be found at:
http://cvs.pgadmin.org/cgi-bin/viewcvs.cgi/*checkout*/pgadmin3/docs/en_US/snapshots.html

During linking, I get the following error:

g++  -g -O2 -DUSE_TRANSMEM -DDB_HEADER=\"db.h\" -g -Wall
-I/usr/lib/wx/include/gtk2ud-2.5 -D__WXDEBUG__ -D__WXGTK__
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES "-DPOEDIT_PREFIX=\"/usr/local\""   -o
poedit  catalog.o edapp.o edframe.o fileviewer.o parser.o isocodes.o
prefsdlg.o settingsdlg.o progressinfo.o digger.o gexecute.o summarydlg.o
findframe.o commentdlg.o transmem.o transmemupd.o transmemupd_wizard.o
manager.o chooselang.o  -L../extras/wx-contrib/src/gizmos
-L../extras/wx-contrib/src/xrc -L../extras/wx-contrib/src/xrc/expat -lmy_xrc
-lmy_gizmos -lmy_expat -pthread /usr/lib/libwx_gtk2ud-2.5.a
-Wl,--export-dynamic -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0
-lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 -lpng   -lz -Wl,--export-dynamic
-lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lm
-Wl,-Bstatic -ldb -Wl,-Bdynamic
/usr/bin/ld: ne peut trouver -ldb

One of the libraries cannot be found. Is it libdb3 or libdb4 static version?
RedHat does not provide a static version of libdb4.

Any help welcome.

Cheers,
Jean-Michel


Re: [poedit-users] poEdit compilation with Unicode/debug linked against GTK2

From
Jean-Michel POURE
Date:
On Tuesday 01 July 2003 21:36, Vaclav Slavik wrote:
> just build the RPM in standard configuration, don't enable semistatic
> build (you do it, don't you?). That's the only situation when static
> linking is enforced, it uses shared library otherwise.

Dear Vaclav,

Yes, I used semistatic.

We don't want to enable shared libraries because wxWindows 2.5 cvs version is
changing too fast and is not stable yet. We are building pgAdmin3 using
static libraries for Redhat 9, Mandrake 9.1, SuSe 8.2, Slackware and Debian
Woody.

If you could help us compiling poEdit against our wxGTK2ud packages, we could
provide you with semistatic builds of poEdit. Information about our snapshots
can be found here:

http://cvs.pgadmin.org/cgi-bin/viewcvs.cgi/*checkout*/pgadmin3/docs/en_US/snapshots.html

Do you think it is possible?
Cheers, Jean-Michel


Re: [poedit-users] poEdit compilation with Unicode/debug linked against GTK2

From
Vaclav Slavik
Date:
Hi,

[please either mail to me or to poedit-users, but don't send same
message to both addresses]

Jean-Michel POURE wrote:
> If you could help us compiling poEdit against our wxGTK2ud
> packages, we could provide you with semistatic builds of poEdit.
> Information about our snapshots can be found here:
>
> http://cvs.pgadmin.org/cgi-bin/viewcvs.cgi/*checkout*/pgadmin3/docs
>/en_US/snapshots.html
>
> Do you think it is possible?

You *can* compile poEdit against wx-2.5 without any problems. I
already told you what you are doing wrong: if you tell
rpmbuild/configure to build semistatic binary, then it obeys. Of
course it fails if you are forcing it to do something that requires
libraries that you didn't install. Either don't use
--enable-semistatic or install static libdb, it's really that simple.
You *don't* have to use --enable-semistatic if you don't want to use
shared library version of wxGTK -- all you have to do is to install
static version of wxGTK and use it.

Regards,
Vaclav

--
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x465264C9

Attachment

Re: [poedit-users] poEdit compilation with Unicode/debug linked against GTK2

From
Jean-Michel POURE
Date:
Dear Vaclav ,

Thank you very much for your answer. I thank you in advance for your time and
help.

> You *can* compile poEdit against wx-2.5 without any problems. I
> already told you what you are doing wrong: if you tell
> rpmbuild/configure to build semistatic binary, then it obeys. Of
> course it fails if you are forcing it to do something that requires
> libraries that you didn't install.

I have the necessary wxGTK2 libraries installed with Unicode and Debug options
and linked against GTK2.

I told the rpm to rebuild with semistatic, but it fails during linking. Some
library is missing.

> Either don't use
> --enable-semistatic or install static libdb, it's really that simple.
> You *don't* have to use --enable-semistatic if you don't want to use
> shared library version of wxGTK -- all you have to do is to install
> static version of wxGTK and use it.

Under RedHat 9, static libdb is available from db4-devel, probably without
debug:

[root@linus root]# rpm -ql db4-devel
/usr/include/cxx_common.h
/usr/include/cxx_except.h
/usr/include/db.h
/usr/include/db4
/usr/include/db4/cxx_common.h
/usr/include/db4/cxx_except.h
/usr/include/db4/db.h
/usr/include/db4/db_185.h
/usr/include/db4/db_cxx.h
/usr/include/db_185.h
/usr/include/db_cxx.h
/usr/lib/libdb-4.0.a
/usr/lib/libdb-4.0.la
/usr/lib/libdb.so
/usr/lib/libdb_cxx-4.0.a
/usr/lib/libdb_cxx-4.0.la
/usr/lib/libdb_cxx.so

Any help or idea is welcome.

Cheers,
Jean-Michel