On Fri, Apr 11, 2008 at 09:45:00AM +0100, Pedro de Oliveira wrote: > Hello, > > Can anyone explain me why it is impossible to upgrade /devel/glib2/ via > ports without complettly removing it first?
because the installed libraries get found before the newly built libraries; library path search order issue. blame libtool. I gave them a patch. they "cleaned it up" to the point that it no longer did what it was supposed to. > If you make a normal "make update" it fails during compilation, but if you > pkg_del the current version, and try to build it, it compiles. > > ...snip... > /usr/local/bin/libtool --tag=CC --mode=link cc -O2 -pipe -Wall > -L/usr/local/lib -o gtester gtester.o libglib-2.0.la -lintl -liconv > cc -O2 -pipe -Wall -o .libs/gtester gtester.o -L/usr/local/lib -L./.libs > -lglib-2.0 -lpcre -lintl -liconv -Wl,-rpath,/usr/local/lib > /usr/local/lib/libglib-2.0.so.1400.3: warning: vsprintf() is often misused, > please use vsnprintf() > /usr/local/lib/libglib-2.0.so.1400.3: warning: strcpy() is almost always > misused, please use strlcpy() > /usr/local/lib/libglib-2.0.so.1400.3: warning: strcat() is almost always > misused, please use strlcat() > gtester.o(.text+0x56c): In function `child_report_cb': > : undefined reference to `g_test_log_buffer_push' > gtester.o(.text+0x574): In function `child_report_cb': > : undefined reference to `g_test_log_buffer_pop' > gtester.o(.text+0x592): In function `child_report_cb': > : undefined reference to `g_test_log_msg_free' > gtester.o(.text+0x8f1): In function `launch_test_binary': > : undefined reference to `g_test_log_buffer_new' > gtester.o(.text+0x9fe): In function `launch_test_binary': > : undefined reference to `g_test_log_buffer_free' > gtester.o(.text+0x14ff): In function `fixture_setup': > : undefined reference to `g_assertion_message_cmpnum' > gtester.o(.text+0x152e): In function `fixture_test': > : undefined reference to `g_test_message' > gtester.o(.text+0x153a): In function `fixture_test': > : undefined reference to `g_test_bug_base' > gtester.o(.text+0x1546): In function `fixture_test': > : undefined reference to `g_test_bug' > gtester.o(.text+0x1552): In function `fixture_test': > : undefined reference to `g_test_bug_base' > gtester.o(.text+0x15b1): In function `fixture_test': > : undefined reference to `g_assertion_message_cmpnum' > gtester.o(.text+0x1626): In function `fixture_teardown': > : undefined reference to `g_assertion_message_cmpnum' > gtester.o(.text+0x1645): In function `main_selftest': > : undefined reference to `g_test_init' > gtester.o(.text+0x1664): In function `main_selftest': > : undefined reference to `g_test_add_vtable' > gtester.o(.text+0x166c): In function `main_selftest': > : undefined reference to `g_test_run' > gtester.o(.text+0x1565): In function `fixture_test': > : undefined reference to `g_test_bug' > collect2: ld returned 1 exit status > gmake[4]: *** [gtester] Error 1 > ...snip... > > My problem is that to remove glib2, I also have to remove all the packages > that depend on it. you have to rebuild/reinstall anything using glib2 eventually anyway, or else all your programs will keep using the old glib2 libraries. > So, can anyone tell me why does this happen? this has also been discussed in the archives ... several times. > Thanks > -- [EMAIL PROTECTED] SDF Public Access UNIX System - http://sdf.lonestar.org

