파워피씨(CPU: 405GP)용 mkfs.vfat 빌드가 잘 안됩니다.

ssasoon의 이미지

안녕하세요

Power pc 405 GP환경에서 fat 방식 포맷 지원을 위해 cross 컴파일을
해야 합니다.
웹상에서 Open source인 dosfstools-2.8.src.tar.gz를 받아서
인텔 PC에서 컴파일이 되는지 확인키 위해 소스 수정하지 않고
있는 그대로 make로 컴파일 하였으나 아래와 같은 에러가 발생합니다.
에러내용으로 type 정의나 선언 문제 같아 보이는데 컴파일할때
커널의 특정 헤더를 포함해서 컴파일해야 하는지 궁금합니다.

우선 인텔에 compile이 되어 파워피씨용으로 cross compile을
해야 하는데 난감하네요.. 벌써 몇 일째 삽질만 하고 있습니다.

흑흑...

power pc용 mkfs.vfat 바이너리 파일을 빌드해야 하거든요...

혹시 컴파일해 보신 분이나 아니면 powerpc에 cross 컴파일에
성공하신 분들 많은 조언 부탁드립니다.

[root@  brad]# cd dosfstools-2.8

[root@  dosfstools-2.8]# ls
CHANGES  Makefile  README.Atari  TODO  dosfsck  mkdosfs  version.h

[root@  dosfstools-2.8]# make
make -C mkdosfs all
make[1]: Entering directory `/home/devel/brad/dosfstools-2.8/mkdosfs'
gcc -O2 -fomit-frame-pointer -Wall  -c mkdosfs.c -o mkdosfs.o

mkdosfs.c:194: error: syntax error before "__u8"

mkdosfs.c:194: warning: no semicolon at end of struct or union
mkdosfs.c:195: warning: type defaults to `int' in declaration of `RESERVED'
mkdosfs.c:195: warning: data definition has no type or storage class
mkdosfs.c:196: error: syntax error before "ext_boot_sign"
.
.
.
mkdosfs.c:218: error: syntax error before "total_sect"
mkdosfs.c:218: warning: type defaults to `int' in declaration of `total_sect'
mkdosfs.c:218: warning: data definition has no type or storage class

mkdosfs.c:221: error: field `vi' has incomplete type
mkdosfs.c:222: error: syntax error before "__u8"

mkdosfs.c:222: warning: no semicolon at end of struct or union
mkdosfs.c:222: warning: no semicolon at end of struct or union
mkdosfs.c:223: warning: type defaults to `int' in declaration of `_oldfat'
mkdosfs.c:223: warning: `packed' attribute ignored
mkdosfs.c:225: error: syntax error before "__u32"
mkdosfs.c:225: warning: no semicolon at end of struct or union
mkdosfs.c:226: warning: type defaults to `int' in declaration of `flags'
.
.
.

mkdosfs.c:261: warning: type defaults to `int' in declaration of `size'
mkdosfs.c:261: warning: data definition has no type or storage class
mkdosfs.c:262: warning: empty declaration
mkdosfs.c:304: error: conflicting types for 'volume_id'
mkdosfs.c:197: error: previous declaration of 'volume_id' was here
mkdosfs.c:308: error: conflicting types for 'sector_size'
mkdosfs.c:207: error: previous declaration of 'sector_size' was here
mkdosfs.c:310: error: static declaration of 'backup_boot' follows non-static declaration
mkdosfs.c:230: error: previous declaration of 'backup_boot' was here
mkdosfs.c:323: error: conflicting types for 'info_sector'
mkdosfs.c:229: error: previous declaration of 'info_sector' was here
mkdosfs.c: In function `mark_FAT_sector':
mkdosfs.c:408: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c: In function `establish_params':
mkdosfs.c:651: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:652: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:656: error: invalid use of undefined type `struct msdos_boot_sector'
.
.
.
mkdosfs.c:776: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c: In function `setup_tables':
mkdosfs.c:793: error: invalid use of undefined type `struct msdos_boot_sector'
.
.
mkdosfs.c:823: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:826: error: dereferencing pointer to incomplete type
mkdosfs.c:833: error: dereferencing pointer to incomplete type
mkdosfs.c:835: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:837: error: invalid use of undefined type `struct msdos_boot_sector'
.
.
mkdosfs.c:987: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:988: error: dereferencing pointer to incomplete type
.
.
mkdosfs.c:1222: error: invalid application of `sizeof' to incomplete type `msdos_dir_entry'
mkdosfs.c:1232: error: invalid use of undefined type `struct msdos_dir_entry'
mkdosfs.c:1232: error: dereferencing pointer to incomplete type
.
.
mkdosfs.c:1270: error: dereferencing pointer to incomplete type
mkdosfs.c:1273: error: `__u16' undeclared (first use in this function)
mkdosfs.c:1273: error: (Each undeclared identifier is reported only once
mkdosfs.c:1273: error: for each function it appears in.)
mkdosfs.c:1273: error: syntax error before ')' token
mkdosfs.c: In function `write_tables':
mkdosfs.c:1314: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:1314: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:1322: error: invalid application of `sizeof' to incomplete type `msdos_boot_sector'
mkdosfs.c:1326: error: invalid use of undefined type `struct msdos_boot_sector'
mkdosfs.c:1331: error: invalid application of `sizeof' to incomplete type `msdos_boot_sector'
mkdosfs.c: In function `main':
mkdosfs.c:1411: error: called object is not a function
mkdosfs.c: At top level:
mkdosfs.c:232: error: storage size of `vi' isn't known
mkdosfs.c:319: error: storage size of `bs' isn't known
make[1]: *** [mkdosfs.o]  오류 1
make[1]: Leaving directory `/home/devel/brad/dosfstools-2.8/mkdosfs'
make: *** [all] 오류 2
[root@  dosfstools-2.8]#

댓글 달기

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