linux 에서 프로그래밍을 하는 초보입니다.ㅠ make 에러가 납니다.ㅠ

rkdtkdtn의 이미지

리눅스에서 프로그래밍을 처음 하는 유저입니다.

기존의 완성된 파일을 이용하여 추가로 프로그래밍을 하려 하는데

제 리눅스에서는 압축을 풀고 server나 player에 디렉토리에서 make 를 시키면 이 파일이

error:extra tokens at end of #endif directive

라는 에러와 함께 make 가 되지 않습니다.
기존에는 완성된 파일로 알고 있는데 왜 제 컴퓨터에서는 실행이 되지 않는지 알고 싶습니다.

어떠한 툴을 더 설치 해야하는 걸까요?
아니면 기존 파일이 잘못된 것일까요?
제가 알기로는 완성된 파일인 것으로 알고 있습니다.
파일을 첨부하였습니다.

너무 궁금하고 걱정됩니다.

꼭 답변해주시면 감사하겠습니다.

File attachments: 
첨부파일 크기
Binary Data lssp[1].tar.gz103.46 KB
Hyun의 이미지

server/session.h 마지막의 endif 부분 뒷부분을 주석으로 막고 해보세요...
그리고 gcc의 에러를 보면 어느파일의 어느부분에서 에러가 났는지 나오니깐 그 부분을 참고하면 에러를 찾을 수 있습니다.

----

hthtsog의 이미지

그 에러를 해결하면 또 에러가 나더군요..

완성된 파일이라고 한다면

뭔가 툴을 설치하면 해결되고 그런건 아닐까요?

혹시 해결책 있으심 가르쳐주세요 ㅠ

Hyun의 이미지

Quote:
그 에러를 해결하면 또 에러가 나더군요..
에러를 보여주3.

----

hthtsog의 이미지

session.h를 수정했더니...
다시 또 이런 에러가 나왔네요
계속 파일을 수정해 나가야만 하는건지, 프로그램 이렇게 어렵게 깔아야하나 생각도 들고요..
도와주세요ㅠ

gcc -c -Werror -Wall -g -I/usr/local/include -I. server.c
gcc -c -Werror -Wall -g -I/usr/local/include -I. config.c
gcc -c -Werror -Wall -g -I/usr/local/include -I. streamer.c
cc1: warnings being treated as errors
streamer.c: In function ‘start_stream’:
streamer.c:42: warning: implicit declaration of function ‘memcpy’
streamer.c:42: warning: incompatible implicit declaration of built-in function ‘memcpy’
streamer.c: In function ‘build_RTP_packet’:
streamer.c:142: warning: incompatible implicit declaration of built-in function ‘memcpy’
make: *** [streamer.o] 오류 1

Hyun의 이미지

cc1: warnings being treated as errors
때문이군요. Makefile에서 -Werror 부분을 빼주면 됩니다.

욜케하면 수정하면 되네요.

diff -urN lssp/player/Makefile lssp.fix/player/Makefile
--- lssp/player/Makefile	2000-12-20 22:19:06.000000000 +0900
+++ lssp.fix/player/Makefile	2008-09-20 00:38:05.000000000 +0900
@@ -1,5 +1,5 @@
 CC=gcc
-CFLAGS=-Werror -Wall -g -I/usr/local/include -I. -I../server
+CFLAGS=-Wall -g -I/usr/local/include -I. -I../server
 LFLAGS=-lm
 
 .c.o:
diff -urN lssp/player/player.c lssp.fix/player/player.c
--- lssp/player/player.c	2000-12-20 21:37:21.000000000 +0900
+++ lssp.fix/player/player.c	2008-09-20 00:38:23.000000000 +0900
@@ -429,7 +429,7 @@
      * allocate stream descriptor.  Stream descriptors are freed by
      * free_streams().
      */
-    (void *) s = calloc(1, sizeof(STREAM));
+    s = calloc(1, sizeof(STREAM));
     s->next = state->streams;
     state->streams = s;		/* add new descriptor to head of list. */
 
diff -urN lssp/server/Makefile lssp.fix/server/Makefile
--- lssp/server/Makefile	2000-12-20 22:18:47.000000000 +0900
+++ lssp.fix/server/Makefile	2008-09-20 00:34:53.000000000 +0900
@@ -1,5 +1,5 @@
 CC=gcc
-CFLAGS=-Werror -Wall -g -I/usr/local/include -I.
+CFLAGS=-Wall -g -I/usr/local/include -I.
 LFLAGS=-lm
 
 .c.o:
diff -urN lssp/server/session.h lssp.fix/server/session.h
--- lssp/server/session.h	2000-12-20 21:49:23.000000000 +0900
+++ lssp.fix/server/session.h	2008-09-20 00:34:48.000000000 +0900
@@ -123,4 +123,4 @@
 #define READY_STATE     1
 #define PLAY_STATE      2
 
-#endif _SESSION_H_
+#endif //_SESSION_H_
diff -urN lssp/server/socket.c lssp.fix/server/socket.c
--- lssp/server/socket.c	2000-12-19 14:55:42.000000000 +0900
+++ lssp.fix/server/socket.c	2008-09-20 00:35:32.000000000 +0900
@@ -1,6 +1,6 @@
 
 #include <syslog.h>
-#include <varargs.h>
+//#include <varargs.h>
 
 #include <sys/types.h>
 #include <sys/uio.h>

----

rkdtkdtn의 이미지

감사합니다.ㅠ 리눅스초보여서요ㅠ

정말 감사드립니다.ㅋ

rkdtkdtn의 이미지

감사합니다.ㅠ 리눅스초보여서요ㅠ

정말 감사드립니다.ㅋ

hthtsog의 이미지

gcc -c -Wall -g -I/usr/local/include -I. socket.c
socket.c: In function ‘inetd_init’:
socket.c:87: warning: pointer targets in passing argument 3 of ‘getpeername’ differ in signedness
socket.c: In function ‘tcp_accept’:
socket.c:113: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
socket.c:118: warning: pointer targets in passing argument 3 of ‘getpeername’ differ in signedness
socket.c: In function ‘udp_getport’:
socket.c:215: warning: pointer targets in passing argument 3 of ‘getsockname’ differ in signedness
socket.c: In function ‘dgram_recvfrom’:
socket.c:264: warning: pointer targets in passing argument 6 of ‘recvfrom’ differ in signedness
gcc -Wall -g -I/usr/local/include -I. -lm main.o server.o config.o streamer.o scheduler.o util.o parse.o messages.o msg_handler.o eventloop.o socket.o -o lssp-server

이건 socket.c 를 또 수정해야할듯한데.. 도와주세요...ㅠ
처음이라 에러가나도 뭔지 잘 몰라서..;;

Hyun의 이미지

경고만 생겼네요. 처음에 -Werror 를 빼줬으면 컴파일러가 경고를 그냥 무시할껍니다. 위에 로그를 봐도 경고를 그냥 무시하고 그냥 지나갔네요.
ls 해서 파일목록을 보면 실행파일이 만들어졌을껍니다.
경고를 고치려면... 책이나 매뉴얼을 좀 보셔야 할 듯 합니다.

----

rkdtkdtn의 이미지

생성된 실행파일로

etc%example.cfg에서 BasePath를 현재 etc 디렉토리의 절대패스로 수정후
server% ./lssp-server ../etc/example.cfg로 서버를 띄웠는데 ㅠ

서버가 뜨지 않고 멈추어 버리는것 같습니다.

이런경우는 쏘스를 전부 다시 수정해봐야하는건가요?ㅜ
너무 초보라서 기존쏘스를 실행하는데도 힘이드네요 ㅠ

rkdtkdtn의 이미지


생성된 실행파일로

etc%example.cfg에서 BasePath를 현재 etc 디렉토리의 절대패스로 수정후
server% ./lssp-server ../etc/example.cfg로 서버를 띄웠는데 ㅠ

서버가 뜨지 않고 멈추어 버리는것 같습니다.

이런경우는 쏘스를 전부 다시 수정해봐야하는건가요?ㅜ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.