pombreda / google-gadgets-for-linux

Automatically exported from code.google.com/p/google-gadgets-for-linux
Apache License 2.0
0 stars 0 forks source link

[Solaris] build problem (isnan/isinf) #122

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I'm trying to build ggadgets on solaris (snv_86), I get this error:

[  1%] Building CXX object ggadget/CMakeFiles/ggadget.dir/basic_element.o
/data/google-gadgets-for-linux-read-only/ggadget/basic_element.cc: In
static member function `static
ggadget::BasicElement::ParsePixelOrRelativeResult
ggadget::BasicElement::ParsePixelOrRelative(const ggadget::Variant&, double*)':
/data/google-gadgets-for-linux-read-only/ggadget/basic_element.cc:1813:
error: `isnan' is not a member of `std'
/data/google-gadgets-for-linux-read-only/ggadget/basic_element.cc:1813:
error: `isinf' is not a member of `std'
make[2]: *** [ggadget/CMakeFiles/ggadget.dir/basic_element.o] Error 1
make[1]: *** [ggadget/CMakeFiles/ggadget.dir/all] Error 2
make: *** [all] Error 2

Ideas ?
thanks

Original issue reported on code.google.com by andras.b...@gmail.com on 5 Jun 2008 at 5:15

GoogleCodeExporter commented 9 years ago
add #include <math.h> to the file.

Original comment by hfigui...@gmail.com on 5 Jun 2008 at 3:23

GoogleCodeExporter commented 9 years ago
not helps,
-bash-3.2# ggrep -e "\bisnan\b" math.h 
extern int isnan __P((double));
#pragma does_not_read_global_data(isnan)
#pragma does_not_write_global_data(isnan)
#pragma no_side_effect(isnan)
-bash-3.2# 

I googled a lot in the topic but not found good solution

Original comment by andras.b...@gmail.com on 6 Jun 2008 at 9:37

GoogleCodeExporter commented 9 years ago
Oh, I must be in the wrong section, this must be google-gadgets-for-solaris 
section.

Original comment by shawn.mc...@gmail.com on 6 Jun 2008 at 3:16

GoogleCodeExporter commented 9 years ago
I'm sorry, somebody can delete "# Port to other X-Window based and UNIX like
operation systems, such as OpenSolaris and FreeBSD" from TODO then? thanks

Original comment by andras.b...@gmail.com on 6 Jun 2008 at 3:24

GoogleCodeExporter commented 9 years ago
Please try 0.9.2, the problem should have been fixed.

Original comment by james...@gmail.com on 7 Jun 2008 at 1:46

GoogleCodeExporter commented 9 years ago
thanks, i have another one problem, should i open a new issue or track it/them 
here?

 g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -D__STDC_CONSTANT_MACROS -DNDEBUG
-DGGL_MODULE_DIR=\"/usr/lib/google-gadgets/modules\"
-DGGL_INCLUDE_DIR=\"/usr/include/google-gadgets\"
-DGGL_SYSDEPS_INCLUDE_DIR=\"/usr/lib/google-gadgets/include\"
-DGGL_LIBEXEC_DIR=\"/usr/lib/google-gadgets\"
-DGGL_RESOURCE_DIR=\"/usr/share/google-gadgets\" -DGGL_HOST_SOLARIS=1 
-DHAVE_X11=1
-DHAVE_PTHREAD=1 -O2 -Wall -Wconversion -Werror -MT
libggadget-1.0_la-extension_manager.lo -MD -MP -MF
.deps/libggadget-1.0_la-extension_manager.Tpo -c extension_manager.cc  -fPIC 
-DPIC -o
.libs/libggadget-1.0_la-extension_manager.o
extension_manager.cc: In member function `virtual bool
ggadget::ElementExtensionRegister::RegisterExtension(const ggadget::Module*)':
extension_manager.cc:39: error: ISO C++ forbids casting between 
pointer-to-function
and pointer-to-object
extension_manager.cc: In member function `virtual bool
ggadget::ScriptExtensionRegister::RegisterExtension(const ggadget::Module*)':
extension_manager.cc:52: error: ISO C++ forbids casting between 
pointer-to-function
and pointer-to-object
extension_manager.cc: In member function `virtual bool
ggadget::FrameworkExtensionRegister::RegisterExtension(const ggadget::Module*)':
extension_manager.cc:68: error: ISO C++ forbids casting between 
pointer-to-function
and pointer-to-object
extension_manager.cc: In member function `virtual bool
ggadget::ScriptRuntimeExtensionRegister::RegisterExtension(const 
ggadget::Module*)':
extension_manager.cc:83: error: ISO C++ forbids casting between 
pointer-to-function
and pointer-to-object
gmake[4]: *** [libggadget-1.0_la-extension_manager.lo] Error 1

as you see i'm building with gcc, after we solve these problems should we focus 
on
"building with sun studio"?

thanks

Original comment by andras.b...@gmail.com on 7 Jun 2008 at 2:55

GoogleCodeExporter commented 9 years ago
We'll look into this problem.

Original comment by james...@gmail.com on 7 Jun 2008 at 3:05

GoogleCodeExporter commented 9 years ago
Should be fixed in 0.9.3. Please reopen if not.

Original comment by james...@gmail.com on 13 Jun 2008 at 2:16

GoogleCodeExporter commented 9 years ago
i've another one, open a new issue for it?
/usr/sfw/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -D__STDC_CONSTANT_MACROS 
-DNDEBUG
-DGGL_MODULE_DIR=\"/usr/lib/google-gadgets/modules\"
-DGGL_INCLUDE_DIR=\"/usr/include/google-gadgets\"
-DGGL_SYSDEPS_INCLUDE_DIR=\"/usr/lib/google-gadgets/include\"
-DGGL_LIBEXEC_DIR=\"/usr/lib/google-gadgets\"
-DGGL_RESOURCE_DIR=\"/usr/share/google-gadgets\" -DGGL_HOST_SOLARIS=1 
-DHAVE_X11=1
-DMOZILLA_FIVE_HOME=\"/usr/lib/firefox\" -DHAVE_PTHREAD=1 -O2 -Wall -Wconversion
-Werror -MT libggadget-1.0_la-module.lo -MD -MP -MF
.deps/libggadget-1.0_la-module.Tpo -c module.cc  -fPIC -DPIC -o
.libs/libggadget-1.0_la-module.o
module.cc: In member function `bool ggadget::Module::Impl::Load(const char*)':
module.cc:122: error: ISO C++ forbids casting between pointer-to-function and
pointer-to-object
module.cc:125: error: ISO C++ forbids casting between pointer-to-function and
pointer-to-object
gmake[4]: *** [libggadget-1.0_la-module.lo] Error 1

Original comment by andras.b...@gmail.com on 14 Jun 2008 at 11:55

GoogleCodeExporter commented 9 years ago
Have you tried 0.9.3? I believe this bug has been fixed.

Original comment by james...@gmail.com on 14 Jun 2008 at 2:09

GoogleCodeExporter commented 9 years ago
just configure with --disable-werror

putting --Werror by default is wrong. I have already stated that in a different 
bug
report.

(on the other hand fixing that warning is better)

Original comment by hfigui...@gmail.com on 14 Jun 2008 at 2:16

GoogleCodeExporter commented 9 years ago
james.su: different file, it's HEAD

hfiguiere: tried.. the same, "Don't make all compile warnings into errors." but
that's an error not a warning

Original comment by andras.b...@gmail.com on 14 Jun 2008 at 2:44

GoogleCodeExporter commented 9 years ago
I see. Fixed in trunk. Thanks for your report.

Original comment by james...@gmail.com on 14 Jun 2008 at 3:05

GoogleCodeExporter commented 9 years ago
yet another problem(s) :)
browser_element.cc:550: error: `sig_t' undeclared (first use this function)
i found this fix:
#ifndef HAVE_SIG_T
typedef void (*sig_t)(int);
#endif

and:
/usr/sfw/bin/g++ -O2 -Wall -Wconversion -Wno-non-virtual-dtor 
-Wno-strict-aliasing
-Wno-conversion -o gtkmoz-browser-child gtkmoz_browser_child-browser_child.o
gtkmoz_browser_child-json.o gtkmoz_browser_child-digest_utils.o
gtkmoz_browser_child-logger.o gtkmoz_browser_child-string_utils.o
gtkmoz_browser_child-unicode_utils.o  -L/usr/X11/lib -lgtk-x11-2.0 -latk-1.0
-lgdk-x11-2.0 -lXi -lXext -lX11 -lgdk_pixbuf-2.0 -lm -lmlib -lpangocairo-1.0 
-lXrandr
-lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0
-lXfixes -lgthread-2.0 -lpthread -lthread -lglib-2.0 -lfontconfig 
-L/usr/lib/firefox
-lgtkembedmoz -lxpcom -lxpcom_core -lmozjs -Wl,-R -Wl,/usr/lib/firefox -Wl,-R
-Wl,/usr/X11/lib
Undefined           first referenced
 symbol                 in file
nsCOMPtr_base::begin_assignment()      gtkmoz_browser_child-browser_child.o
NS_NewGenericFactory(nsIGenericFactory**, nsModuleComponentInfo
const*)gtkmoz_browser_child-browser_child.o
PL_strdup                           gtkmoz_browser_child-browser_child.o  
(symbol
belongs to implicit dependency /usr/lib/mps/libplc4.so)
nsCOMPtr_base::assign_from_qi_with_error(nsQueryInterfaceWithError const&, nsID
const&)gtkmoz_browser_child-browser_child.o
nsCOMPtr_base::assign_from_qi(nsQueryInterface, nsID const&)
gtkmoz_browser_child-browser_child.o
nsCOMPtr_base::~nsCOMPtr_base()     gtkmoz_browser_child-browser_child.o
nsCOMPtr_base::assign_from_gs_contractid_with_error(nsGetServiceByContractIDWith
Error
const&, nsID const&)gtkmoz_browser_child-browser_child.o
ld: fatal: Symbol referencing errors. No output written to gtkmoz-browser-child
collect2: ld returned 1 exit status

Original comment by andras.b...@gmail.com on 14 Jun 2008 at 4:44

GoogleCodeExporter commented 9 years ago
adding, -L/usr/lib/mps -lplc4 fixes the PL_strdup thingy

Original comment by andras.b...@gmail.com on 14 Jun 2008 at 4:51