You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Giulio Troccoli <Gi...@uk.linedata.com> on 2010/01/27 13:39:59 UTC

Error building Subversion 1.6.9 on Solaris 8

I'm trying to build 1.6.9 on a Solaris 8 platform.

I have successfully built and installed (locally in /user/dev/local, for now) the dependencies: apr, apr-util, neon, expat and zlib.

I configured the build with

CC="/opt/SUNWspro/bin/cc" \
CPPFLAGS="-I/user/dev/local/include" \
LDFLAGS="-L/user/dev/local/lib" \
./configure \
--prefix=/user/dev/local \
--disable-shared \
--without-ssl \
--without-berkeley-db \
--with-apr=/user/dev/local/bin \
--with-apr-util=/user/dev/local/bin \
--without-apxs \
--with-neon=/user/dev/local \
--without-serf

This ran without errors. When I run make though I have this error

cd subversion/svn && /usr/local/bin/bash /user/dev/subversion-1.6.9/libtool --tag=CC --silent --mode=link /opt/SUNWspro/bin/cc  -g  -g -mt  -D_LARGEFILE64_SOURCE -DNE_LFS  -L/user/dev/local/lib    -L/user/dev/local/lib  -rpath /user/dev/local/lib -o svn  add-cmd.o blame-cmd.o cat-cmd.o changelist-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o conflict-callbacks.o copy-cmd.o delete-cmd.o diff-cmd.o export-cmd.o help-cmd.o import-cmd.o info-cmd.o list-cmd.o lock-cmd.o log-cmd.o main.o merge-cmd.o mergeinfo-cmd.o mkdir-cmd.o move-cmd.o notify.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o resolve-cmd.o resolved-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o tree-conflicts.o unlock-cmd.o update-cmd.o util.o ../../subversion/libsvn_client/libsvn_client-1.la ../../subversion/libsvn_wc/libsvn_wc-1.la ../../subversion/libsvn_ra/libsvn_ra-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_diff/libsvn_diff-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la /user/dev/local/lib/libaprutil-1.la     -lexpat /user/dev/local/lib/libapr-1.la -lrt -lsocket -lnsl  -lpthread -ldl -L/user/dev/local/lib -L/user/dev/local/lib -lneon -lnsl -lsocket -lz -lexpat -lsocket
ild: (undefined symbol) dngettext -- referenced in the text segment of log-cmd.o
ild: (undefined symbol) dngettext -- referenced in the text segment of info-cmd.o
make: *** [subversion/svn/svn] Error 5

I'm a bit lost here. I have, in the past, compiled 1.4.5 just fine.

Thanks
Giulio


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447




Re: Error building Subversion 1.6.9 on Solaris 8

Posted by 'Stefan Sperling' <st...@elego.de>.
On Thu, Jan 28, 2010 at 01:45:05PM +0000, Giulio Troccoli wrote:
> > The consequence is that Subversion will talk to you in
> > English only, even if your locale specifies a different language.
> > If you're comfortable with that, I guess you can disable NLS
> > as a workaround.
> 
> Ok, thanks. I think we can live with that. Was this feature in 1.4.5
> already? Because I did build that without problem. I know that if it
> was I was probably using the gettext that comes with the OS and that
> was fine with 1.4.5. I would just like to know that's all.

I took a closer look.

dngettext() is GNU-specific and not portable, and our configure script
was made to use it unconditionally if NLS is enabled in r874215 on 2008-11-11.
At that point 1.5.x was already released. 1.6.x was branched on 2009-02-16
so the behaviour you are seeing is indeed new in 1.6.x.

I don't know why your linker cannot find dngettext even though you
have GNU gettext installed.

Stefan

RE: Error building Subversion 1.6.9 on Solaris 8

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.

>


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447

-----Original Message-----


> From: 'Stefan Sperling' [mailto:stsp@elego.de]
> Sent: 28 January 2010 13:32
> To: Giulio Troccoli
> Cc: users@subversion.apache.org
> Subject: Re: Error building Subversion 1.6.9 on Solaris 8
>
> On Thu, Jan 28, 2010 at 01:09:42PM +0000, Giulio Troccoli wrote:
> > The macro Q_ is defined in subversion/svn/svn_private_config.h as
> >
> > #define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n)
> >
> > So yes, the linker can't find dngettext I suppose.
>
> But the configure script can find it?

The only reference I could find in the output of configure is the ones I posted

checking for xgettext... /usr/local/bin/xgettext checking for library containing
checking if we are using GNU gettext... Yes ...

And they seem fine to me.

> > I have tried and disabled NLS. This works, but what are the
> > consequences? I will be using the SVN client only on this machine.
>
> The consequence is that Subversion will talk to you in
> English only, even if your locale specifies a different language.
> If you're comfortable with that, I guess you can disable NLS
> as a workaround.

Ok, thanks. I think we can live with that. Was this feature in 1.4.5 already? Because I did build that without problem. I know that if it was I was probably using the gettext that comes with the OS and that was fine with 1.4.5. I would just like to know that's all.

Giulio

RE: Error building Subversion 1.6.9 on Solaris 8

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.

>


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447

-----Original Message-----


> From: 'Stefan Sperling' [mailto:stsp@elego.de]
> Sent: 28 January 2010 13:32
> To: Giulio Troccoli
> Cc: users@subversion.apache.org
> Subject: Re: Error building Subversion 1.6.9 on Solaris 8
>
> On Thu, Jan 28, 2010 at 01:09:42PM +0000, Giulio Troccoli wrote:
> > The macro Q_ is defined in subversion/svn/svn_private_config.h as
> >
> > #define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n)
> >
> > So yes, the linker can't find dngettext I suppose.
>
> But the configure script can find it?

The only reference I could find in the output of configure is the ones I posted

checking for xgettext... /usr/local/bin/xgettext checking for library containing
checking if we are using GNU gettext... Yes ...

And they seem fine to me.

> > I have tried and disabled NLS. This works, but what are the
> > consequences? I will be using the SVN client only on this machine.
>
> The consequence is that Subversion will talk to you in
> English only, even if your locale specifies a different language.
> If you're comfortable with that, I guess you can disable NLS
> as a workaround.

Ok, thanks. I think we can live with that. Was this feature in 1.4.5 already? Because I did build that without problem. I know that if it was I was probably using the gettext that comes with the OS and that was fine with 1.4.5. I would just like to know that's all.

Giulio

Re: Error building Subversion 1.6.9 on Solaris 8

Posted by 'Stefan Sperling' <st...@elego.de>.
On Thu, Jan 28, 2010 at 01:09:42PM +0000, Giulio Troccoli wrote:
> The macro Q_ is defined in subversion/svn/svn_private_config.h as
> 
> #define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n)
> 
> So yes, the linker can't find dngettext I suppose.

But the configure script can find it?

> I have tried and disabled NLS. This works, but what are the
> consequences? I will be using the SVN client only on this machine.

The consequence is that Subversion will talk to you in English only,
even if your locale specifies a different language.
If you're comfortable with that, I guess you can disable NLS
as a workaround.

Stefan

RE: Error building Subversion 1.6.9 on Solaris 8

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.
> And which gettext headers are included when the files
> mentioned in the error message are compiled?
> Do the headers come from GNU gettext or the system's gettext?
> Can you show the lines printed when compiling those files?
> Try prepending -I/usr/local/include to CFLAGS when running configure.

To be honest I'm not sure I have any header for gettext. As I said I installed the package from www.sunfreeware.com and I don't know if that installed the headers too.

I have added the -I/usr/local/include but it didn't make a difference.

I checked the compilation of those two files and they both have a warning

/opt/SUNWspro/bin/cc -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE  -I/user/dev/local/include -I/usr/local/include  -g -mt  -D_LARGEFILE64_SOURCE -DNE_LFS  -I./subversion/include -I./subversion -I/user/dev/local/include/apr-1   -I/user/dev/local/include/apr-1 -I/user/dev/local/include -I/user/dev/local/include/neon -I/user/dev/subversion-1.6.9/sqlite-amalgamation  -o subversion/svn/info-cmd.o -c subversion/svn/info-cmd.c
"subversion/svn/info-cmd.c", line 410: warning: improper pointer/integer combination: arg #2
/opt/SUNWspro/bin/cc -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE  -I/user/dev/local/include -I/usr/local/include  -g -mt  -D_LARGEFILE64_SOURCE -DNE_LFS  -I./subversion/include -I./subversion -I/user/dev/local/include/apr-1   -I/user/dev/local/include/apr-1 -I/user/dev/local/include -I/user/dev/local/include/neon -I/user/dev/subversion-1.6.9/sqlite-amalgamation  -o subversion/svn/log-cmd.o -c subversion/svn/log-cmd.c
"subversion/svn/log-cmd.c", line 190: warning: improper pointer/integer combination: arg #2

The line in info-cmd.c is

          SVN_ERR(svn_cmdline_printf(pool,
                                     Q_("Lock Comment (%i line):\n%s\n",
                                        "Lock Comment (%i lines):\n%s\n",
                                        comment_lines),
                                     comment_lines,
                                     info->lock->comment));

And the one in log-cmd.c is

      SVN_ERR(svn_cmdline_printf(pool,
                                 Q_(" | %d line", " | %d lines", lines),
                                 lines));

The macro Q_ is defined in subversion/svn/svn_private_config.h as

#define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n)

So yes, the linker can't find dngettext I suppose.

I have tried and disabled NLS. This works, but what are the consequences? I will be using the SVN client only on this machine.


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447





RE: Error building Subversion 1.6.9 on Solaris 8

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.
> And which gettext headers are included when the files
> mentioned in the error message are compiled?
> Do the headers come from GNU gettext or the system's gettext?
> Can you show the lines printed when compiling those files?
> Try prepending -I/usr/local/include to CFLAGS when running configure.

To be honest I'm not sure I have any header for gettext. As I said I installed the package from www.sunfreeware.com and I don't know if that installed the headers too.

I have added the -I/usr/local/include but it didn't make a difference.

I checked the compilation of those two files and they both have a warning

/opt/SUNWspro/bin/cc -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE  -I/user/dev/local/include -I/usr/local/include  -g -mt  -D_LARGEFILE64_SOURCE -DNE_LFS  -I./subversion/include -I./subversion -I/user/dev/local/include/apr-1   -I/user/dev/local/include/apr-1 -I/user/dev/local/include -I/user/dev/local/include/neon -I/user/dev/subversion-1.6.9/sqlite-amalgamation  -o subversion/svn/info-cmd.o -c subversion/svn/info-cmd.c
"subversion/svn/info-cmd.c", line 410: warning: improper pointer/integer combination: arg #2
/opt/SUNWspro/bin/cc -DSOLARIS2=8 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE  -I/user/dev/local/include -I/usr/local/include  -g -mt  -D_LARGEFILE64_SOURCE -DNE_LFS  -I./subversion/include -I./subversion -I/user/dev/local/include/apr-1   -I/user/dev/local/include/apr-1 -I/user/dev/local/include -I/user/dev/local/include/neon -I/user/dev/subversion-1.6.9/sqlite-amalgamation  -o subversion/svn/log-cmd.o -c subversion/svn/log-cmd.c
"subversion/svn/log-cmd.c", line 190: warning: improper pointer/integer combination: arg #2

The line in info-cmd.c is

          SVN_ERR(svn_cmdline_printf(pool,
                                     Q_("Lock Comment (%i line):\n%s\n",
                                        "Lock Comment (%i lines):\n%s\n",
                                        comment_lines),
                                     comment_lines,
                                     info->lock->comment));

And the one in log-cmd.c is

      SVN_ERR(svn_cmdline_printf(pool,
                                 Q_(" | %d line", " | %d lines", lines),
                                 lines));

The macro Q_ is defined in subversion/svn/svn_private_config.h as

#define Q_(x1, x2, n) dngettext(PACKAGE_NAME, x1, x2, n)

So yes, the linker can't find dngettext I suppose.

I have tried and disabled NLS. This works, but what are the consequences? I will be using the SVN client only on this machine.


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447




Re: Error building Subversion 1.6.9 on Solaris 8

Posted by 'Stefan Sperling' <st...@elego.de>.
On Thu, Jan 28, 2010 at 09:57:57AM +0000, Giulio Troccoli wrote:
> I have indeed installed gettext (and libiconv for dependencies) in /usr/local/lib from the package from www.sunfreeware.com.
> 
> I have reconfigured the build with
> 
> CC="/opt/SUNWspro/bin/cc" \
> CPPFLAGS="-I/user/dev/local/include" \
> LDFLAGS="-L/user/dev/local/lib -L/usr/local/lib" \
> ./configure \
> --prefix=/user/dev/local \
> --disable-shared \
> --without-ssl \
> --without-berkeley-db \
> --with-apr=/user/dev/local/bin \
> --with-apr-util=/user/dev/local/bin \
> --without-apxs \
> --with-neon=/user/dev/local \
> --without-serf > configure.out 2>&1
> 
> This showed that the gettext it found is GNU
> 
> ...
> checking for xgettext... /usr/local/bin/xgettext
> checking for library containing bindtextdomain... none required
> checking for bind_textdomain_codeset... no
> checking if we are using GNU gettext... Yes
> ...
> 
> Still, when I build I get the same error 

And which gettext headers are included when the files mentioned in the
error message are compiled?
Do the headers come from GNU gettext or the system's gettext?
Can you show the lines printed when compiling those files?
Try prepending -I/usr/local/include to CFLAGS when running configure.

Stefan

RE: Error building Subversion 1.6.9 on Solaris 8

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.
>


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447

-----Original Message-----


> From: Stefan Sperling [mailto:stsp@elego.de]
> Sent: 27 January 2010 14:33
> To: Giulio Troccoli
> Cc: users@subversion.apache.org
> Subject: Re: Error building Subversion 1.6.9 on Solaris 8
>
> On Wed, Jan 27, 2010 at 01:39:59PM +0000, Giulio Troccoli wrote:
> > I'm trying to build 1.6.9 on a Solaris 8 platform.
> >
> > I have successfully built and installed (locally in
> /user/dev/local, for now) the dependencies: apr, apr-util,
> neon, expat and zlib.
> >
> > I configured the build with
> >
> > CC="/opt/SUNWspro/bin/cc" \
> > CPPFLAGS="-I/user/dev/local/include" \
> LDFLAGS="-L/user/dev/local/lib"
> > \ ./configure \ --prefix=/user/dev/local \ --disable-shared \
> > --without-ssl \ --without-berkeley-db \
> --with-apr=/user/dev/local/bin
> > \ --with-apr-util=/user/dev/local/bin \ --without-apxs \
> > --with-neon=/user/dev/local \ --without-serf
> >
> > This ran without errors. When I run make though I have this error
> >
> > cd subversion/svn && /usr/local/bin/bash
> /user/dev/subversion-1.6.9/libtool --tag=CC --silent
> --mode=link /opt/SUNWspro/bin/cc  -g  -g -mt
> -D_LARGEFILE64_SOURCE -DNE_LFS  -L/user/dev/local/lib
> -L/user/dev/local/lib  -rpath /user/dev/local/lib -o svn
> add-cmd.o blame-cmd.o cat-cmd.o changelist-cmd.o
> checkout-cmd.o cleanup-cmd.o commit-cmd.o
> conflict-callbacks.o copy-cmd.o delete-cmd.o diff-cmd.o
> export-cmd.o help-cmd.o import-cmd.o info-cmd.o list-cmd.o
> lock-cmd.o log-cmd.o main.o merge-cmd.o mergeinfo-cmd.o
> mkdir-cmd.o move-cmd.o notify.o propdel-cmd.o propedit-cmd.o
> propget-cmd.o proplist-cmd.o props.o propset-cmd.o
> resolve-cmd.o resolved-cmd.o revert-cmd.o status-cmd.o
> status.o switch-cmd.o tree-conflicts.o unlock-cmd.o
> update-cmd.o util.o
> ../../subversion/libsvn_client/libsvn_client-1.la
> ../../subversion/libsvn_wc/libsvn_wc-1.la
> ../../subversion/libsvn_ra/libsvn_ra-1.la
> ../../subversion/libsvn_delta/libsvn_delta-1.la
> ../../subversion/libsvn_diff/libsvn_diff-1.la
> ../../subversion/libsvn_subr/libsvn_sub
> > r-1.la /user/dev/local/lib/libaprutil-1.la     -lexpat
> /user/dev/local/lib/libapr-1.la -lrt -lsocket -lnsl
> -lpthread -ldl -L/user/dev/local/lib -L/user/dev/local/lib
> -lneon -lnsl -lsocket -lz -lexpat -lsocket
> > ild: (undefined symbol) dngettext -- referenced in the text
> segment of
> > log-cmd.o
> > ild: (undefined symbol) dngettext -- referenced in the text
> segment of
> > info-cmd.o
> > make: *** [subversion/svn/svn] Error 5
>
> Which gettext implementation is Subversion trying to link to?
>
> Try installing GNU gettext, and make sure the corresponding
> directory is in LDFLAGS (-L/usr/local/lib for instance)
> *before* the directory which contains the native gettext
> provided by Solaris.
> You can acheive this e.g. by putting the directory into the
> LDFLAGS environment variable when running the configure script:
>
>   env LDFLAGS="-L/usr/local/lib" ./configure --prefix= ... etc.

Thanks Stefan. I have indeed installed gettext (and libiconv for dependencies) in /usr/local/lib from the package from www.sunfreeware.com.

I have reconfigured the build with

CC="/opt/SUNWspro/bin/cc" \
CPPFLAGS="-I/user/dev/local/include" \
LDFLAGS="-L/user/dev/local/lib -L/usr/local/lib" \
./configure \
--prefix=/user/dev/local \
--disable-shared \
--without-ssl \
--without-berkeley-db \
--with-apr=/user/dev/local/bin \
--with-apr-util=/user/dev/local/bin \
--without-apxs \
--with-neon=/user/dev/local \
--without-serf > configure.out 2>&1

This showed that the gettext it found is GNU

...
checking for xgettext... /usr/local/bin/xgettext
checking for library containing bindtextdomain... none required
checking for bind_textdomain_codeset... no
checking if we are using GNU gettext... Yes
...

Still, when I build I get the same error (note that /user/dev/local is where I have installed all Subversion dependencies. I'm testing this so I just want it locally).

I don't think it's related but I also have some suspicious warnings

...
"subversion/libsvn_subr/sqlite.c", line 244: warning: end-of-loop code not reached
"subversion/libsvn_subr/sqlite.c", line 592: warning: end-of-loop code not reached
...
"subversion/libsvn_fs_fs/tree.c", line 756: warning: end-of-loop code not reached
"subversion/libsvn_fs_fs/tree.c", line 1599: warning: end-of-loop code not reached
"subversion/libsvn_fs_fs/tree.c", line 2099: warning: end-of-loop code not reached
...

Thanks
Giulio

RE: Error building Subversion 1.6.9 on Solaris 8

Posted by Giulio Troccoli <Gi...@uk.linedata.com>.
>


Linedata Services (UK) Ltd
Registered Office: Bishopsgate Court, 4-12 Norton Folgate, London, E1 6DB
Registered in England and Wales No 3027851    VAT Reg No 778499447

-----Original Message-----


> From: Stefan Sperling [mailto:stsp@elego.de]
> Sent: 27 January 2010 14:33
> To: Giulio Troccoli
> Cc: users@subversion.apache.org
> Subject: Re: Error building Subversion 1.6.9 on Solaris 8
>
> On Wed, Jan 27, 2010 at 01:39:59PM +0000, Giulio Troccoli wrote:
> > I'm trying to build 1.6.9 on a Solaris 8 platform.
> >
> > I have successfully built and installed (locally in
> /user/dev/local, for now) the dependencies: apr, apr-util,
> neon, expat and zlib.
> >
> > I configured the build with
> >
> > CC="/opt/SUNWspro/bin/cc" \
> > CPPFLAGS="-I/user/dev/local/include" \
> LDFLAGS="-L/user/dev/local/lib"
> > \ ./configure \ --prefix=/user/dev/local \ --disable-shared \
> > --without-ssl \ --without-berkeley-db \
> --with-apr=/user/dev/local/bin
> > \ --with-apr-util=/user/dev/local/bin \ --without-apxs \
> > --with-neon=/user/dev/local \ --without-serf
> >
> > This ran without errors. When I run make though I have this error
> >
> > cd subversion/svn && /usr/local/bin/bash
> /user/dev/subversion-1.6.9/libtool --tag=CC --silent
> --mode=link /opt/SUNWspro/bin/cc  -g  -g -mt
> -D_LARGEFILE64_SOURCE -DNE_LFS  -L/user/dev/local/lib
> -L/user/dev/local/lib  -rpath /user/dev/local/lib -o svn
> add-cmd.o blame-cmd.o cat-cmd.o changelist-cmd.o
> checkout-cmd.o cleanup-cmd.o commit-cmd.o
> conflict-callbacks.o copy-cmd.o delete-cmd.o diff-cmd.o
> export-cmd.o help-cmd.o import-cmd.o info-cmd.o list-cmd.o
> lock-cmd.o log-cmd.o main.o merge-cmd.o mergeinfo-cmd.o
> mkdir-cmd.o move-cmd.o notify.o propdel-cmd.o propedit-cmd.o
> propget-cmd.o proplist-cmd.o props.o propset-cmd.o
> resolve-cmd.o resolved-cmd.o revert-cmd.o status-cmd.o
> status.o switch-cmd.o tree-conflicts.o unlock-cmd.o
> update-cmd.o util.o
> ../../subversion/libsvn_client/libsvn_client-1.la
> ../../subversion/libsvn_wc/libsvn_wc-1.la
> ../../subversion/libsvn_ra/libsvn_ra-1.la
> ../../subversion/libsvn_delta/libsvn_delta-1.la
> ../../subversion/libsvn_diff/libsvn_diff-1.la
> ../../subversion/libsvn_subr/libsvn_sub
> > r-1.la /user/dev/local/lib/libaprutil-1.la     -lexpat
> /user/dev/local/lib/libapr-1.la -lrt -lsocket -lnsl
> -lpthread -ldl -L/user/dev/local/lib -L/user/dev/local/lib
> -lneon -lnsl -lsocket -lz -lexpat -lsocket
> > ild: (undefined symbol) dngettext -- referenced in the text
> segment of
> > log-cmd.o
> > ild: (undefined symbol) dngettext -- referenced in the text
> segment of
> > info-cmd.o
> > make: *** [subversion/svn/svn] Error 5
>
> Which gettext implementation is Subversion trying to link to?
>
> Try installing GNU gettext, and make sure the corresponding
> directory is in LDFLAGS (-L/usr/local/lib for instance)
> *before* the directory which contains the native gettext
> provided by Solaris.
> You can acheive this e.g. by putting the directory into the
> LDFLAGS environment variable when running the configure script:
>
>   env LDFLAGS="-L/usr/local/lib" ./configure --prefix= ... etc.

Thanks Stefan. I have indeed installed gettext (and libiconv for dependencies) in /usr/local/lib from the package from www.sunfreeware.com.

I have reconfigured the build with

CC="/opt/SUNWspro/bin/cc" \
CPPFLAGS="-I/user/dev/local/include" \
LDFLAGS="-L/user/dev/local/lib -L/usr/local/lib" \
./configure \
--prefix=/user/dev/local \
--disable-shared \
--without-ssl \
--without-berkeley-db \
--with-apr=/user/dev/local/bin \
--with-apr-util=/user/dev/local/bin \
--without-apxs \
--with-neon=/user/dev/local \
--without-serf > configure.out 2>&1

This showed that the gettext it found is GNU

...
checking for xgettext... /usr/local/bin/xgettext
checking for library containing bindtextdomain... none required
checking for bind_textdomain_codeset... no
checking if we are using GNU gettext... Yes
...

Still, when I build I get the same error (note that /user/dev/local is where I have installed all Subversion dependencies. I'm testing this so I just want it locally).

I don't think it's related but I also have some suspicious warnings

...
"subversion/libsvn_subr/sqlite.c", line 244: warning: end-of-loop code not reached
"subversion/libsvn_subr/sqlite.c", line 592: warning: end-of-loop code not reached
...
"subversion/libsvn_fs_fs/tree.c", line 756: warning: end-of-loop code not reached
"subversion/libsvn_fs_fs/tree.c", line 1599: warning: end-of-loop code not reached
"subversion/libsvn_fs_fs/tree.c", line 2099: warning: end-of-loop code not reached
...

Thanks
Giulio

Re: Error building Subversion 1.6.9 on Solaris 8

Posted by Stefan Sperling <st...@elego.de>.
On Wed, Jan 27, 2010 at 01:39:59PM +0000, Giulio Troccoli wrote:
> I'm trying to build 1.6.9 on a Solaris 8 platform.
> 
> I have successfully built and installed (locally in /user/dev/local, for now) the dependencies: apr, apr-util, neon, expat and zlib.
> 
> I configured the build with
> 
> CC="/opt/SUNWspro/bin/cc" \
> CPPFLAGS="-I/user/dev/local/include" \
> LDFLAGS="-L/user/dev/local/lib" \
> ./configure \
> --prefix=/user/dev/local \
> --disable-shared \
> --without-ssl \
> --without-berkeley-db \
> --with-apr=/user/dev/local/bin \
> --with-apr-util=/user/dev/local/bin \
> --without-apxs \
> --with-neon=/user/dev/local \
> --without-serf
> 
> This ran without errors. When I run make though I have this error
> 
> cd subversion/svn && /usr/local/bin/bash /user/dev/subversion-1.6.9/libtool --tag=CC --silent --mode=link /opt/SUNWspro/bin/cc  -g  -g -mt  -D_LARGEFILE64_SOURCE -DNE_LFS  -L/user/dev/local/lib    -L/user/dev/local/lib  -rpath /user/dev/local/lib -o svn  add-cmd.o blame-cmd.o cat-cmd.o changelist-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o conflict-callbacks.o copy-cmd.o delete-cmd.o diff-cmd.o export-cmd.o help-cmd.o import-cmd.o info-cmd.o list-cmd.o lock-cmd.o log-cmd.o main.o merge-cmd.o mergeinfo-cmd.o mkdir-cmd.o move-cmd.o notify.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o resolve-cmd.o resolved-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o tree-conflicts.o unlock-cmd.o update-cmd.o util.o ../../subversion/libsvn_client/libsvn_client-1.la ../../subversion/libsvn_wc/libsvn_wc-1.la ../../subversion/libsvn_ra/libsvn_ra-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_diff/libsvn_diff-1.la ../../subversion/libsvn_subr/libsvn_sub
> r-1.la /user/dev/local/lib/libaprutil-1.la     -lexpat /user/dev/local/lib/libapr-1.la -lrt -lsocket -lnsl  -lpthread -ldl -L/user/dev/local/lib -L/user/dev/local/lib -lneon -lnsl -lsocket -lz -lexpat -lsocket
> ild: (undefined symbol) dngettext -- referenced in the text segment of log-cmd.o
> ild: (undefined symbol) dngettext -- referenced in the text segment of info-cmd.o
> make: *** [subversion/svn/svn] Error 5

Which gettext implementation is Subversion trying to link to?

Try installing GNU gettext, and make sure the corresponding
directory is in LDFLAGS (-L/usr/local/lib for instance) *before*
the directory which contains the native gettext provided by Solaris.
You can acheive this e.g. by putting the directory into the LDFLAGS
environment variable when running the configure script:

  env LDFLAGS="-L/usr/local/lib" ./configure --prefix= ... etc.

Stefan