# nss compile schlägt fehl

## lonF

Hallo allerseits,

ich hab mal wieder ein Problem. Wie bereits geschrieben. Schlägt das compilieren von nss fehl.

Folgende Fehlermeldung bekomme ich.

```

../../../dbm/src/db.c:76: error: syntax error before "dbopen"

../../../dbm/src/db.c:77: warning: return type defaults to `int'

../../../dbm/src/db.c: In function `dbopen':

../../../dbm/src/db.c:84: warning: return makes integer from pointer without a cast

../../../dbm/src/db.c:114: error: syntax error before "HASHINFO"

../../../dbm/src/db.c:119: warning: return makes integer from pointer without a cast

make[1]: *** [Linux2.6_x86_glibc_PTH_OPT.OBJ/db.o] Error 1

make[1]: Leaving directory `/var/tmp/portage/nss-3.11.3/work/nss-3.11.3/mozilla/security/dbm/src'

make: *** [libs] Error 2

!!! ERROR: dev-libs/nss-3.11.3 failed.

Call stack:

ebuild.sh, line 1546:   Called dyn_compile

ebuild.sh, line 937:   Called src_compile

nss-3.11.3.ebuild, line 51:   Called die

!!! dbm make failed

!!! If you need support, post the topmost build error, and the call stack if relevant.

```

Also für Hilfe währe ich sehr dankbar.

gcc-3.4.6

glibc-2.4

Und nun muß ich noch mal umbooten und nach Compiler- und glibc-Version schauen.

Gruß Steven

----------

## lonF

Hallo,

hat keiner ne Idee?

Hab schon das ganze Forum durchsucht, aber nix gefunden was mir weiterhelfen könnte.

Also Problem besteht noch. Falls noch irgendetwas benötigt wird. Bescheid sagen.

Vielleicht noch als Hinweis, da nss ja vom Firefox benötigt wird soviel ich weis.

Mein aktuell installierter Fuchs läuft nicht, da er eine Library nicht laden kann. Und zwar ist es die liblpds4* glaub ich.

Muß ich heut abend nochmal genau nachschauen.

Gefunden hab ich die Library auf meinem System nur einmal und zwar in einem OpenOffice-Ordner.

Gruß Steven

----------

## Finswimmer

Mach mal ein:

revdep-rebuild

Und gib uns bitte mal ein: emerge --info

Tobi

----------

## lonF

Hallo,

also ein revdep-rebuild sagt mir das es viele libraries gibt die broken sind.

Aber es bringt nicht wirklich was, da er versucht das nss zu compilen und da kkommt die oben gepostete

Fehlermeldung.

Hier nun noch emerge --info

```

Gentoo Base System version 1.12.5

Portage 2.1.1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.4-r3, 2.6.12-gentoo-r10 i686)

=================================================================

System uname: 2.6.12-gentoo-r10 i686 Intel(R) Pentium(R) M processor 1600MHz

Last Sync: Thu, 05 Oct 2006 19:30:01 +0000

app-admin/eselect-compiler: [Not Present]

dev-java/java-config: 1.3.7, 2.0.30

dev-lang/python:     2.3.5-r2, 2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     [Not Present]

dev-util/confcache:  [Not Present]

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.59-r7

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.13-r4

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r1

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -mcpu=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -mcpu=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LINGUAS=""

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 X alsa apache2 apm arts berkdb bitmap-fonts cdr cli crypt cups dlloader dri dvd eds elibc_glibc emboss encode esd foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kernel_linux libg++ libwww mad mikmod motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png pppd python qt3 qt4 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts udev userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo vorbis xml xmms xorg xv zlib"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

Gruß Steven

----------

## tuxianer

Hi,

mal ne Frage hast du den compiler auf gcc-4.1.1 gewechselt wenn ja dann hast du was falsch gemacht , denn in emerge --info steht noch der alte Compiler allerdings das neue glibc und das braucht den neuen compiler zumindest habe ich das gelesen  :Wink:  .

Aber sonst mach doch mal das upgrade auf das neue GCC:

```

# emerge -uav gcc

(Please substitute "i686-pc-linux-gnu-4.1.1" with the GCC

version and CHOST settings you've upgraded to:)

# gcc-config i386-pc-linux-gnu-4.1.1

# source /etc/profile

If you upgraded from gcc 3 to 4 (e.g. from 3.4.6 to 4.1.1 in this

example) you will have to run fix_libtool_files.sh manually

# fix_libtool_files.sh 3.4.6

(Rebuilding libtool)

# emerge --oneshot -av libtool

Rebuilding system

Code:

# emerge -eav system

# emerge -eav world

Und den alten gcc deinstallen;

Code:

emerge -aC =sys-devel/gcc-3.4*

```

Und dann nochmal versuchen beim -eav world sollte das vll. nicht mehr failen  :Smile:  .

MfG

----------

## lonF

Hallo,

also das war schonmal nicht schlecht hab da wirklich mißt gemacht.

Aber, beim emerge -eav world bricht er trotzdem beim compilieren von nss trotzdem ab.

Gruß Steven

----------

## benjamin200

versuch doch erstmal das system neuzubauen

```

emerge -e system

```

----------

## lonF

Hallo,

hab ich. Sorry das ich das nicht erwähnt habe.

sys lief durch ohne Probleme.

Beim world verliessen Sie Ihn beim nss.

Gruß Steven

----------

## benjamin200

falls du sys-libs/gdbm installiert hast, versuch das vor nss neuzukompilieren

```

emerge -e sys-libs/gdbm

```

----------

## lonF

Hallo,

also gdbm neu zu emergen hat es auch nicht gebracht.

Also das Prob ist noch nicht gelöst.  :Sad: 

Gruß Steven

----------

## lonF

Hallo,

ich bins nochmal. Also das Prob ist noch nicht gelöst und mir fällt nix mehr.

Hat niemand mehr eine Idee was da schief läuft.

Wie gesagt das System ansich läuft. Ein emerge -eav system lief ohne Probleme durch.

Nur beim World hört er bei nss auf.

Hab versucht Firefox so zu emergen, hat aber auch nicht geklappt. Bei emerge -ev mozilla-firefox hört er ebenfalls beim nss auf.

Bin mittlerweile richtig wirklich ratlos.

Gruß Steven

----------

## lonF

Hallo,

hier ich nochmal. Also ich bekomm das einfach nicht auf die Reihe. Hab hier noch mal die komplete Fehlermeldung und noch mal emerge --info.

Fehlermeldung:

```

gcc -o Linux2.6_x86_glibc_PTH_OPT.OBJ/db.o -c -O2 -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1  -ansi -Wall -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT -DSTDC_HEADERS -DHAVE_STRERROR -DHAVE_SNPRINTF -DHAVE_SYS_CDEFS_H -DMEMMOVE -D__DBINTERFACE_PRIVATE  -I../../dist/Linux2.6_x86_glibc_PTH_OPT.OBJ/include  -I../../dist/public/dbm -I../../dist/private/dbm -I//usr/include/nspr -I../../dist/Linux2.6_x86_glibc_PTH_OPT.OBJ/include/dbm -I../../../dbm/include  ../../../dbm/src/db.c

In file included from ../../../dbm/src/db.c:54:

../../dist/public/dbm/mcom_db.h:46:21: error: prtypes.h: No such file or directory

In file included from ../../../dbm/src/db.c:54:

../../dist/public/dbm/mcom_db.h:239: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pgno_t'

../../dist/public/dbm/mcom_db.h:243: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'indx_t'

../../dist/public/dbm/mcom_db.h:245: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'recno_t'

../../dist/public/dbm/mcom_db.h:312: error: expected specifier-qualifier-list before 'uint32'

../../dist/public/dbm/mcom_db.h:333: error: expected specifier-qualifier-list before 'uint32'

../../dist/public/dbm/mcom_db.h:343: error: expected specifier-qualifier-list before 'uint32'

../../dist/public/dbm/mcom_db.h:406: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PR_EXTERN'

../../../dbm/src/db.c:57: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int'

../../../dbm/src/db.c: In function 'dbSetOrClearDBLock':

../../../dbm/src/db.c:66: error: 'all_databases_locked_closed' undeclared (first use in this function)

../../../dbm/src/db.c:66: error: (Each undeclared identifier is reported only once

../../../dbm/src/db.c:66: error: for each function it appears in.)

../../../dbm/src/db.c: At top level:

../../../dbm/src/db.c:76: warning: return type defaults to 'int'

../../../dbm/src/db.c: In function 'PR_IMPLEMENT':

../../../dbm/src/db.c:76: error: expected declaration specifiers before 'dbopen'

../../../dbm/src/db.c:124: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token

../../../dbm/src/db.c:136: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token

../../../dbm/src/db.c:74: error: parameter name omitted

../../../dbm/src/db.c:144: error: expected '{' at end of input

make[1]: *** [Linux2.6_x86_glibc_PTH_OPT.OBJ/db.o] Error 1

make[1]: Leaving directory `/var/tmp/portage/nss-3.11.3/work/nss-3.11.3/mozilla/security/dbm/src'

make: *** [libs] Error 2

!!! ERROR: dev-libs/nss-3.11.3 failed.

Call stack:

  ebuild.sh, line 1546:   Called dyn_compile

    ebuild.sh, line 937:   Called src_compile

      nss-3.11.3.ebuild, line 51:   Called die

      !!! dbm make failed

      !!! If you need support, post the topmost build error, and the call stack if relevant.

```

emerge --info

```

Gentoo Base System version 1.12.5

Portage 2.1.1 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 i686)

=================================================================

System uname: 2.6.17-gentoo-r8 i686 Intel(R) Pentium(R) M processor 1600MHz

Last Sync: Thu, 12 Oct 2006 19:00:09 +0000

app-admin/eselect-compiler: [Not Present]

dev-java/java-config: 1.3.7, 2.0.30

dev-lang/python:     2.3.5-r2, 2.4.3-r4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     [Not Present]

dev-util/confcache:  [Not Present]

sys-apps/sandbox:    1.2.17

sys-devel/autoconf:  2.13, 2.59-r7

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2

sys-devel/binutils:  2.16.1-r3

sys-devel/gcc-config: 1.3.13-r4

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r1

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"

CXXFLAGS="-O2 -march=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LINGUAS=""

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 X alsa apache2 apm arts berkdb bitmap-fonts cdr cli crypt cups dlloader dri dvd eds elibc_glibc emboss encode esd foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kernel_linux libg++ libwww mad mikmod motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png pppd python qt3 qt4 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts udev userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo vorbis xml xmms xorg xv zlib"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

Auch wenn es nur ein Schuss ins blaue ist. Bitte postet alles was mir helfen könnte.

Gruß Steven

----------

## Finswimmer

Such mal raus, in welchem Paket die Datei "prtypes.h" ist.

Die brauchst du.

Tobi

----------

## psyqil

Mein Tip: dev-libs/nspr.

----------

## lonF

Hallo,

also die Datei ist bei nspr dabei, aber ich hab nspr schon x-mal neu emerged.

Also was soll ich tun? Hab schon versucht den Ordner nsprpub in das nss tmp-Verzeichnis zu kopieren

und dann nss zu mergen, aber leider wird ja alles neu entpackt und dann fehlt der Ordner wieder.

Und im /usr/include ist auch nix zu finden.

Also bei mir zeigt sich nen großes Fragezeichen.

Gruß Steven

----------

