sillysloft / fluxbox

Fluxbox Window Manager (Mirror)
http://fluxbox.org/news/
Other
0 stars 1 forks source link

build probs on Solaris 5.8 #125

Open sillysloft opened 21 years ago

sillysloft commented 21 years ago

I tried to build on my Solaris machine at work and had these 3 problems.

environment SunOS 5.8 sun4u sparc SUNW,Sun-Blade-100 GCC 3.0.3 Gnu Make 3.79.1

SUMMARY: 1.14 - undefined symbol "B_European" 1.13 - "id" command incorrect 1.10 through 1.14 - "warning: ignoring #pragma ident"

--- 1.14: fluxbox.cc: In member function `void Fluxbox::save_rc()': fluxbox.cc:1976: `B_EuropeanDate' undeclared (first use this function) fluxbox.cc:1976: (Each undeclared identifier is reported only once for each function it appears in.) fluxbox.cc: In member function `void Fluxbox::load_rc(BScreen*)': fluxbox.cc:2324: `B_AmericanDate' undeclared (first use this function)

versions 1.10 through 1.13 didn't have this problem only 1.14

--- 1.13: gmake[3]: Entering directory `/build/fluxbox-0.1.13/data' ../util/fluxbox-generate_menu -o menu -p /usr/local/share -m "Fluxbox-0.1.13" id: illegal option -- u Usage: id [-ap] [user] ../util/fluxbox-generate_menu: test: argument expected gmake[3]: *** [menu] Error 1 gmake[3]: Leaving directory `/build/fluxbox-0.1.13/data' gmake[2]: *** [all-recursive] Error 1

For some reason this looks like a OS dependecy bug for use of the "id" command, which only happens in 1.13

--- Another thing that I saw on all version is this set of warning messages that pops up for every source file compiled:

gmake[2]: Leaving directory `/build/fluxbox-0.1.12/nls' Making all in src gmake[2]: Entering directory `/build/fluxbox-0.1.12/src' source='BaseDisplay.cc' object='BaseDisplay.o' libtool=no \ depfile='.deps/BaseDisplay.Po' tmpdepfile='.deps/BaseDisplay.TPo' \ depmode=gcc3 /bin/bash ../depcomp \ g++ -DHAVE_CONFIG_H -I. -I. -I.. -Wall -DLOCALEPATH=\"/usr/local/share/fluxbox/nls\" -DDEFAULTMENU=\"/usr/local/share/fluxbox/menu\" -DDEFAULTSTYLE=\"/usr/local/share/fluxbox/styles/Clean\" -DDEFAULTKEYSFILE=\"/usr/local/share/fluxbox/keys\" -DDEFAULT_INITFILE=\"/usr/local/share/fluxbox/init\" -g -O2 -I/usr/openwin/include -DSHAPE -DSLIT -DINTERLACE -fno-inline -DNLS -DTIMEDCACHE -c -o BaseDisplay.o `test -f 'BaseDisplay.cc' || echo './'`BaseDisplay.cc In file included from BaseDisplay.hh:33, from BaseDisplay.cc:29: /usr/openwin/include/X11/Xlib.h:32: warning: ignoring #pragma ident In file included from BaseDisplay.cc:42: /usr/openwin/include/X11/Xutil.h:56: warning: ignoring #pragma ident

All the warnings are from these 2 lines: /usr/openwin/include/X11/Xresource.h:56: warning: ignoring #pragma ident /usr/openwin/include/X11/Xlib.h:32: warning: ignoring #pragma ident

Reported by: jasonp_ob

sillysloft commented 21 years ago

Original comment by: rathnor

sillysloft commented 21 years ago

Logged In: YES user_id=603593

Hi,

Problem 1: B_EuropeanDate - I actually fixed this a day or 2 ago (in cvs). It is because you don't have strftime (or it can't find it), and the handling for that case was broken. The best way to get around it (if you don't want to use CVS) is to get, or find strftime.

Problem 2: id not working I'm pretty sure we fixed this for 0.1.14... yup. You could just copy the .14 one into wherever if you wanted.

Problem 3: pragma ident warnings If you look closely, you'll see that the warnings are actually generated by the X header files, which are included in pretty much all sources. The problem is a solaris thing,. But just ignore them - they are harmless. (The solaris machines I have access to (2.6) actually die, and I need to export CFLAGS=-fpermissive to turn the errors into warnings).

Original comment by: rathnor

sillysloft commented 21 years ago

Logged In: YES user_id=792802

I have the same problem with SuSE Linux 8.2

fluxbox.cc: In member function `void Fluxbox::save_rc()': fluxbox.cc:1976: `B_EuropeanDate' undeclared (first use this function) fluxbox.cc:1976: (Each undeclared identifier is reported only once for each function it appears in.) fluxbox.cc: In member function `void Fluxbox::load_rc(BScreen*)': fluxbox.cc:2324: `B_AmericanDate' undeclared (first use this function)

Original comment by: locutus266

sillysloft commented 21 years ago

Logged In: YES user_id=603593

That is because of: 1) .14 doesn't build without strftime (this has been fixed in more recent devel versions) 2) gcc 3.3 as distributed with suse 8.2 has a bug which causes the strftime autoconf test to (erroneously) fail. The workaround is to edit config.h (after running configure), and replace: /* #undef HAVE_STRFTIME */ with: #define HAVE_STRFTIME 1

then run make. I think you still get an error about assert not defined in FbRun.cc, to fix that just add #include <cassert> to the top of the FbRun.cc file.

Original comment by: rathnor