mono Installation - gdiplus fehlt und läßt sich nicht nachinstallieren

Hallo,
ich habe ein update auf /usr/ports/lang/mono gemacht. Das ist auch durchgelaufen. Aber dann musste ich feststellen das die Library libgdiplus fehlt.
Wenn ich den Port nochmal installiere enthält make's output die folgende Meldung:
Libraries:
libgdiplus: assumed to be installed
aber mit
#locate libgdiplus
ist keine Installation zu finden. Auch mit
#pkg_info -a | grep libgdi
nichts...

Ich habe dann versucht die Libraray nach zu installieren:
#cd /usr/ports/x11-toolkits/libgdiplus
#make install clean
aber hier gibt es einen Linker-Fehler und ich kann diesen nicht beheben:
Code:
....
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/src'
Making all in tests
gmake[2]: Entering directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/tests'
/bin/sh ../libtool --tag=CC   --mode=link cc  -D_THREAD_SAFE -O2 -pipe -fno-strict-aliasing -pthread  -L/usr/local/lib -o testgdi testgdi.o ../src/libgdiplus.la -lfontconfig 
libtool: link: cc -D_THREAD_SAFE -O2 -pipe -fno-strict-aliasing -pthread -o .libs/testgdi testgdi.o  -L/usr/local/lib ../src/.libs/libgdiplus.so /usr/local/lib/libglib-2.0.so -licui18n /usr/local/lib/libpcre.so /usr/local/lib/libcairo.so /usr/local/lib/libpixman-1.so /usr/local/lib/libxcb-shm.so /usr/local/lib/libxcb-render.so -lGL /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libxcb.so /usr/local/lib/libXau.so /usr/local/lib/libXdmcp.so /usr/local/lib/libpthread-stubs.so -lrpcsvc /usr/local/lib/libtiff.so -llzma -ljbig /usr/local/lib/libjpeg.so /usr/local/lib/libungif.so -lpng /usr/local/lib/libexif.so /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lm /usr/local/lib/libfontconfig.so /usr/local/lib/libfreetype.so -lz -lbz2 /usr/local/lib/libexpat.so -pthread -Wl,-rpath -Wl,/usr/local/lib
/usr/bin/ld: warning: libbz2.so.4, needed by /usr/local/lib/libfreetype.so, 
may conflict with libbz2.so.1
testgdi.o(.text+0x29): In function `win_draw':
: undefined reference to `GdipCreateFromXDrawable_linux'
gmake[2]: *** [testgdi] Fehler 1
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/tests'
gmake[1]: *** [all-recursive] Fehler 1
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10'
gmake: *** [all] Fehler 2
*** Error code 1

Ich glaube der Fehler liegt hier "/usr/bin/ld: warning: libbz2.so.4, needed by /usr/local/lib/libfreetype.so, may conflict with libbz2.so.1"

Aber wie kann man so einen "conflict" lösen? libfreetype hat mehrere Abhängigkeiten.
 
Zuletzt bearbeitet:
Hi,
ich habe inzwischen folgendes versucht:
Code:
#pkg_libchk [-a]
misses libraries (30.04.2012):
-----------------------------
-misc/compat7x	                       /usr/local/bin/NNNNN misses libXYZ.so.N
-java/diablo-jdk16		       etc...
-print/freetype-tools
-www/libwww
-security/p5-Crypt-OpenSSL-Bignum
-security/p5-Crypt-OpenSSL-Random
-security/p5-Crypt-SSLeay

dann Update auf alle Packages gemacht

#portupgrade -ufvn <package> #Test
#portupgrade -ufv  <package>

immer wieder
#pkgdb -L

und
#pkg_libchk

bis nichts mehr gefunden wurde

und dann noch 
#portupgrade -uf bzip2

Aber die Fehlermeldung ist immer noch da und der Port installiert nicht:
Code:
/usr/ports/x11-toolkits/libgdiplus] => make clean
/usr/ports/x11-toolkits/libgdiplus] => make
===>  Patching for libgdiplus-2.10_1
===>   libgdiplus-2.10_1 depends on executable: gmake - found
===>   libgdiplus-2.10_1 depends on executable: pkg-config - found
===>   libgdiplus-2.10_1 depends on file: /usr/local/libdata/xorg/libraries - found
===>   libgdiplus-2.10_1 depends on shared library: tiff.4 - found
===>   libgdiplus-2.10_1 depends on shared library: gif.5 - found
===>   libgdiplus-2.10_1 depends on shared library: png.6 - found
===>   libgdiplus-2.10_1 depends on shared library: glib-2.0.0 - found
===>  Configuring for libgdiplus-2.10_1
...
---
Configuration summary

   * Installation prefix = /usr/local
   * Cairo = 1.10.2 (system)
   * Text = cairo
   * EXIF tags = yes
   * Codecs supported:

      - TIFF: yes
      - JPEG: yes
      - GIF: yes
      - PNG: yes
      NOTE: if any of the above say 'no' you may install the
            corresponding development packages for them, rerun
            autogen.sh to include them in the build.
---
===>  Building for libgdiplus-2.10_1
gmake  all-recursive
gmake[1]: Entering directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10'
Making all in src......................
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/src'

Making all in tests
gmake[2]: Entering directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/tests'
cc -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I../src -I/usr/local/include/glib-2.0   -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/cairo -I/usr/local/include/glib-2.0 -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng -I/usr/local/include/drm    -I/usr/local/include   -I/usr/local/include/freetype2 -I/usr/local/include   -D_THREAD_SAFE -I/usr/local/include   -I/usr/local/include    -I/usr/local/include  -D_THREAD_SAFE -O2 -pipe -fno-strict-aliasing -pthread -MT testgdi.o -MD -MP -MF .deps/testgdi.Tpo -c -o testgdi.o testgdi.c
mv -f .deps/testgdi.Tpo .deps/testgdi.Po
/bin/sh ../libtool --tag=CC   --mode=link cc  -D_THREAD_SAFE -O2 -pipe -fno-strict-aliasing -pthread  -L/usr/local/lib -o testgdi testgdi.o ../src/libgdiplus.la -lfontconfig 
libtool: link: cc -D_THREAD_SAFE -O2 -pipe -fno-strict-aliasing -pthread -o .libs/testgdi testgdi.o  -L/usr/local/lib ../src/.libs/libgdiplus.so /usr/local/lib/libglib-2.0.so -licui18n /usr/local/lib/libpcre.so /usr/local/lib/libcairo.so /usr/local/lib/libpixman-1.so /usr/local/lib/libxcb-shm.so /usr/local/lib/libxcb-render.so -lGL /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libxcb.so /usr/local/lib/libXau.so /usr/local/lib/libXdmcp.so /usr/local/lib/libpthread-stubs.so -lrpcsvc /usr/local/lib/libtiff.so -llzma -ljbig /usr/local/lib/libjpeg.so /usr/local/lib/libungif.so -lpng /usr/local/lib/libexif.so /usr/local/lib/libintl.so /usr/local/lib/libiconv.so -lm /usr/local/lib/libfontconfig.so /usr/local/lib/libfreetype.so -lz -lbz2 /usr/local/lib/libexpat.so -pthread -Wl,-rpath -Wl,/usr/local/lib
/usr/bin/ld: warning: libbz2.so.4, needed by /usr/local/lib/libfreetype.so, may conflict with libbz2.so.1
testgdi.o(.text+0x29): In function `win_draw':
: undefined reference to `GdipCreateFromXDrawable_linux'
gmake[2]: *** [testgdi] Fehler 1
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/tests'
gmake[1]: *** [all-recursive] Fehler 1
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10'
gmake: *** [all] Fehler 2
*** Error code 1

Stop in /usr/ports/x11-toolkits/libgdiplus.
Wie kann man das Problem lösen? Danke!
 
Hallo
hier nochmal die Fehlermeldung, etwas übersichtlicher:
Code:
gmake[2]: Entering directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/tests'
cc -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -I../src
                                          -I/usr/local/include/glib-2.0
                                          -D_REENTRANT
                                          -D_THREAD_SAFE
                                          -I/usr/local/include/cairo
                                          -I/usr/local/include/glib-2.0
                                          -I/usr/local/include/pixman-1
                                          -I/usr/local/include
                                          -I/usr/local/include/freetype2
                                          -I/usr/local/include/libpng
                                          -I/usr/local/include/drm
                                          -I/usr/local/include
                                          -I/usr/local/include/freetype2
                                          -I/usr/local/include
                                          -D_THREAD_SAFE
                                          -I/usr/local/include
                                          -I/usr/local/include
                                          -I/usr/local/include
                                          -D_THREAD_SAFE
                                          -O2
                                          -pipe
                                          -fno-strict-aliasing
                                          -pthread -MT testgdi.o
                                          -MD -MP -MF .deps/testgdi.Tpo
                                          -c -o testgdi.o 					testgdi.c

mv -f .deps/testgdi.Tpo .deps/testgdi.Po
/bin/sh ../libtool --tag=CC
                   --mode=link cc  -D_THREAD_SAFE
                                   -O2
                                   -pipe
                                   -fno-strict-aliasing
                                   -pthread
								   -L/usr/local/lib
	   -o testgdi testgdi.o ../src/libgdiplus.la
	   -lfontconfig

libtool: link: cc -D_THREAD_SAFE
                  -O2
                  -pipe
                  -fno-strict-aliasing
                  -pthread
                  -o .libs/testgdi testgdi.o
                  -L/usr/local/lib ../src/.libs/libgdiplus.so  /usr/local/lib/libglib-2.0.so
                  -licui18n         /usr/local/lib/libpcre.so
                                    /usr/local/lib/libcairo.so
                                    /usr/local/lib/libpixman-1.so
                                    /usr/local/lib/libxcb-shm.so
                                    /usr/local/lib/libxcb-render.so
                                    -lGL /usr/local/lib/libXrender.so
                                         /usr/local/lib/libX11.so
                                         /usr/local/lib/libxcb.so
                                         /usr/local/lib/libXau.so
                                         /usr/local/lib/libXdmcp.so
                                         /usr/local/lib/libpthread-stubs.so
                                    -lrpcsvc /usr/local/lib/libtiff.so
                                    -llzma
                                    -ljbig /usr/local/lib/libjpeg.so
                                           /usr/local/lib/libungif.so
                                    -lpng  /usr/local/lib/libexif.so
                                           /usr/local/lib/libintl.so
                                           /usr/local/lib/libiconv.so
                                    -lm /usr/local/lib/libfontconfig.so
                                        /usr/local/lib/libfreetype.so
                                    -lz
                                    -lbz2 /usr/local/lib/libexpat.so
                                    -pthread
                                    -Wl,
                                    -rpath
                                    -Wl,/usr/local/lib

/usr/bin/ld: warning: libbz2.so.4, needed by /usr/local/lib/libfreetype.so,
                      may conflict with libbz2.so.1
                      testgdi.o(.text+0x29): In function `win_draw':
                                           : undefined reference to `GdipCreateFromXDrawable_linux'

gmake[2]: *** [testgdi] Fehler 1
gmake[2]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10/tests'

gmake[1]: *** [all-recursive] Fehler 1
gmake[1]: Leaving directory `/usr/ports/x11-toolkits/libgdiplus/work/libgdiplus-2.10'

gmake: *** [all] Fehler 2
*** Error code 1

Ich habe heraus gefunden, dass die library zwar erstellt wird, aber der Test mit 'testgdi' wegen irgendwelchen Linker-Problemen hängen bleibt.

Folgende Lösung hat vorerst das Problem behoben:
Code:
Beispiel library (bereits vorhanden)
#ll /usr/local/lib/libb*
  -r--r--r-- 1 root wheel 76094 Apr 30 22:05 libbz2.a
  lrwxr-xr-x 1 root wheel    26 Apr 30 22:05 libbz2.so -> /usr/local/lib/libbz2.so.1
  -r--r--r-- 1 root wheel 70219 Apr 30 22:05 libbz2.so.1

Und analog libgdiplus rüber kopieren:

# cp work/libgdiplus-2.10/src/.libs/libgdiplus.a /usr/local/lib/libgdiplus.a
# cp work/libgdiplus-2.10/src/.libs/libgdiplus.so.0 /usr/local/lib/libgdiplus.so.0

# ll /usr/local/lib/libgdi*
--> OK

# chmod 444 /usr/local/lib/libgdiplus.a
# chmod 444 /usr/local/lib/libgdiplus.so.0

# ln -s /usr/local/lib/libgdiplus.so.0 /usr/local/lib/libgdiplus.so
# ll /usr/local/lib/libgdi*
   -r--r--r-- 1 root wheel 659612 Mai  5 20:06 /usr/local/lib/libgdiplus.a
   lrwxr-xr-x 1 root wheel     30 Mai  5 20:10 /usr/local/lib/libgdiplus.so -

#  /usr/local/lib/libgdiplus.so.0
   -r--r--r-- 1 root wheel 467717 Mai  5 20:06 /usr/local/lib/libgdiplus.so.0

im 'shared library cache' bekannt machen
# ldconfig -R
# ldconfig -r | grep libgdi
 --> 398:-lgdiplus.0 => /usr/local/lib/libgdiplus.so.0

Apache neu gestartet und die einfache mono-WebSeite mit MVC2 läuft wieder.
----------------------------------
ich dachte ich poste mal die gefundene Lösung - aber ob das auf Dauer ok ist weis ich noch nicht.
 
Zuletzt bearbeitet:
Zurück
Oben