오랜만에, Mac 업그레이드 후에 처음으로 MacOSX 10.15 Catalina 에서 LibreOffice(리브레오피스) 빌드를 진행하였습니다.

LibreOffice(리브레오피스) 빌드는 문서 재단의 위키 링크 Building LibreOffice on macOS를 보며 따라하였습니다.

빌드를 진행하다 보니, 아래의 오류로 빌드 진행이 안되는 것을 확인하였습니다.

In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/Python.h:139:
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/pythonrun.h:142:5: error: 'TAPI' is not defined, evaluates to 0 [-Werror,-Wundef]
#if TAPI
    ^
[AIN] ooo_images
1 error generated.
/Users/****/dev/lode/dev/core/solenv/gbuild/LinkTarget.mk:239: recipe for target '/Users/****/dev/lode/dev/core/workdir/CObject/pyuno/source/module/pyuno_dlopenwrapper.o' failed
make[1]: *** [/Users/****/dev/lode/dev/core/workdir/CObject/pyuno/source/module/pyuno_dlopenwrapper.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:282: recipe for target 'build' failed
make: *** [build] Error 2

해당 내용에서는 C언어 매크로 TAPI가 정의 안되어서 빌드 에러가 난다는 이야기가 나왔습니다.

해당 내용에 대하여 IRC의 #libreoffice-dev채널에 문의를 하였습니다.

9:28 PM I have a question about build on MacOSX (Catalina 10.15.2)
9:28 PM I get a LibreOffice source from git repository. and try to build, then failed.
9:29 PM message is In file included from ***/dev/core/pyuno/source/module/pyuno_dlopenwrapper.c:22:
9:29 PM In file included from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/Python.h:139:
9:29 PM /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Headers/pythonrun.h:142:5: error: 'TAPI' is not defined, evaluates to 0 [-Werror,-Wundef]
9:30 PM What is "#if TAPI" ? 
9:41 PM <mikekaganski> dhsung_: a coincidence: https://ask.libreoffice.org/en/question/223751
9:44 PM <ycao> https://ask.libreoffice.org/en/question/223751/error-tapi-is-not-defined-evaluates-to-0-werror-wundef-while-building-on-macos/
9:44 PM Any tips?
9:44 PM <_rene_>  yes, the obvious one
9:44 PM (don't build with -Werror)
9:45 PM and this undefined macro is inside python itself which is clear from the error message... (just that LO bundles python if you let it..)
9:45 PM <mikekaganski>  _rene_: the problem is that this looks like our default in LODE
9:46 PM <ycao>  How can I build without `-Werror`
9:46 PM Using `lode`
9:46 PM <_rene_> mikekaganski: yes, it's a problem. anywhere :)
9:46 PM $ ./configure --help | grep -i werror --enable-werror         Turn warnings to errors. (Has no effect in modules
9:47 PM so --disable-werror, of course ;)
9:48 PM <ycao>  So run `./configure --disable-werror` is ok?
9:48 PM <mikekaganski> ycao: essentially, add --disable-werror which _rene_ mentioned to autogen.input in your core directory

문의 결과

./configure --help | grep -i werror --enable-werror         Turn warnings to errors. 

빌드 '에러 error'를 에러 대신 '경고 warning'로 바꾸어서 빌드하라고 하더군요.

이유는 TAPI라는 정의되지 않은 매크로는 파이썬 자체에 있고, 이 매크로를 무시해도 빌드 후에 실행은 되니 '에러 error'로 빌드 안되는 것에 대하여 '에러 error'레벨을 '경고 warning'으로 바꾸어서 빌드 하면 된다고 하군요.

그래서, 저는 아래의 명령어로 빌드 진행을 하였습니다.

이후, 빌드 후 확인

****@**** core % ./autogen.sh --with-locales="ko"  --with-vendor="DaeHyun Sung, TDF Member"  --disable-werror           
********************************************************************
*
*   Using commandline arguments and ignoring autogen.input!
*
********************************************************************
Running ./configure with '--with-locales=ko --with-vendor=DaeHyun Sung, TDF Member --disable-werror --srcdir=/Users/sungdaehyun/dev/lode/dev/core --enable-option-checking=fatal'
********************************************************************
*
*   Running LibreOffice build configuration.
*
********************************************************************
To build, run:
/Users/****/lode/opt/bin/make

To view some help, run:
/Users/****/lode/opt/bin/make help

After the build of LibreOffice has finished successfully, you can immediately run LibreOffice using the command:
open instdir/LibreOfficeDev.app

If you want to run the smoketest, run:
/Users/****/lode/opt/bin/make check

****@**** core % make build-nocheck
make -j 4  -rs -f /Users/****/lode/dev/core/Makefile.gbuild  build  
[PAT] boost
[DEP] LNK:Library/libuno_salhelpergcc3.dylib.3
[LNK] Library/libuno_salhelpergcc3.dylib.3
[UPK] libgpg-error-1.27.tar.bz2
[PAT] icu
[PAT] nss
[PAT] liblangtag
[DEP] LNK:Executable/bestreversemap
[LNK] Executable/bestreversemap
[PAT] libjpeg-turbo
[PAT] lcms2

(생략)


[BIN] extras
[MOD] extras
[MOD] libreoffice
[BIN] top level modules: libreoffice
[ALL] top level modules: build-non-l10n-only build-l10n-only

빌드 완료 후 실행

****@**** core % open instdir/LibreOfficeDev.app

실행 후 화면

Buy me a coffeeBuy me a coffee

2013년 7월 25일 목요일 저녁즈음


안드로이드 소스를 받았겠다, 컴파일을 하고 책보고 인터넷 서핑을 했습니다.

그리고 잠깐 모니터링을 하다, 안드로이드 소스 빌드중 아래와 같은 에러가 발생하고는 빌드가 중단되었습니다 -_-;;

dalvik/vm/native/dalvik_system_Zygote.cpp: In function 'int setrlimitsFromArray(ArrayObject*)':
dalvik/vm/native/dalvik_system_Zygote.cpp:194: error: aggregate 'rlimit rlim' has incomplete type and cannot be defined
dalvik/vm/native/dalvik_system_Zygote.cpp:217: error: 'setrlimit' was not declared in this scope
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libdvm_intermediates/native/dalvik_system_Zygote.o] Error 1
make: *** Waiting for unfinished jobs....


위의 빌드 중단 해결하는 방법을 구글링하니 헤더파일을 추가하는게 나왔습니다.

위의 링크에서는 에러가 난 dalvil_system_Zagote.cpp파일에 #include <sys/resource.h>를 추가해주면 빌드가 잘 된다고 나왔습니다.

위의 글을 믿고 cpp파일에

#include <sys/resource.h>

헤더파일 추가를 했습니다.    

아래는 헤더파일 추가된 소스파일 캡쳐화면.



위의 링크에 나온것 처럼 헤더파일 포함을 했더니 빌드가 잘됩니다~



Buy me a coffeeBuy me a coffee


HTC Desire에 커스텀 롬을 계속 설치하고 엎어버리고를 반복하다.. 심심했습니다.

명색이 컴퓨터공학과 4년공부하고 대학원 수료한 학생인데, Android Source를 빌드해서 휴대폰에 올려볼까란 생각에 갑자기 안드로이드 소스를 XDA-Developers 에서 찾기 시작하였습니다.


여러가지 안드로이드 소스들 중에서 저는 CyanogenMod 를 선택하여 컴파일 하기로 하였습니다.

저는 Ubuntu 10.10 32bit 컴퓨터(구입한지 6년된 ThinkPad R52)에서 CyanogenMod컴파일을 하게 성공하였습니다.


처음에 맥북프로에서 컴파일 하다보니 아래와 같은 에러로 인하여 포기하였습니다. 아 SnowLeopad 가 64비트라서 32비트로 컴파일하다 Linking문제가 생겼나 봅니다 -ㅁ-

Install: out/host/darwin-x86/bin/dictTest

host Executable: emulator (out/host/darwin-x86/obj/EXECUTABLES/emulator_intermediates/emulator)

ld: illegal text reloc to DwarfCUImpl<Dwarf_CUHdr<Dwarf32_SizeHdr, unsigned int>, unsigned int>::get_pc_address_file_info(unsigned long long, Dwarf_AddressInfo*)from out/host/darwin-x86/obj/STATIC_LIBRARIES/emulator-elff_intermediates/emulator-elff.a(dwarf_cu.o) in anon for architecture i386

collect2: ld returned 1 exit status

make: *** [out/host/darwin-x86/obj/EXECUTABLES/emulator_intermediates/emulator] Error 1


Ubuntu에서 Android 2.3.3. Gingerbread OS탑재된 CyanogenMod 컴파일 하여 아래와 같은 결과를 만들었고, 에뮬레이터에서 실행해보니 잘 돌아갑니다.

Generated: (out/target/product/generic/android-info.txt)

Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.img

Install system fs image: out/target/product/generic/system.img

Target ram disk: out/target/product/generic/ramdisk.img

Target userdata fs image: out/target/product/generic/userdata.img

Installed file list: out/target/product/generic/installed-files.txt

studioego@studioego-laptop:~/android/system$ 

컴파일 성공하면 위의 메시지가 나옵니다 ㅎㅎ

아래는 컴파일 후 에뮬레이터를 이용하여 결과물을 실행한 화면입니다. 잘 돌아갑니다.

Emulator 실행 화면


Gingerbread가 탑재된 CyanogenMod

에뮬레이터에 볼수 있는 Android 2.3.3 정보 1

에뮬레이터에 볼수 있는 Android 2.3.3 정보 2


본인이 빌드를 했으면 빌드 번호에 본인 이름의 컴퓨터와 컴파일 한 날짜가 들어갔을겁니다. ㅎㅎ

Cyanogen_generic-eng 2.3.3. GINGERBREAD eng.studioego.20110327.012445 test-keys


Android Source컴파일하여 에뮬레이터로 올리는 방법을 알았으니 이제 HTC Desire에 CyanogenMod 소스코드를 올리는 것도 올리겠습니다. 

이후에 저만의 커스텀롬 올리는 방법과 Android Source분석도 올릴예정입니다.

Buy me a coffeeBuy me a coffee
  1. 이전 댓글 더보기
  2. Favicon of http://www.houstonoverheaddoors.com/ BlogIcon Garage Doors in Houston 2012.03.24 19:54

    great points altogether, you just gained a new reader. What would you suggest in regards to your post that you made some days ago? Any positive?

  3. Favicon of http://www.houstonoverheaddoors.com/ BlogIcon Garage Doors in Houston 2012.03.24 19:55

    Provide information as requested on the petition including the names of both parties and any involved children, address of both households and date of marriage and separation. Indicate any issues that require a temporary order from the judge such as spousal or child support, custody and residence of marital property. Thanks.

  4. Favicon of http://www.ideserveavacation.com BlogIcon Walt Disney World holidays 2012.03.25 14:39

    Very informative article regarding renting an apartment..Amazing execution of the blog..Keep up the good work..

  5. Favicon of http://www.xbroshost.com/ BlogIcon vps hosting 2012.03.26 11:02

    Interesting post and thanks for sharing. Some things in here I have not thought about before.Thanks for making such a cool post which is really very well written.will be referring a lot of friends about this.Keep blogging.

  6. Favicon of http://www.xbroshost.com/ BlogIcon alertpay hosting 2012.03.26 13:24

    I declare that we have of visitors are actually quite blessed to live in a great community with so many people with perfectly precious plans. I feel really happy to have found web pages and hope that many minutes more pleasant to read here

  7. Favicon of http://www.xbroshost.com/ BlogIcon linux shared hosting 2012.03.26 15:47

    Except Jeremy Smith played for the Storm until 2008 and Mason was actually apart of the Roosters loss, unlike he was with the Bulldogs and Cowboys. Not much of a coincidence.

  8. Favicon of http://inflatabledrivein.com/ BlogIcon inflatable movie screen 2012.03.26 17:02

    Post is nicely written and it contains many good things for me. I am glad to find your impressive way of writing the post. Now it become easy for me to understand and implement the concept. Thanks for sharing the post.

  9. Favicon of http://inflatabledrivein.com/ BlogIcon inflatable screen rental 2012.03.26 19:52

    Other items included with these handbags are the serial numbers and a dust bag to store the bag. In possession of professional technocrat team, sales executives and personnel, we strive to working collectively towards the goal of taking

  10. Favicon of http://inflatabledrivein.com/ BlogIcon outdoor movie screen rental 2012.03.26 21:46

    I have just started going to a gym and my instructor is asking me to take protein supplements. I am not sure whether they are steroids or not. And secondly, I am a strict vegetarian so i was hoping if you could give me any details on what to eat. Without the meat and eggs of course

  11. Favicon of http://onlinediscountelectronicsstore.com BlogIcon Buying electronics online 2012.03.27 19:38

    Connect with Samsung Smart TV for a wealth of added entertainment options. The UN32D6000features Samsung's Smart Hub, a simple menu system for connected features. Easily search for movies, shows and videos via online services and across connected devices, chat with friends, and access a wide variety of apps from Samsung Apps.

  12. Favicon of http://www.pharmonnet.com/ BlogIcon viagraonline 2012.03.28 12:38

    This is purely a business if you want to earn something you will have to reduce the price of the product to sell it and offer some attractive discount or gift cards to the consumer...so that long-term profit can be gained...

  13. Favicon of http://www.pharmonnet.com/ BlogIcon viagraonline 2012.03.28 12:38

    This is purely a business if you want to earn something you will have to reduce the price of the product to sell it and offer some attractive discount or gift cards to the consumer...so that long-term profit can be gained...

  14. The thing is that if I cosplay Mad Moxxi, I would have to make it as non slutty as possible cuz, well.

  15. Favicon of http://www.lovemessage.org/ BlogIcon love message 2012.03.28 16:19

    the first chapter or so is pretty decent. The case for a 'brand bubble' is presented effectively. After that, the book seemed to lose traction.

  16. Favicon of http://www.government-grant.biz/community-grant BlogIcon federal government grants 2012.03.28 17:30

    Your Post is very useful, I am truly happy to post my note on this blog..

  17. Favicon of http://www.helpmykneepain.com BlogIcon Dallas Knee Doctor 2012.03.28 19:26

    An interesting blog. I'm not mistaken of thinking that Korea has its path in technology. Koreans are great.

  18. Favicon of http://www.internet-marketingservice.com BlogIcon Internet Marketing Service 2012.03.29 14:29

    I love Android phones. These have great features.

  19. Favicon of http://www.gradshop.com/academic-regalia/masters-degree/gowns.html BlogIcon Masters robe 2012.12.29 11:23

    I am student with no real income, at least till i graduate, and eBay is the sole reason I can accomplish anything. eBay is an excellent source for everything, pretty much, and especially robotic parts. Given you know what you are looking for, your very likely to find the best prices on eBay.

  20. Favicon of http://www.gradshop.com/college-graduation.html BlogIcon university regalia 2012.12.29 13:51

    I have learn this submit and if I may just I wish to suggest you some fascinating things or tips. Perhaps you could write subsequent articles referring to this article. I wish to read even more things about it!

  21. Favicon of http://www.gradshop.com/college-graduation/bachelors/gowns.html BlogIcon college graduation gowns 2012.12.29 16:32

    if the robot believes he has the right to kill the man then he does have the right and if the man feels he has the right to kill the robot then he too has the right.Other people on the outside of the fight can argue until they are blue in the face about it

2010년 10월 21일

@Linux_Kernel Twitter에 아래와 같은 소식이 올라왔습니다.


드디어 Linux Kernel 2.6.36이 정식출시되었다는겁니다.

설마 하면서 Linux 터미널에서 아래와 같은 명령어로 쳐보니 진짜 2.6.36이 Release가 되었군요^^

[root@localhost ~]# finger @ftp.kernel.org                                     

The latest linux-next version of the Linux kernel is:         next-20101021

The latest snapshot 2.6 version of the Linux kernel is:       2.6.36-rc8-git5

The latest mainline 2.6 version of the Linux kernel is:       2.6.36

The latest stable 2.6 version of the Linux kernel is:         2.6.36

The latest stable 2.6.35 version of the Linux kernel is:      2.6.35.7

The latest stable 2.6.34 version of the Linux kernel is:      2.6.34.7

The latest stable 2.6.33 version of the Linux kernel is:      2.6.33.7

The latest stable 2.6.32 version of the Linux kernel is:      2.6.32.24

The latest stable 2.6.31 version of the Linux kernel is:      2.6.31.14

The latest stable 2.6.27 version of the Linux kernel is:      2.6.27.54

The latest stable 2.4.37 version of the Linux kernel is:      2.4.37.10

[root@localhost ~]#


저는 git으로 CentOS에 Linux Kernel 2.6.36을 올렸습니다.

컴파일 해서 올리니 드디어 Linux Kernel 2.6.36을 쓸 수 있게 되었습니다.

커널을 컴파일해서 올리는 방법은 아래에 적혀있습니다.

2010/08/19 - [컴퓨터/Linux] - Linux Kernel 2.6.18에서 2.6.27로 컴파일 기록.


Linux Kernel 2.6.36 컴파일 후 결과물

[root@localhost ~]# uname -srvi

Linux 2.6.36 #1 SMP Thu Oct 21 21:26:28 KST 2010 i386

[root@localhost ~]#

Buy me a coffeeBuy me a coffee

Autoconf 로 Makefile만들기 예제 링크

 autotut: Using GNU auto{conf,make,header}

http://www.seul.org/docs/autotut/ 


Buy me a coffeeBuy me a coffee



이번 놀고 있는 연구실 컴퓨터에 있는 Cent OS에 있는 커널 버전이 낮은 관계에다 평소에 많은 자원들을 사용하지 않기때문에 커널 컴파일을 하게 되었다.

현재, 이 글을 쓰고 있는 시점에서 Cent OS 5.5 커널 버전은 2.6.18대이다. (현재 커널 버전과 차이가 많이 남)


[root@localhost ~]$ cat /proc/version

Linux version 2.6.18-194.8.1.el5 (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Thu Jul 1 19:07:06 EDT 2010

[root@localhost ~]$


또는 uname -a 로 현재 커널 버전을 알 수 있다.


[root@localhost linux-2.6.35]# uname -a

Linux localhost 2.6.18-194.8.1.el5 #1 SMP Thu Jul 1 19:07:06 EDT 2010 i686 i686 i386 GNU/Linux

[root@localhost ~]$


현재, 리눅스 커널 정보를 알아보려면 finger @ftp.kernel.org 로 알수 있다.


[studioego@localhost ~]$ finger @ftp.kernel.org

The latest linux-next version of the Linux kernel is:         next-20100816

The latest mainline 2.6 version of the Linux kernel is:       2.6.36-rc1

The latest snapshot 2.6 version of the Linux kernel is:       2.6.35-git17

The latest stable 2.6.35 version of the Linux kernel is:      2.6.35.2

The latest stable 2.6.34 version of the Linux kernel is:      2.6.34.4

The latest stable 2.6.33 version of the Linux kernel is:      2.6.33.7

The latest stable 2.6.32 version of the Linux kernel is:      2.6.32.19

The latest stable 2.6.31 version of the Linux kernel is:      2.6.31.14

The latest stable 2.6.27 version of the Linux kernel is:      2.6.27.51

[studioego@localhost ~]$


저는 위에서 안정화된 버전중에서 최신버전인 2.6.35.2 를 받아 설치하게 되었습니다.

커널은 git을 받아 설치하게 되었다.


[root@localhost src]# pwd

/usr/src

[root@localhost src]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.35.y.git linux-2.6.35


커널을 받고 나선 make menuconfig && make modules && make modules_install && make headers_install &&  make install 로 설치를 하였습니다.

아래와같이 make install을 하고 나서 아래와 같이 bzImage를 /boot 로 복사를 하고 grub에 이미지를 생성합니다. 이제 커널 컴파일이 끝나고 컴파일된 커널을 사용하게 되었습니다.


[root@localhost linux-2.6.35]# make install

sh /usr/src/linux-2.6.35/arch/x86/boot/install.sh 2.6.35.2 arch/x86/boot/bzImage \

                System.map "/boot"

[root@localhost linux-2.6.35]#



그러나 재부팅후에 아래와 같은 커널 패닉이 생겼다.


insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists

Reading all physical volumes. This may take a while....

Volume group "VolGroup00" not found

mount: Could not find filesystem '/dev/root" 

setuproot: moving /dev failed

setuproot: error mounting /proc failed

setuproot: error mounting /sys failed

kernel panic - not syncing Attemped to kill init!

Pid:1, comm: init not tained 2.6.35.2 #1

(...)


커널 패닉이 일어나서 멸망하였습니다.


참고: CentOS 5.4: installing new kernel 2.6.32.9 guide http://funky-dennis.livejournal.com/3290.html 

위의 문제를 해결하기 위해 위의 내용을 보고 삽질한 끝에, 다시 컴파일 초기화 후, .config파일 불려들여 컴파일을 하게 함.

[root@localhost linux-2.6.35]# make clean

[root@localhost linux-2.6.35]# make mrproper

[root@localhost linux-2.6.35]# cp /boot/config-현재커널 버전 ./.config

[root@localhost linux-2.6.35]# make menuconfig


현재 구동중인 커널의 환경정보를 기준으로 커널을 컴파일 하기 위하여 cp /boot/config-현재커널 버전 ./.config 를 함

메뉴 하단에 Load an Al ternate Configuration File을 선택하였다.

.config 파일이 입력되어 있는데, 이를 선택하여 현재 커널 환경을 불러들였음.

이후 General Setup ---> enable deprecated sysfs features which may confuse old usersp 를 Y키를 눌러 *로 활성화 시킨다.

이후 저장하여 메뉴 환경 설정 메뉴에서 저장하고 나왔음

컴파일 완료 재부팅을 하니 좋은 결과가 나왔음.


[root@localhost src]# cat /proc/version

Linux version 2.6.35.2 (root@localhost) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Aug 17 02:26:27 KST 2010

[root@localhost src]# uname -a

Linux localhost 2.6.35.2 #1 SMP Tue Aug 17 02:26:27 KST 2010 i686 i686 i386 GNU/Linux

[root@localhost src]#

그러나 문제가 생김. 2.6.35에서 kernel BUG at arch/x86/mm/highmem_32.c:45

highmem_32.c 의 45번째줄에서 메모리를 잘못 참조하는 에러가 나옵니다. 

2.6.35.2를 사용하다 보니 아래와 같은 메시지가 뜨면서 Kernel Panic이 일어납니다.


Message from syslogd@ at Tue Aug 17 15:04:27 2010 ...

localhost kernel: ------------[ cut here ]------------


Message from syslogd@ at Tue Aug 17 15:04:27 2010 ...

localhost kernel: invalid opcode: 0000 [#2] SMP


Message from syslogd@ at Tue Aug 17 15:04:27 2010 ...

localhost kernel: last sysfs file: /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/irq


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Process sh (pid: 3941, ti=f51c8000 task=f6b936c0 task.ti=f51c8000)


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Stack:


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Call Trace:


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: Code: e8 57 98 06 00 8b 0d 00 b0 8c c0 64 a1 a4 ef 8a c0 6b c0 29 8b 15 ac 62 81 c0 8d 2c 30 8d 04 ad 00 00 00 00 29 c1 83 39 00 74 04 <0f> 0b eb fe 89 f8 83 e7 01 8b 35 00 31 92 c0 74 13 23 05 ac 4a


Message from syslogd@ at Tue Aug 17 15:04:28 2010 ...

localhost kernel: EIP: [<c0420638>] kmap_atomic_prot+0x6e/0xad SS:ESP 0068:f51c8ea8


Broadcast message from root (pts/1) (Tue Aug 17 15:21:20 2010):


The system is going down for reboot NOW!



결국은 이 문제가 해결 못한것을 알고, 이전 커널 버전인 2.6.27로 다시 컴파일 해서 설치하였습니다.


다시 2.6.27을 받아 설치 


[root@localhost src]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.27.y.git linux-2.6.27

위와 같이 

[root@localhost linux-2.6.27]# cp /boot/config-현재커널 버전 ./.config

[root@localhost linux-2.6.27]# make menuconfig

그리고 나서 .config파일 불러들여 저장후

[root@localhost linux-2.6.27]# CONCURRENCY_LEVEL=3 make && make modules && make modules_install && make headers_install &&  make install

컴파일을 하였습니다.


(...)

sh /usr/src/linux-2.6.27/arch/x86/boot/install.sh 2.6.27.51 arch/x86/boot/bzImage System.map "/boot"

이 나오고 Linux 2.6.27의 컴파일이 완료하였습니다. 이후 재부팅을 하였습니다.


[root@localhost linux-2.6.27]# reboot



결과, 성공!

[root@localhost ~]# uname -a

Linux localhost 2.6.27.51 #1 SMP Tue Aug 17 17:32:26 KST 2010 i686 i686 i386 GNU/Linux

[root@localhost ~]# cat /proc/version

Linux version 2.6.27.51 (root@localhost) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Aug 17 17:32:26 KST 2010

[root@localhost ~]#


Linux Kernel 2.6.27.51 로 간신히 올렸음 -_-;;


오늘의 교훈: 최신 버전이라고 다 좋은 것도 아님. 아주 최신 버전에서 버그가 나올 수 있다.



Buy me a coffeeBuy me a coffee




제 노트북인 ThinkPad R52에 Ubuntu 10.04가 설치가 되어 있고, 커널은 2.6.32가 설치되어 있습니다.

studioego@studioego-laptop:~$ uname -a 

Linux studioego-laptop 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux

studioego@studioego-laptop:~$ cat /proc/version

Linux version 2.6.32-24-generic (buildd@rothera) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010

studioego@studioego-laptop:~$ 


이 노트북에 Linux Kernel 2.6.32에서 2.6.34로 올려볼 생각을 하였습니다. (최신 버전인 2.6.35.2 에 kernel BUG at arch/x86/mm/highmem_32.c:45 메모리 참조 잘못하는 버그가 있어서 차마 최신 버전을 올리진 못하고 안정버전인 2.6.34로 컴파일 하게 되었습니다.)


자고 일어나면 컴파일 완료되어서 노트북에 새로운 커널이 부팅되는 모습을 볼 수 있겠지?

Buy me a coffeeBuy me a coffee

CentOS 5.5에서 Android 커널 컴파일 하다 아래와 같은 오류가 생길 때가 있다.


Install: out/target/product/eee_701/system/app/Mms.apk
make: *** No rule to make target `vendor/google/frameworks/maps/
com.google.android.maps.xml', needed by `out/target/product/eee_701/
system/etc/permissions/com.google.android.maps.xml'.  Stop.

이럴 경우엔 eee_701.mk 파일 내용중에서 generic_with_google.mk를 generic.mk로 수정을 한다.

이 경우엔 구글 지도와 구글 토크를 사용하지 못하는 단점은 있다.

출처: [android-porting] Re: Compile error (no com.google.android.maps.xml)

Buy me a coffeeBuy me a coffee

+ Recent posts