Date: Thu, 23 Dec 1999 07:59:04 -0800 (PST) From: vadim@gc.lviv.ua To: freebsd-gnats-submit@freebsd.org Subject: ports/15647: MICO: doesn't compiles and mico-ld links only static Message-ID: <19991223155904.1D25015887@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 15647 >Category: ports >Synopsis: MICO: doesn't compiles and mico-ld links only static >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Dec 23 08:00:01 PST 1999 >Closed-Date: >Last-Modified: >Originator: Vadim Chekan >Release: 3.2-STABLE >Organization: Galitian Contracts >Environment: FreeBSD gate.gc.lviv.ua 3.2-STABLE FreeBSD 3.2-STABLE #0: Sat Dec 4 14:17:05 EE T 1999 vadim@gate.gc.lviv.ua:/usr/src/sys/compile/GATE.3 i386 >Description: When I try to make /usr/ports/devel/mico g++295 -I. -I../../include -O -pipe -ftemplate-depth-42 -fno-exceptions -fex ceptions -O0 -I/usr/local/include/tcl8.0 -I/usr/X11R6/include/X11/qt -c TimeSer vice_help.cc -o TimeService_help.o TimeService_help.cc: In function `TimeT getTimezone()': TimeService_help.cc:63: implicit declaration of function `int ftime(...)' gmake[2]: *** [TimeService_help.o] Error 1 gmake[2]: Leaving directory `/usr/ports/devel/mico/work/mico/coss/time' gmake[1]: *** [subprg] Error 1 gmake[1]: Leaving directory `/usr/ports/devel/mico/work/mico/coss' gmake: *** [system] Error 1 *** Error code 2 Stop. =================== It's because ftime() on FreeBSD isn't supported already. Patch is applied. Second problem: linking simple example I get executable 3.9Mb! remove /usr/local/lib/mico2.3.0.a ldconfig -R mico-ld -o stat account.o main.o -lm -lmico2.3.0 It can't link! It doesn't see libmico.2.3.0.so -> /usr/local/lib/libmico2.3.0.so.1 Ok, ln -s libmico.so /usr/local/lib/libmico2.3.0.so.1 ldconfig -R mico-ld -o dynamic account.o main.o -lm -lmico It links and size of dynamic is 171K I guess linker doesn't see shared lib because of digits in it's name Fix: add link from libmico.so -> libmico2.3.0.so.1 ? >How-To-Repeat: cd /usr/ports/devel/mico make >Fix: man ftime says: This interface is obsoleted by gettimeofday(2) man gettimeofday says: Note: timezone is no longer used; this information is kept outside the kernel. but we need exactly timezone. So use localtime() ftime return timezone offset in minutes, localtime in seconds, so divide it by 60. --- TimeService_help.cc Thu Dec 23 17:30:15 1999 +++ TimeService_help.cc.new Thu Dec 23 14:32:56 1999 @@ -26,7 +26,6 @@ #include "CosTime.h" #include <mico/CosNaming.h> #include <time.h> -#include <sys/timeb.h> // //Helper functions, mainly wrappers around the time function @@ -59,10 +58,10 @@ TimeBase::TimeT getTimezone() { //obtain timezone - timeb timestruct; - ftime(×truct); + time_t timev = time(0); + struct tm *local_tm = localtime(&timev); - TimeBase::TdfT displacementV = timestruct.timezone; + TimeBase::TdfT displacementV = local_tm->tm_gmtoff % 60; return displacementV; } >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991223155904.1D25015887>