Problem doing an upgrade from Ports on Glib2

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem doing an upgrade from Ports on Glib2

Aaron W. Hsu
I seem to be having some trouble with the glib2 port.  I've tried
a few things, but it seems to be picking up my old installation
somehow.  Here's is a history:


   /usr/local/bin/libtool  --tag=CC   --mode=link cc  -O2 -pipe -Wall
   -L/usr/local/lib -o markup-subparser markup-subparser.o
   ../../glib/libglib-2.0.la  -lintl -liconv
   cc -O2 -pipe -Wall -o .libs/markup-subparser markup-subparser.o
   -L/usr/local/lib -L../../glib/.libs -lglib-2.0 -lpcre -lintl -liconv
   -Wl,-rpath,/usr/local/lib
   /usr/local/lib/libglib-2.0.so.1600.2: warning: vsprintf() is often
   misused, please use vsnprintf()
   /usr/local/lib/libglib-2.0.so.1600.2: warning: strcpy() is almost
   always misused, please use strlcpy()
   /usr/local/lib/libglib-2.0.so.1600.2: warning: strcat() is almost
   always misused, please use strlcat()
   markup-subparser.o(.text+0xb8): In function `subparser_start':
   /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
   parser.c:72: undefined reference to `g_markup_parse_context_push'
   markup-subparser.o(.text+0xcb): In function `subparser_end':
   /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
   parser.c:82: undefined reference to `g_markup_parse_context_pop'
   markup-subparser.o(.text+0x185): In function `replay_parser_start':
   /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
   parser.c:128: undefined reference to `g_markup_parse_context_push'  
   markup-subparser.o(.text+0x1a8): In function `replay_parser_end':
   /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
   parser.c:141: undefined reference to `g_markup_parse_context_pop'
   collect2: ld returned 1 exit status
   gmake[4]: *** [markup-subparser] Error 1
   gmake[4]: Leaving directory
   `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests'
   gmake[3]: *** [all-recursive] Error 1
   gmake[3]: Leaving directory
   `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib'
   gmake[2]: *** [all] Error 2
   gmake[2]: Leaving directory
   `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib'
   gmake[1]: *** [all-recursive] Error 1
   gmake[1]: Leaving directory
   `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2'
   gmake: *** [all] Error 2
   *** Error code 2
   Stop in /usr/ports/devel/glib2 (line 2169 of
   /usr/ports/infrastructure/mk/bsd.port.mk).
   *** Error code 1
   Stop in /usr/ports/devel/glib2 (line 1424 of
   /usr/ports/infrastructure/mk/bsd.port.mk).
   *** Error code 1
   Stop in /usr/ports/devel/glib2 (line 1964 of
   /usr/ports/infrastructure/mk/bsd.port.mk).
   *** Error code 1
   Stop in /usr/ports/devel/glib2 (line 2980 of
   /usr/ports/infrastructure/mk/bsd.port.mk).

And my attempt to remove that old library:

   cc -O2 -pipe -Wall -o .libs/memory-output-stream memory-output-stream.o  -L/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/.libs -L/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gobject/.libs -L/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gmodule/.libs -L/usr/local/lib -L../../glib/.libs -L../../gobject/.libs -L../../gio/.libs -lgio-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 -lpcre -lintl -liconv  -Wl,-rpath,/usr/local/lib
   /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/.libs/libglib-2.0.so.1800.0: warning: vsprintf() is often misused, please use vsnprintf()
   /usr/local/lib/libgio-2.0.so.1600.2: warning: strcpy() is almost always misused, please use strlcpy()
   /usr/local/lib/libgio-2.0.so.1600.2: warning: strcat() is almost always misused, please use strlcat()
   /usr/bin/ld: warning: libgmodule-2.0.so.1600.2, needed by /usr/local/lib/libgio-2.0.so.1600.2, may conflict with libgmodule-2.0.so.1800.0
   /usr/bin/ld: warning: libgobject-2.0.so.1600.2, needed by /usr/local/lib/libgio-2.0.so.1600.2, may conflict with libgobject-2.0.so.1800.0
   /usr/bin/ld: warning: libglib-2.0.so.1600.2, needed by /usr/local/lib/libgio-2.0.so.1600.2, not found (try using -rpath or -rpath-link)
   memory-output-stream.o(.text+0x13c): In function `test_data_size':
   /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio/tests/memory-output-stream.c:68: undefined reference to `g_memory_output_stream_get_data_size'
   collect2: ld returned 1 exit status
   gmake[4]: *** [memory-output-stream] Error 1
   gmake[4]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio/tests'
   gmake[3]: *** [all-recursive] Error 1
   gmake[3]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio'
   gmake[2]: *** [all] Error 2
   gmake[2]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio'
   gmake[1]: *** [all-recursive] Error 1
   gmake[1]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2'
   gmake: *** [all] Error 2
   *** Error code 2
   
   Stop in /usr/ports/devel/glib2 (line 2169 of /usr/ports/infrastructure/mk/bsd.port.mk).
   *** Error code 1
   
   Stop in /usr/ports/devel/glib2 (line 1424 of /usr/ports/infrastructure/mk/bsd.port.mk).
   *** Error code 1
   
   Stop in /usr/ports/devel/glib2 (line 1964 of /usr/ports/infrastructure/mk/bsd.port.mk).
   *** Error code 1
   
   Stop in /usr/ports/devel/glib2 (line 2980 of /usr/ports/infrastructure/mk/bsd.port.mk).
   

Reply | Threaded
Open this post in threaded view
|

Re: Problem doing an upgrade from Ports on Glib2

Jasper Lievisse Adriaanse-4
On Tue, Nov 04, 2008 at 09:30:47PM -0500, Aaron W. Hsu wrote:

> I seem to be having some trouble with the glib2 port.  I've tried
> a few things, but it seems to be picking up my old installation
> somehow.  Here's is a history:
>
>
>    /usr/local/bin/libtool  --tag=CC   --mode=link cc  -O2 -pipe -Wall
>    -L/usr/local/lib -o markup-subparser markup-subparser.o
>    ../../glib/libglib-2.0.la  -lintl -liconv
>    cc -O2 -pipe -Wall -o .libs/markup-subparser markup-subparser.o
>    -L/usr/local/lib -L../../glib/.libs -lglib-2.0 -lpcre -lintl -liconv
>    -Wl,-rpath,/usr/local/lib
>    /usr/local/lib/libglib-2.0.so.1600.2: warning: vsprintf() is often
>    misused, please use vsnprintf()
>    /usr/local/lib/libglib-2.0.so.1600.2: warning: strcpy() is almost
>    always misused, please use strlcpy()
>    /usr/local/lib/libglib-2.0.so.1600.2: warning: strcat() is almost
>    always misused, please use strlcat()
>    markup-subparser.o(.text+0xb8): In function `subparser_start':
>    /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
>    parser.c:72: undefined reference to `g_markup_parse_context_push'
>    markup-subparser.o(.text+0xcb): In function `subparser_end':
>    /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
>    parser.c:82: undefined reference to `g_markup_parse_context_pop'
>    markup-subparser.o(.text+0x185): In function `replay_parser_start':
>    /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
>    parser.c:128: undefined reference to `g_markup_parse_context_push'  
>    markup-subparser.o(.text+0x1a8): In function `replay_parser_end':
>    /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests/markup-sub
>    parser.c:141: undefined reference to `g_markup_parse_context_pop'
>    collect2: ld returned 1 exit status
>    gmake[4]: *** [markup-subparser] Error 1
>    gmake[4]: Leaving directory
>    `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/tests'
>    gmake[3]: *** [all-recursive] Error 1
>    gmake[3]: Leaving directory
>    `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib'
>    gmake[2]: *** [all] Error 2
>    gmake[2]: Leaving directory
>    `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib'
>    gmake[1]: *** [all-recursive] Error 1
>    gmake[1]: Leaving directory
>    `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2'
>    gmake: *** [all] Error 2
>    *** Error code 2
>    Stop in /usr/ports/devel/glib2 (line 2169 of
>    /usr/ports/infrastructure/mk/bsd.port.mk).
>    *** Error code 1
>    Stop in /usr/ports/devel/glib2 (line 1424 of
>    /usr/ports/infrastructure/mk/bsd.port.mk).
>    *** Error code 1
>    Stop in /usr/ports/devel/glib2 (line 1964 of
>    /usr/ports/infrastructure/mk/bsd.port.mk).
>    *** Error code 1
>    Stop in /usr/ports/devel/glib2 (line 2980 of
>    /usr/ports/infrastructure/mk/bsd.port.mk).
>
> And my attempt to remove that old library:
with what commad are you removing that old library? obviously not
pkg_delete. that would solve the problem actually...

>    cc -O2 -pipe -Wall -o .libs/memory-output-stream memory-output-stream.o  -L/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/.libs -L/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gobject/.libs -L/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gmodule/.libs -L/usr/local/lib -L../../glib/.libs -L../../gobject/.libs -L../../gio/.libs -lgio-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 -lpcre -lintl -liconv  -Wl,-rpath,/usr/local/lib
>    /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/glib/.libs/libglib-2.0.so.1800.0: warning: vsprintf() is often misused, please use vsnprintf()
>    /usr/local/lib/libgio-2.0.so.1600.2: warning: strcpy() is almost always misused, please use strlcpy()
>    /usr/local/lib/libgio-2.0.so.1600.2: warning: strcat() is almost always misused, please use strlcat()
>    /usr/bin/ld: warning: libgmodule-2.0.so.1600.2, needed by /usr/local/lib/libgio-2.0.so.1600.2, may conflict with libgmodule-2.0.so.1800.0
>    /usr/bin/ld: warning: libgobject-2.0.so.1600.2, needed by /usr/local/lib/libgio-2.0.so.1600.2, may conflict with libgobject-2.0.so.1800.0
>    /usr/bin/ld: warning: libglib-2.0.so.1600.2, needed by /usr/local/lib/libgio-2.0.so.1600.2, not found (try using -rpath or -rpath-link)
>    memory-output-stream.o(.text+0x13c): In function `test_data_size':
>    /usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio/tests/memory-output-stream.c:68: undefined reference to `g_memory_output_stream_get_data_size'
>    collect2: ld returned 1 exit status
>    gmake[4]: *** [memory-output-stream] Error 1
>    gmake[4]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio/tests'
>    gmake[3]: *** [all-recursive] Error 1
>    gmake[3]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio'
>    gmake[2]: *** [all] Error 2
>    gmake[2]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2/gio'
>    gmake[1]: *** [all-recursive] Error 1
>    gmake[1]: Leaving directory `/usr/ports/devel/glib2/w-glib-2.18.2/glib-2.18.2'
>    gmake: *** [all] Error 2
>    *** Error code 2
>    
>    Stop in /usr/ports/devel/glib2 (line 2169 of /usr/ports/infrastructure/mk/bsd.port.mk).
>    *** Error code 1
>    
>    Stop in /usr/ports/devel/glib2 (line 1424 of /usr/ports/infrastructure/mk/bsd.port.mk).
>    *** Error code 1
>    
>    Stop in /usr/ports/devel/glib2 (line 1964 of /usr/ports/infrastructure/mk/bsd.port.mk).
>    *** Error code 1
>    
>    Stop in /usr/ports/devel/glib2 (line 2980 of /usr/ports/infrastructure/mk/bsd.port.mk).
>    
>

--
"Intelligence should guide our actions, but in harmony with the
  texture of the situation at hand"
        -- Francisco Varela

Reply | Threaded
Open this post in threaded view
|

Re: Problem doing an upgrade from Ports on Glib2

Aaron W. Hsu
In reply to this post by Aaron W. Hsu
Jasper,

Thanks for your reply...

        > And my attempt to remove that old library:

        with what commad are you removing that old library? obviously
        not pkg_delete. that would solve the problem actually...

I was just attempting to rm the main one.  Reading through the the
pkg_delete man page, I cannot find a way to delete the glib2 package
without also deleting all of its dependencies.  If you know some
way to do this, I am all ears.

Nonetheless, shouldn't a ports update go through smoothly without
breaking?  This seems like a problem with the port assuming a clean
system.

        Aaron Hsu

Reply | Threaded
Open this post in threaded view
|

Re: Problem doing an upgrade from Ports on Glib2

Landry Breuil-5
On Wed, Nov 05, 2008 at 02:19:15AM -0500, Aaron W. Hsu wrote:

> Jasper,
>
> Thanks for your reply...
>
>         > And my attempt to remove that old library:
>
>         with what commad are you removing that old library? obviously
>         not pkg_delete. that would solve the problem actually...
>
> I was just attempting to rm the main one.  Reading through the the
> pkg_delete man page, I cannot find a way to delete the glib2 package
> without also deleting all of its dependencies.  If you know some
> way to do this, I am all ears.

Get real.. ports depending on glib2 are built _against_ this glib2. If
you remove the old version and install a new one (with a major bump),
you really think these ports will get along with that ?

The solution is to delete glib2, note the depending ports, and rebuild
them against the new glib2. Or wait for a snapshot.

> Nonetheless, shouldn't a ports update go through smoothly without
> breaking?  This seems like a problem with the port assuming a clean
> system.

No. For some big ports like that, it's generally impossible. using
pkg_add -r will keep the old libraries around for dependencies in
.libs-glib2-xxxx, and they will still be picked up by the build.

And anyway, the 'supported' update is pkg_add -ui.

Landry

Reply | Threaded
Open this post in threaded view
|

Re: Problem doing an upgrade from Ports on Glib2

Marc Espie-2
In reply to this post by Aaron W. Hsu
On Wed, Nov 05, 2008 at 02:19:15AM -0500, Aaron W. Hsu wrote:
> Nonetheless, shouldn't a ports update go through smoothly without
> breaking?  This seems like a problem with the port assuming a clean
> system.

No, it's a problem with libtool being fucked-up, which is why we're developping
a replacement.

We're also recommending end-users use binary packages for a reason.

Specifically, because of that libtool fuck-up, among other things, you will
very often have to wipe your system clean if you want to recompile from
source.



Event though it's not finished, if you're running -current, you can try
make LIBTOOL=/usr/ports/infrastructure/build/libtool

It might work... or not.