오픈비에스디에서 네이트온을 컴파일해 봤습니다.

sandy의 이미지

오픈비에스디(openbsd)에서 네이트온(knateon)을 컴파일해 봤습니다.

svn checkout svn://kldp.net/svnroot/nateon
;
A nateon/knateon/1.0/THANKS
svn: Safe data 'nateon/knateon/1.0/' was followed by non-ASCII byte 235: unable to convert to/from UTF-

svn 체크아웃은 로케일 탓인지 중간에서 멈추더군요.
그래서 묶여있는걸로 다운받았습니다.

s4ndy@b4bo:./~ $ wget http://kldp.net/frs/download.php/4080/messagebox-1.0-20071002.tar.bz2
s4ndy@b4bo:./~ $ wget http://kldp.net/frs/download.php/4081/knateon-1.0-20071002.tar.bz2

s4ndy@b4bo:./~ $ uname -a
OpenBSD b4bo.com 4.2 S4NDY#0 i386
s4ndy@b4bo:./~ $ X -version

X Window System Version 7.2.0
Release Date: 22 January 2007
X Protocol Version 11, Revision 0, Release 7.2
Build Operating System: OpenBSD 4.2 i386
Current Operating System: OpenBSD b4bo.com 4.2 S4NDY#0 i386
Build Date: 17 October 2007
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present

컴파일에 필요한 qt kde 라이브러리를 먼저 설치합니다.
 
/usr/ports/x11/qt3
/usr/ports/x11/kde/arts3
/usr/ports/x11/kde/libs3
 
 
s4ndy@b4bo:./~ $ pkg_info |grep qt3
qt3-mt-3.7p5        C++ X11 GUI toolkit
s4ndy@b4bo:./~ $ pkg_info |grep arts
arts-1.5.7p0        K Desktop Environment, aRTs
s4ndy@b4bo:./~ $ pkg_info |grep kde
kdelibs-3.5.7p1     K Desktop Environment, libraries

bsd make대신 gmake을 사용합니다.

s4ndy@b4bo:./~ $ gmake -f Makefile.cvs

s4ndy@b4bo:./~ $ ./configure

checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for kde-config... /usr/local/bin/kde-config
checking for KDE-Version... 3.5
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... no
checking for libjpeg6b... no
checking for libjpeg... no
configure: WARNING:
There is an installation error in jpeg support. You seem to have only one
of either the headers _or_ the libraries installed. You may need to either
provide correct --with-extra-... options, or the development package of
libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
Disabling JPEG support.

checking for perl... /usr/bin/perl
checking for Qt... configure: error: Qt (>= Qt 3.2) (headers and libraries) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
s4ndy@b4bo:./messagebox-1.0 $

대표적인 에러입니다.qt 관련 라이브러리를 못찾는거죠.일일이 지정해 주어야 합니다

.
=======================================================
sudo ln -s /usr/local/bin/uic3 /usr/local/bin/uic
 
uic 만 찾고 uic3은 못찾는 에러가 나서 링크를 걸어줍니다.
 
env MOC=moc3  UIC=uic3 ./configure --with-extra-includes=/usr/local/include \
        --with-extra-libs=/usr/local/lib \
        --with-qt-includes=/usr/local/include/X11/qt3 \
        --with-qt-libraries=/usr/local/lib/qt3 
 
=========================================================

s4ndy@b4bo:./knateon-1.0 $ sudo ln -s /usr/local/bin/uic3 /usr/local/bin/uic
Password:
s4ndy@b4bo:./knateon-1.0 $ which uic3
/usr/local/bin/uic3
s4ndy@b4bo:./knateon-1.0 $ env MOC=moc3 UIC=uic3 ./configure --with-extra-includes=/usr/local/include --with-extra-libs=/usr/local/lib --with-qt-includes=/usr/local/include/X11/qt3 --with-qt-libraries=/usr/local/lib/qt3
checking build system type... i386-unknown-openbsd4.2
checking host system type... i386-unknown-openbsd4.2
checking target system type... i386-unknown-openbsd4.2
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for kde-config... /usr/local/bin/kde-config
checking where to install... /usr/local (as returned by kde-config)
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -Wundef... yes
checking whether g++ supports -Wno-long-long... yes
checking whether g++ supports -Wnon-virtual-dtor... yes
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fno-common... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -O0... yes
not using lib directory suffix
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic ELF [0-9][0-9]*-bit [LM]SB shared object
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g77... g77
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether g77 accepts -g... yes
checking the maximum length of command line arguments... 65536
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... openbsd4.2 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... no
sed: 1: ""s/\*/\\\*/g"": invalid command code "
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... no
checking dynamic linker characteristics... openbsd4.2 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for g77 option to produce PIC... -fPIC
checking if g77 PIC flag -fPIC works... yes
checking if g77 supports -c -o file.o... yes
checking whether the g77 linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... openbsd4.2 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking for msgfmt... /usr/local/bin/msgfmt
checking for gmsgfmt... /usr/local/bin/msgfmt
checking for xgettext... /usr/local/bin/xgettext
checking for strlcat... yes
checking if strlcat needs custom prototype... no
checking for strlcpy... yes
checking if strlcpy needs custom prototype... no
checking for main in -lutil... yes
checking for main in -lcompat... yes
checking for crypt in -lcrypt... no
checking for crypt in -lc... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking sys/bitypes.h usability... no
checking sys/bitypes.h presence... no
checking for sys/bitypes.h... no
checking for poll in -lpoll... no
checking if res_init needs -lresolv... no
checking if res_init is available... yes
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for dlopen in -ldl... no
checking for shl_unload in -ldld... no
checking for size_t... yes
checking size of size_t... 4
checking for unsigned long... yes
checking size of unsigned long... 4
checking sizeof size_t == sizeof unsigned long... yes
checking crt_externs.h usability... no
checking crt_externs.h presence... no
checking for crt_externs.h... no
checking for _NSGetEnviron... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for kde-config... /usr/local/bin/kde-config
checking for KDE-Version... 3.5
checking for pthread_create in -lpthread... yes
checking for extra includes... added
checking for extra libs... added
checking for libz... -lz
checking for libpng... no
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... libraries /usr/local/lib/qt3, headers /usr/local/include/X11/qt3 using -mt
checking for moc... moc3
checking for uic... /usr/local/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... yes
checking for rpath... yes
checking for KDE... libraries /usr/local/lib, headers /usr/local/include
checking if UIC has KDE plugins available... yes
checking for KDE paths... defaults
checking for dcopidl... /usr/local/bin/dcopidl
checking for dcopidl2cpp... /usr/local/bin/dcopidl2cpp
checking for mcopidl... /usr/local/bin/mcopidl
checking for artsc-config... /usr/local/bin/artsc-config
checking for meinproc... /usr/local/bin/meinproc
checking for kconfig_compiler... /usr/local/bin/kconfig_compiler
checking for dcopidlng... /usr/local/bin/dcopidlng
checking for xmllint... /usr/local/bin/xmllint
checking whether byte ordering is bigendian... no
checking for MAXPATHLEN... 1024
checking X11/Xlib.h usability... no
checking X11/Xlib.h presence... no
checking for X11/Xlib.h... no
checking X11/Xutil.h usability... no
checking X11/Xutil.h presence... no
checking for X11/Xutil.h... no
checking X11/Xlibint.h usability... no
checking X11/Xlibint.h presence... no
checking for X11/Xlibint.h... no
checking X11/extensions/scrnsaver.h usability... no
checking X11/extensions/scrnsaver.h presence... no
checking for X11/extensions/scrnsaver.h... no
checking for pkg-config... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for SQLITE... yes
checking for int... (cached) yes
checking size of int... (cached) 4
checking for short... (cached) yes
checking size of short... (cached) 2
checking for long... (cached) yes
checking size of long... (cached) 4
checking for char *... (cached) yes
checking size of char *... (cached) 4
checking for SCRNSAVEPROTO... yes
checking konqsidebarplugin.h usability... no
checking konqsidebarplugin.h presence... no
checking for konqsidebarplugin.h... no
checking for _init in -lkonqsidebarplugin... no
checking if po should be compiled... yes
checking if doc should be compiled... yes
checking if src should be compiled... yes
configure: creating ./config.status
wrong input (flag == 0 != 4) at admin/conf.change.pl line 117, {> line 1231.
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating doc/en/Makefile
config.status: creating po/Makefile
config.status: creating src/Makefile
config.status: creating src/buddy/Makefile
config.status: creating src/chat/Makefile
config.status: creating src/dialog/Makefile
config.status: creating src/emoticons/Makefile
config.status: creating src/lib/Makefile
config.status: creating src/network/Makefile
config.status: creating src/pics/Makefile
config.status: creating src/sound/Makefile
config.status: creating src/util/Makefile
config.status: creating config.h
config.status: executing depfiles commands

Good - your configure finished. Start make now

Note for non-GNU systems users: in order to compile SIM, you need to use GNU make (gmake)
===================================================================

일단 configure는 잘 끝났군요.
 
 
s4ndy@b4bo:./knateon-1.0 $ which make
/usr/bin/make
s4ndy@b4bo:./knateon-1.0 $ which gmake
/usr/local/bin/gmake
s4ndy@b4bo:./knateon-1.0 $ gmake

cd . && /bin/sh /home/s4ndy/knateon-1.0/admin/missing --run autoheader
Provide an AUTOCONF_VERSION environment variable, please
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
gmake all-recursive
gmake[1]: Entering directory `/home/s4ndy/knateon-1.0'
Making all in po
gmake[2]: Entering directory `/home/s4ndy/knateon-1.0/po'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/home/s4ndy/knateon-1.0/po'
Making all in doc
gmake[2]: Entering directory `/home/s4ndy/knateon-1.0/doc'
Making all in .
gmake[3]: Entering directory `/home/s4ndy/knateon-1.0/doc'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/home/s4ndy/knateon-1.0/doc'
Making all in en
gmake[3]: Entering directory `/home/s4ndy/knateon-1.0/doc/en'
/usr/local/bin/meinproc --check --cache index.cache.bz2 ./index.docbook
gmake[3]: Leaving directory `/home/s4ndy/knateon-1.0/doc/en'
gmake[2]: Leaving directory `/home/s4ndy/knateon-1.0/doc'
Making all in src
gmake[2]: Entering directory `/home/s4ndy/knateon-1.0/src'
Making all in buddy
gmake[3]: Entering directory `/home/s4ndy/knateon-1.0/src/buddy'
moc3 ./buddy.h -o buddy.moc
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/include -I/usr/local/include/X11/qt3 -I/usr/X11R6/include -I/usr/local/include -DQT_THREAD_SUPPORT -I/usr/local/include/arts -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -fno-check-new -fno-common -I/usr/local/include/artsc -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -MT buddy.o -MD -MP -MF ".deps/buddy.Tpo" -c -o buddy.o buddy.cpp; \
then mv -f ".deps/buddy.Tpo" ".deps/buddy.Po"; else rm -f ".deps/buddy.Tpo"; exit 1; fi
In file included from buddy.h:27,
from buddy.cpp:20:
../util/common.h:32:21: stropts.h: No such file or directory
../util/common.h:43:27: linux/sockios.h: No such file or directory
gmake[3]: *** [buddy.o] Error 1
gmake[3]: Leaving directory `/home/s4ndy/knateon-1.0/src/buddy'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/home/s4ndy/knateon-1.0/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/s4ndy/knateon-1.0'
gmake: *** [all] Error 2
s4ndy@b4bo:./knateon-1.0 $
========================================================

<pre>
s4ndy@b4bo:./knateon-1.0 $ grep stropts src/util/common.h
#include {stropts.h>
s4ndy@b4bo:./knateon-1.0 $ grep sockio src/util/common.h
#include {sys/sockio.h>
#include {linux/sockios.h>
 
s4ndy@b4bo:./knateon-1.0 $ gedit src/util/common.h
 
두가지 헤더 파일이 문제군요. 다음과 같이 고쳐줍니다.
===========================
 
//#include {stropts.h>
#include {sys/param.h> 
typedef unsigned uint_t; 
 
생략
//
//#if defined(sun)
#include {sys/sockio.h>
//#endif
 
#include {net/if.h>
// #if defined(linux)
// #include {linux/sockios.h>
// #endif
=================================
</pre>

다시 gmake

s4ndy@b4bo:./knateon-1.0 $ gmake

moc3 ./nateonconnection.h -o nateonconnection.moc
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/include -I/usr/local/include/X11/qt3 -I/usr/X11R6/include -I/usr/local/include -DQT_THREAD_SUPPORT -I/usr/local/include/arts -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -fno-check-new -fno-common -I/usr/local/include/artsc -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -MT nateonconnection.o -MD -MP -MF ".deps/nateonconnection.Tpo" -c -o nateonconnection.o nateonconnection.cpp; \
then mv -f ".deps/nateonconnection.Tpo" ".deps/nateonconnection.Po"; else rm -f ".deps/nateonconnection.Tpo"; exit 1; fi
In file included from nateonconnection.cpp:21:
nateonconnection.h:143: error: field `m_addr_destServer' has incomplete type
nateonconnection.h: In constructor `NateonConnection::NateonConnection(QString)
':
nateonconnection.h:145: warning: `NateonConnection::m_Buffer' will be
initialized after
nateonconnection.h:79: warning: `KConfig*NateonConnection::config'
nateonconnection.cpp:48: warning: when initialized here
nateonconnection.cpp: In member function `bool
NateonConnection::connectToServerViaProxy(const QString&, const int&)':
nateonconnection.cpp:250: error: `m_addr_destServer' undeclared (first use this
function)
nateonconnection.cpp:250: error: (Each undeclared identifier is reported only
once for each function it appears in.)
nateonconnection.cpp: In member function `QString
NateonConnection::getDataFromBuffer(const int&)':
nateonconnection.cpp:478: warning: comparison between signed and unsigned
integer expressions
nateonconnection.cpp: In member function `void
NateonConnection::socketError(int)':
nateonconnection.cpp:1092: warning: unused parameter `int error'
nateonconnection.cpp: In member function `void
NateonConnection::writeData(const QString&)':
nateonconnection.cpp:1231: error: `sleep' undeclared (first use this function)
nateonconnection.cpp: In member function `void
NateonConnection::socketclosed(int)':
nateonconnection.cpp:1333: warning: unused parameter `int nFlag'
gmake[3]: *** [nateonconnection.o] Error 1
gmake[3]: Leaving directory `/home/s4ndy/knateon-1.0/src/network'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/home/s4ndy/knateon-1.0/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/s4ndy/knateon-1.0'
gmake: *** [all] Error 2
s4ndy@b4bo:./knateon-1.0 $

======================================
sockaddr_in 에 대한 에러와 sleep애 대한 에러입니다.

s4ndy@b4bo:./knateon-1.0 $ grep m_addr_destServer src/network/nateonconnection.h
struct sockaddr_in m_addr_destServer;
s4ndy@b4bo:./knateon-1.0 $ grep m_addr_destServer src/network/nateonconnection.cpp
memcpy(&m_addr_destServer.sin_addr,hostent->h_addr,4);
m_addr_destServer.sin_port=htons(nPort);
memcpy(&command[2],&m_addr_destServer.sin_port,2);
memcpy(&command[4],&m_addr_destServer.sin_addr,4);
memcpy( command+4, &m_addr_destServer.sin_addr,4 );
memcpy( command+8, &m_addr_destServer.sin_port,2 );
s4ndy@b4bo:./knateon-1.0 $ grep sleep src/network/nateonconnection.cpp
sleep(1);
s4ndy@b4bo:./knateon-1.0 $ grep sleep src/network/nateonconnection.h
s4ndy@b4bo:./knateon-1.0 $

s4ndy@b4bo:./messagebox-1.0 $ ls -al /usr/include/netinet/in.h
-r--r--r-- 1 root bin 19928 Oct 16 12:22 /usr/include/netinet/in.h
s4ndy@b4bo:./messagebox-1.0 $ grep sockaddr_in /usr/include/netinet/in.h
struct sockaddr_in {
int bindresvport(int, struct sockaddr_in *);
void in_socktrim(struct sockaddr_in *);
#define satosin(sa) ((struct sockaddr_in *)(sa))

=======================================================
구조체 sockaddr_in 의 크기를 알수 있도록 헤더를 추가해줍니다.

s4ndy@b4bo:./knateon-1.0 $ gedit src/network/nateonconnection.h

<pre>
#include {netinet/in.h> 
</pre>

s4ndy@b4bo:./messagebox-1.0 $ ls -al /usr/include/unistd.h
-r--r--r-- 1 root bin 8742 Mar 22 2007 /usr/include/unistd.h
s4ndy@b4bo:./messagebox-1.0 $ grep sleep /usr/include/unistd.h
unsigned int sleep(unsigned int);
int usleep(useconds_t);

sleep 의 프로토 타입이 포함된 헤더를 추가합니다

s4ndy@b4bo:./knateon-1.0 $ gedit src/network/nateonconnection.h

<pre>
#include {unistd.h>
</pre>

===========================================================
다시 gmake

s4ndy@b4bo:./knateon-1.0 $ gmake

moc3 ./common.h -o common.moc
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/include -I/usr/local/include/X11/qt3 -I/usr/X11R6/include -I/usr/local/include -DQT_THREAD_SUPPORT -I/usr/include/kde/arts -I/usr/include/kde/artsc -I/usr/local/include/arts -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -O2 -fno-exceptions -fno-check-new -fno-common -I/usr/local/include/artsc -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -MT common.o -MD -MP -MF ".deps/common.Tpo" -c -o common.o common.cpp; \
then mv -f ".deps/common.Tpo" ".deps/common.Po"; else rm -f ".deps/common.Tpo"; exit 1; fi
common.cpp: In member function `QStringList Common::getLocalIP()':
common.cpp:79: error: `close' undeclared (first use this function)
common.cpp:79: error: (Each undeclared identifier is reported only once for
each function it appears in.)
common.cpp: In member function `void InviteWeb::httpRequestFinished(int, bool)
':
common.cpp:121: warning: unused parameter `bool error'
common.cpp: In member function `void InviteWeb::slotReceivedData(const
QHttpResponseHeader&)':
common.cpp:156: warning: unused variable `long unsigned int rsize'
common.cpp:150: warning: unused parameter `const QHttpResponseHeader&qResponse'
common.cpp: In member function `void WebCGI::httpRequestFinished(int, bool)':
common.cpp:267: warning: unused parameter `bool error'
common.cpp: In member function `void WebCGI::slotReceivedData(const
QHttpResponseHeader&)':
common.cpp:276: warning: unused parameter `const QHttpResponseHeader&qResponse'
common.cpp: In member function `void WebCGI::slotClose(bool)':
common.cpp:289: warning: unused parameter `bool bErr'
gmake[3]: *** [common.o] Error 1
gmake[3]: Leaving directory `/home/s4ndy/knateon-1.0/src/util'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/home/s4ndy/knateon-1.0/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/s4ndy/knateon-1.0'
gmake: *** [all] Error 2
s4ndy@b4bo:./knateon-1.0 $

=================================================
close 의 프로토 타입이 포함된 헤더를 추가합니다

s4ndy@b4bo:./messagebox-1.0 $ grep close /usr/include/unistd.h
int close(int);
int closefrom(int);
s4ndy@b4bo:./messagebox-1.0 $

s4ndy@b4bo:./knateon-1.0 $ gedit src/util/common.h

<pre>
#include {unistd.h>
</pre>

===================================================
다시 gmake

s4ndy@b4bo:./knateon-1.0 $ gmake
잘 컴파일됐습니다.

messagebox 의 경우는 소스 수정이 필요없었습니다.
마지막으로 오픈비에스디 에서의 간단한 한글입력은
AIM (ALee's Input Method or A Input Method) for Hangul
Homepage: http://aim.anj.kr/
을 사용해서 copy&paste 하고 있습니다.
잘못된점이나 수정해야할 부분은 지적해주세요.

File attachments: 
첨부파일 크기
Image icon knateon.jpg277.29 KB
Forums: 
sandy의 이미지

..코드 부분에서 < 는 모두 { 로 바꾸었습니다.

..

익명 사용자의 이미지

sandy님이 네이트온에서 한글입력시에
웹으로 된 AIM 을 이용하시는데, 많이 불편해하실 꺼 같군요.

OpenBSD 에는 기본적인 한국어 locale 이 base에는 설치가 안되어있습니다만
간단한 패치로 급하게나마? locale을 설치하여,
nabi 같은 한글 입력기를 사용할 수 있습니다.

방법은 아래와 같습니다.

src/lib/libc/locale/setrunelocale.c 아래 라인 주석 처리후 libc 재컴파일 설치

if (strcmp(rl->rl_encoding, _CITRUS_DEFAULT_CTYPE_NAME) != 0) {
_NukeRune(rl);
return EINVAL;
}

src/share/locale/ctype/Makefile 에서 한국어 locale 주석제거 후 설치
#LOCALES += ko_KR.eucKR
# LOCALESRC_ko_KR.eucKR = ko_KR.eucKR

nabi 0.15 설치/설정 후 한글 사용하시면 됩니다.

- 지나가는 OpenBSD 사용자

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.