Related
As an experiment I am trying to rebuild some standard android applications and replace them in system/app on the G1. I have been through all the steps to get the source code and build for the dream platform and have built the various .apk files of interest (e.g. AlarmClock.apk, Browser.apk etc)
To put the files on the device I delete the old .apk and .odex files and copy my newly built .apk file on to the device. However when I try to run the application it crashes with the following message.
The application Alarm Clock (process com.android.alarmclock) has stopped unexpectedly. Please try again.
I know that replacing the applications like this is possible, because the AutoRotating Browser build works fine when copies over in this manner.
I'm using JF1.31 (RC8)
My initial reaction was that I was not signing the applications properly but having read some posts I think the default built .apk should have the right key already in it.
Another theory I have is that perhaps the applications from the head of the source tree are not compatible with the RC8 (or RC30) Android OS releases. Can anyone tell me how to get the source tree which corresponds to this baseline, I've done some reading around but cannot figure it out. I presume I need to do a repo init -u git://android.git.kernel.org/platofrm/manifest.git -b BASELINE but I can't figure out what BASELINE should be.
Many thanks in advance for any help you can give me!!!
There are some branches in android sources:
master
cupcake
release-1.0
Apps from the first two will not run on default G1, you need to reinstall a whole system. I think by default, following google docs you'll get master. So you need to download a release-1.0 sources.
I may be wrong, but that is what I'm see from my experience.
Thanks for that, I'll get the 1.0 branch downloaded and have a go with that.
Cheers for your help!
I was also trying to recompile some of the built-in apps, specifically the browser, but I can't even get it to build. I get a bunch of import errors, stating that it can't find some of the android libraries, such as android.net.http.AndroidHttpClient, android.os.AsyncTask, etc. I've got the android.jar from the SDK in my build path, and it finds some of them, such as android.webkit.URLUtil.
Can anyone shed some light on what I need to do to get it to see the missing libraries? Thanks.
UndeadCretin said:
Thanks for that, I'll get the 1.0 branch downloaded and have a go with that.
Cheers for your help!
Click to expand...
Click to collapse
There are around a dozen build breaks in release-1.0... all of them are due to missing header #includes in various .c and .h files. So, when it doesn't work, don't give up. Fix the breaks and everything will build properly.
Are you resigning the .apk files? Cuz you have to do that for them to work correctly.
Koush said:
There are around a dozen build breaks in release-1.0... all of them are due to missing header #includes in various .c and .h files. So, when it doesn't work, don't give up. Fix the breaks and everything will build properly.
Click to expand...
Click to collapse
Yep I fixed these problems but I have now hit upon the following problem:
(unknown): error 17: Field android.hardware.SensorManager.LIGHT_NO_MOON has changed value from 0.0010f to 0.001f
******************************
You have tried to change the API from what has been previously released in
an SDK. Please fix the errors listed above.
******************************
I've been in and modified SensorManager back to 0.0010f and that let me build get further but I hit the same error again later in the build.
Given that release-1.0 should be a stable branch is it normal to get all these build issues?
Managed to fix the java issue by modifying public_api.xml. Then hit several more C++ problems which I fixed and finally I can build the lot!
Just tried building the AlarmClock application and running on the G1 and it works fine. Thanks everyone for your help!
>Managed to fix the java issue by modifying public_api.xml. Then hit several more C++ problems which I fixed and finally I can build the lot!
Can you write, what did you fix?
^ Agreed, let us know which files need modifying and what needs doing, i've been trying to get my release-1.0 build root working too!
Alternatively, UndeadCretin, could you build the firmware (release-1.0) with a modified framework-res i can send you?
Ok, I managed to compile it without any editing of xml.
Just added stdlib, string, vector headers to dozen of cpp/h.
worry said:
>Managed to fix the java issue by modifying public_api.xml. Then hit several more C++ problems which I fixed and finally I can build the lot!
Can you write, what did you fix?
Click to expand...
Click to collapse
To fix the java issue, I modified frameworks/base/core/java/android/hardware/SensorManager to change the LIGHT_NO_MOON value to 0.0010f (from 0.001f) and in out/target/common/obj/PACKAGING I modified the <field name="LIGHT_NO_MOON" to have value-"0.0010f">
After this there were several other c++ files which were missing relevant includes. I'm afraid I didn't keep a note of these so cannot provide much detail but mostly they were missing one of the following
#include "stdlib.h"
#include "string.h"
#include "stdio.h"
I think one file needed the following include
#include <string>
and there were a couple of other files that needed other includes. The best way to find these is to google for the function name that isn't building and you should be able to find the appropriate include (that's how I did it).
Hope that helps a bit!
were you able to repo sync after adding the local_manifest.xml?
ximonx said:
were you able to repo sync after adding the local_manifest.xml?
Click to expand...
Click to collapse
I did try that previously but it didn't work. I don't think the relevant files for the dream build are available in the release-1.0 branch. This wasn't a problem for me since I'm only interested in building the applications which work fine with the generic build.
I would like to do the same for the mms application. Could you give me the steps or a link how to do it? I mean do I need the whole sources from android platform to do it? How can I just compile one application?
Phlogiston said:
I would like to do the same for the mms application. Could you give me the steps or a link how to do it? I mean do I need the whole sources from android platform to do it? How can I just compile one application?
Click to expand...
Click to collapse
I downloaded the whole Android source (the release-1.0 branch) and compiled the lot. It may be possible to just build the individual application but I do not know how. It is not vital to build for the dream platform if you only care about the applications since they will work fine with the generic build.
So the basic steps to start are:
Get yourself a Linux or Mac OS platform (I use Ubuntu running in VMWare on my XP box).
Follow the instructions here: http://source.android.com/download but when you come to repo init add the flag -b release-1.0
Fix various build problems
When recompiling individual apps to replace system apps is there a way of just building a single application or does the entire thing need making?
ximonx said:
When recompiling individual apps to replace system apps is there a way of just building a single application or does the entire thing need making?
Click to expand...
Click to collapse
My experience is that you have to do the whole thing if you are building from source. There is one way I know of to get around this, which is to use baksmali and smali.
Just to be clear, making the entire thing = build from source root?
ximonx said:
Just to be clear, making the entire thing = build from source root?
Click to expand...
Click to collapse
If you are asking me--yes, that's what I mean. Make sure to build for dream-open as the target (it's generic by default).
Hello All,
I am new to the android platform. So please forgive if this is too trivial a question.
1. How do I obtain source code for a specific platform and a specific phone?
Is it segregated that way?
2. How do I build ROM and package it to deploy on the phone?
Please provide pointers to these and I am willing to go through the documents/literature. Please help.
Thanks in advance!!
Two answers first question go in general section second start here http://forum.xda-developers.com/showthread.php?t=1117554 very good read hope this helps
sent from gingerbread 2.3.3 sgs4g ROOTED
rose2jam said:
Two answers first question go in general section second start here http://forum.xda-developers.com/showthread.php?t=1117554 very good read hope this helps
sent from gingerbread 2.3.3 sgs4g ROOTED
Click to expand...
Click to collapse
Thanks for the quick response! I have been going over that thread quite extensively but I can't seem to locate threads for
1. How to get the source code for the instrument( SGS4G) ?
2. How to build a complete ROM which is flashable? Basically, How to package it for deployment, like the other developers do on this forum.
androcton said:
Thanks for the quick response! I have been going over that thread quite extensively but I can't seem to locate threads for
1. How to get the source code for the instrument( SGS4G) ?
2. How to build a complete ROM which is flashable? Basically, How to package it for deployment, like the other developers do on this forum.
Click to expand...
Click to collapse
You didn't post in the right section, this needs to go in the general section.
You'll need to download the phone's source:
https://opensource.samsung.com/reception/reception_main.do?method=reception_search&searchValue=t959v
You should grab both files there. You'll need to build this on Linux or anything that has G++ for ARM.
FBis251 said:
You didn't post in the right section, this needs to go in the general section.
You'll need to download the phone's source:
https://opensource.samsung.com/reception/reception_main.do?method=reception_search&searchValue=t959v
You should grab both files there. You'll need to build this on Linux or anything that has G++ for ARM.
Click to expand...
Click to collapse
Thank you so much! I am already onto it!
Moved to proper forum.
androcton said:
Thank you so much! I am already onto it!
Click to expand...
Click to collapse
Did you ever get it working? I also found Dr. Honk's public git here:
https://github.com/drhonk/android_device_samsung_sgs4g
You can see the source for the Bali kernel here:
https://github.com/drhonk/Bali-V4G
Tell me how it goes.
FBis251,
Thanks for the resources! Currently I am still trying to get my dev-env setup properly, somehow have some installation/setup issues with the GNU/LINUX ARM toolchain. Meanwhile, I could build the kernel from the android base from source.android.com.
I have the system.img and other files in the out directory. The build went through but with lot of warnings. Here is the buildlog. Please let me know if something is amiss. Thanks!
Assuming the build went fine, I am not quite sure how to load that onto the device. I am trying to run an emulator though....will get back on that.
androcton said:
FBis251,
Thanks for the resources! Currently I am still trying to get my dev-env setup properly, somehow have some installation/setup issues with the GNU/LINUX ARM toolchain. Meanwhile, I could build the kernel from the android base from source.android.com.
I have the system.img and other files in the out directory. The build went through but with lot of warnings. Here is the buildlog. Please let me know if something is amiss. Thanks!
Assuming the build went fine, I am not quite sure how to load that onto the device. I am trying to run an emulator though....will get back on that.
Click to expand...
Click to collapse
Have you tried looking at:
http://source.android.com/source/building.html
Apparently you can just flash the image you just made... Try to see if you can open the .img as a .tar...?
I'm having trouble compling the bali kernel... I'll try again tomorrow.
FBis251 said:
Have you tried looking at:
http://source.android.com/source/building.html
Apparently you can just flash the image you just made... Try to see if you can open the .img as a .tar...?
I'm having trouble compling the bali kernel... I'll try again tomorrow.
Click to expand...
Click to collapse
Hi FBis251,
Can you please tell me how did you go about setting up the dev-env(the cross compiling toolchains). Are you using linux( which flavor, I am using Ubuntu 11.04 Natty Narwhal). I have some problems setting up the toolchains...as mentioned in the below link
https://opensource.samsung.com/recep...rchValue=t959v
Any ideas??
The readme from the opensource site says:
Code:
HOW TO BUILD KERNEL
1. Visit http://www.codesourcery.com/, download and install Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI.
2. Extract kernel source and move into the top directory.
3. Execute 'make vibrantplus_rev00_defconfig'.
4. Execute 'make' or 'make -j<n>' where '<n>' is the number of multiple jobs to be invoked simultaneously.
I just googled thw 2009q3-68 version since I couldn't find it on the site after signing up and came across this:
http://www.codesourcery.com/sgpp/lite/arm/portal/release1033
I actually haven't gotten the kernel to compile without errors yet, and I haven't tried building the platform source until later today. You'll have to modify the makefile, look for the variable called CrossCompile and set it to the main /bin folder from the CodeSourcery toolchain.
Should be something like
Code:
CROSS_COMPILE ?= /home/user/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi-
I'll give you more details later, I'm still learning as I go too.
Also, something I came across to speed things up when you do the make, apparently if you have a quadcore processor, you can use make -j 8 (or just multiply however many cores you have by 2) and the compile should run as fast as possible.
Keep me posted.
FBis251 said:
The readme from the opensource site says:
Code:
HOW TO BUILD KERNEL
1. Visit http://www.codesourcery.com/, download and install Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI.
2. Extract kernel source and move into the top directory.
3. Execute 'make vibrantplus_rev00_defconfig'.
4. Execute 'make' or 'make -j<n>' where '<n>' is the number of multiple jobs to be invoked simultaneously.
I just googled thw 2009q3-68 version since I couldn't find it on the site after signing up and came across this:
http://www.codesourcery.com/sgpp/lite/arm/portal/release1033
I actually haven't gotten the kernel to compile without errors yet, and I haven't tried building the platform source until later today. You'll have to modify the makefile, look for the variable called CrossCompile and set it to the main /bin folder from the CodeSourcery toolchain.
Should be something like
Code:
CROSS_COMPILE ?= /home/user/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-eabi-
I'll give you more details later, I'm still learning as I go too.
Also, something I came across to speed things up when you do the make, apparently if you have a quadcore processor, you can use make -j 8 (or just multiply however many cores you have by 2) and the compile should run as fast as possible.
Keep me posted.
Click to expand...
Click to collapse
I followed the procedure mentioned in that readme file, but with additional info from other site,,
I extracted the source code from samsung open source, and then used the toolchain from the android base and it looked like it built(lot of warnings), but i cant find zImage anywhere?Wondering what ever happened during the build,,,
command used: make -j4 ARCH=arm CROSS_COMPILE=/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- zImage
Build abruptly end, no build logs anything, see file for build output.
Is there anything that I am missing?, Please help!
And, Don't you think the build log is unusually small for a kernel build?? :O
androcton said:
I followed the procedure mentioned in that readme file, but with additional info from other site,,
I extracted the source code from samsung open source, and then used the toolchain from the android base and it looked like it built(lot of warnings), but i cant find zImage anywhere?Wondering what ever happened during the build,,,
command used: make -j4 ARCH=arm CROSS_COMPILE=/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- zImage
Build abruptly end, no build logs anything, see file for build output.
Is there anything that I am missing?, Please help!
And, Don't you think the build log is unusually small for a kernel build?? :O
Click to expand...
Click to collapse
Folks on the forum, any ideas, the open source code from samsung sure looks like it has built all the '.o's but abruptly stop without even a warning as to what is wrong? Please help. Thanks in advance!
androcton said:
Folks on the forum, any ideas, the open source code from samsung sure looks like it has built all the '.o's but abruptly stop without even a warning as to what is wrong? Please help. Thanks in advance!
Click to expand...
Click to collapse
Okay, I got the kernel to compile after getting rid of the
1. "error: 'SEGMENT_SIZE' undeclared" problem, I had to turn on the Make V=1 ( verbose mode) explicitly to get to this point.
2. Next the compilation stopped saying "make[3]: *** No rule to make target `net/ipv4/netfilter/ipt_ecn.o', needed by `net/ipv4/netfilter/built-in.o'."
I had to remove the netfilter support from the kernel. I REALLY did not know how to solve this problem. Now that I have built the zImage( really small compared to the zImage that gets posted around in the forum) I am now concentrating on how get netfilter back into the kernel, for it is an important module for anything to do with TCP/IP security n filtering.
Finally,
3. How do I package this to the phone as a complete bootable ROM? Please help! Thanks in advance!
I found this thread, it might be useful. I can't try it until later though.
http://forum.xda-developers.com/showthread.php?t=704561
Can anyone provide me some reference or guide on how to compile the ROM for tf101 from Paulburton's ICS source.
rajkumard said:
Can anyone provide me some reference or guide on how to compile the ROM for tf101 from Paulburton's ICS source.
Click to expand...
Click to collapse
Check his website for repo information. Beyond that, its no different than compiling any rom from source.
You should know that you probably will not get anything different than what he has released thus far, that is, unless you have coded your own changes.
Thanks, I will check the link. I believe he has few bug fixes which I need, that's the reason why I wanted to compile it.
rajkumard said:
Thanks, I will check the link. I believe he has few bug fixes which I need, that's the reason why I wanted to compile it.
Click to expand...
Click to collapse
Understood. I do know that Paul is neck deep with finals, and other school stuff, so there is no harm in running a compile yourself. I just wanted to make sure you knew what to expect. His repo sync is a tad different from other instructions, i.e. CyanogenMod...but once you get it all pulled down, its essentially the same steps for the compile portion.
Actually I am new to this. All these days I have been only using the ROM's and never tried to compile one. This is my first time and I appreciate your help. The link really helper, I have started syncing the repo, looks like it's going to be a while. I will post if I run into any issues.
rajkumard said:
Actually I am new to this. All these days I have been only using the ROM's and never tried to compile one. This is my first time and I appreciate your help. The link really helper, I have started syncing the repo, looks like it's going to be a while. I will post if I run into any issues.
Click to expand...
Click to collapse
I will tell you this...use ccache, its a huge time saver when you need to rebuild after making changes. Also...dedicated build system really is recommended, and without question, the more juice its got, the better.
Here are a couple of links...including a kernel specific one from CyanogenMod's wiki. I use both when I am bored and just want to compile something
Yet Another Tutorial on Building Android from Sources
Building Kernel from Source
Compiling ICS from Source
Hope these help!
http://source.android.com/source/initializing.html
http://wiki.cyanogenmod.com/wiki/Building_from_source
You will probably need these... be sure to cross reference the CM website against the google one. There are a few differences.
Thank you for the links. I got a spare machine and am thinking it is about time I did something productive with it.
Thanks for all the links, I was using one of the links that you have provided. It had the with step by step instruction. I followed it, most of the things went fine and some issues I was able to resolve. Now when try to build the rom using the make command I get the following error. I am doing the sync again to see if it resolves. I will try it out tomorrow. Meanwhile if any of you have any suggestions please let me know. btw I have tried the solution provided in one of the xda thread (repo sync -f) already and it did not resolve.
ERROR:
cts/apps/CtsVerifier/lib/colorchecker/Android.mk:22: external/stlport/libstlport.mk: No such file or directory
make: *** No rule to make target `external/stlport/libstlport.mk'. Stop.
rajkumard said:
Thanks for all the links, I was using one of the links that you have provided. It had the with step by step instruction. I followed it, most of the things went fine and some issues I was able to resolve. Now when try to build the rom using the make command I get the following error. I am doing the sync again to see if it resolves. I will try it out tomorrow. Meanwhile if any of you have any suggestions please let me know. btw I have tried the solution provided in one of the xda thread (repo sync -f) already and it did not resolve.
ERROR:
cts/apps/CtsVerifier/lib/colorchecker/Android.mk:22: external/stlport/libstlport.mk: No such file or directory
make: *** No rule to make target `external/stlport/libstlport.mk'. Stop.
Click to expand...
Click to collapse
The obvious question would be does the folder/file exist?
Code:
$ ls external/stlport/libstlport.mk
external/stlport/libstlport.mk
If it is...type 'env' at your command prompt and see what environment variables are set to see if the external folder should be seen.
Re-run 'source ./build/envsetup.sh', then 'lunch' and choose the tf101-userdebug (or what ever Paul uses now) option listed after running lunch.
See if that helps.
I'm repo sync'ing now- gosh, it takes longer to sync than it does to build. I still have to clone the kernel. I think it's been downloading for 2 hours!
I've actually never flashed this ROM, but that won't stop me from building it
Thanks gVibeR. The external folder exist but the 'stlport' folder does not exist. And I also did not see any option with 'tf101' in it when I run 'lunch'. I tried re-syncing the repo but i ran into out of space error. I did not know where to delete all the earlier repo downloads. This was a brand new Ubuntu installed with 25gig disk space. I will keep looking and let know if I had any luck.
rajkumard said:
Thanks gVibeR. The external folder exist but the 'stlport' folder does not exist. And I also did not see any option with 'tf101' in it when I run 'lunch'. I tried re-syncing the repo but i ran into out of space error. I did not know where to delete all the earlier repo downloads. This was a brand new Ubuntu installed with 25gig disk space. I will keep looking and let know if I had any luck.
Click to expand...
Click to collapse
I think you'll need more space than that - once you start building, the directory will swell to over 20gb. For comparison, andromadus(ICS) for the vision is 21g and CM7 (GB) is 18gb.
I'm still downloading, but spark source is at least 11gb and that doesn't include the kernel or the out directory, which will fill up after building.
I think you will need at least 25gb for the build plus whatever for ubuntu. If you are hard up for space, you can install one of the server versions of ubuntu, which doesn't include the GUI (~1.5gb).
The repo files are stored in .repo, which will be hidden. Use ls -a to see it, although I think it manages and discards old commits.
Thanks gee one, I have more than enough space, just thought 25gig should be fine. I will install Ubuntu again with more space and give it a try. Let me know how it goes for you, please post if you got any issues and resolved it.
Hi all,
Since several people have PM'd me about it, here is my port of MikTeX 2.9 for Windows RT. I've been out with the flu and ... I'll be rather busy this week, so I won't have much time to support it, but basically extract into your program files directory and run MikTeX-TexWorks.exe in the miktex\bin\arm directory. You might have to perform some configuration.... I haven't had the chance to figure out what those steps are from clean install, but it might involve running initexmf and having it initialize the file cache.
Automatic package install seems to work out of the box. Also, the JavascriptCore from Qt is compiled in interpreter mode (not JIT mode), but it seems to run just fine, even for running texworks scripts. Finally, I didn't get XeTeX compiled, so that isn't included.
http://ge.tt/8omfzEW
Awesome work! Thanks man!
awesome, this is exactly what I need to be able to bring my surface to the next conference.
sorry for this post but i was not able to compile the tex files. I got the error about dump file not found. I ran initexmf but nothing happens. Can you give me some pointer please?
Thank you.
illidanx said:
sorry for this post but i was not able to compile the tex files. I got the error about dump file not found. I ran initexmf but nothing happens. Can you give me some pointer please?
Thank you.
Click to expand...
Click to collapse
Same error
Really nice to see MikTex, although I am getting the same error.
Any chance you can fix this?
I'm trying to compile MiKTeX myself, hopefully to get Xetex as well. But I'm stuck -- plenty of CMake's generated scripts don't work well in a cross-compile environment. Any tips?
lowjoel said:
I'm trying to compile MiKTeX myself, hopefully to get Xetex as well. But I'm stuck -- plenty of CMake's generated scripts don't work well in a cross-compile environment. Any tips?
Click to expand...
Click to collapse
CMake cannot be used for windows RT at this time. Visual Studio 2012 (possibly 2013 aswell) is the only way to build for Win32 with THUMB2 at the moment.
Yeah, I tried both. The vcxproj generated by CMake seems even more broken than the Makefiles. The main evil thing is that MiKTeX generates bootstrap binaries to generate some outputs. In a cross-compile environment you can't run the generated tools to produce the necessary outputs. So unless someone knows all the different binaries, or if I'm missing something major...
Sledgehamma said:
Really nice to see MikTex, although I am getting the same error.
Any chance you can fix this?
Click to expand...
Click to collapse
I found the fix.
Just make sure you unzipped the entire directory to C:\Program Files\MiKTeX 2.9 (exactly); there are some hardcoded configuration that assumes it's installed there.
And to get the package manager working, fire up a shell
Code:
cd C:\Program Files\MiKTeX 2.9\miktex\bin\arm
initexmf --update-fndb
---------- Post added at 08:51 AM ---------- Previous post was at 08:45 AM ----------
Oh; the package manager does not work properly when running in a non-administrator TexWorks. Make sure you run TeXWorks as admin if you need to install packages (should be one-off)
Hello,
i'm interessed in running MiKTeX on jailbroken Windows rt 8.1, but can't get it properly signed. Anyone got a working Version and mind sharing?
Greetings, zedi
Hello from 2023, my friend! It looks like ge.tt does not work here. Could you please upload MikTex somewhere else?
https://github.com/Microsoft/winfile was open source recently, so I built it for rt.
It doesnt ran under WinRT8.1 with same error like WinDjView "number 1566 didn't fnd in the library". Rebuilded new one WinDjView with leaked MFC from VS2001beta works well (with some limitation). Please research this bug. I need an 2window file manager for my RT. How can I help ya?
any chance to get the error as shown in the English ui? would be more familiar to me.
I don't think this project uses mfc.
my guess is some linked dll has an ordinal of 1566 which moved in the dll between rt8.0 and rt8.1. if i get some time I'll recreate the libs from custom def and avoid including ordinal values, so the linker will be forced to load by symbol name.
a note to remind myself how to do that:
lib.exe /def:libfile.def /out:libfile.lib
Please look at there its my opened issue
https://github.com/Microsoft/winfile/issues/6
Unfortunately even when I install English UI some parts of UI still in prenstalled language (Russian in my case) ecen when it sets to English and reboot. This error is still in Russain and Im not sure how it sounds correctly in English.
hooddy said:
Please look at there its my opened issue
https://github.com/Microsoft/winfile/issues/6
Unfortunately even when I install English UI some parts of UI still in prenstalled language (Russian in my case) ecen when it sets to English and reboot. This error is still in Russain and Im not sure how it sounds correctly in English.
Click to expand...
Click to collapse
Privet! Yes, thanks, I am in that github thread also.
Please try this one if you have the time and willingness.
TLDR; Made libs without ordinals to force the system to load libraries and symbols by name. Based upon your error message containing a numerical value and not knowing whether the system will fail if incorrect ordinal or will retry by name.
Steps to produce are different from these: http://www.wanderinghuman.com/blog/archives/000123.html
In addition to that workspace, here's the changes:
Linked without each library individually to see which symbols were used
For each library
created a library.def file with the missing symbols obtained from linked errors
used this command: lib /def:library.def /out:library.lib /MACHINE:ARM
If First time;Observed linker error on resulting library about 0x1c0 (MACHINE:ARM) and remembered that's the Windows CE ARM thumb1
Hex edited library.lib to replace 0x1c0 with 0x1c4 (THUMB2) where relevant
end
Adjusted linker properties to hard code my libraries, so it didn't search default libraries.
Linked and produced what is attached here.
Edit, had typo in a def file, so fixing binary after fixing it/
smb_gaiden said:
any chance to get the error as shown in the English ui? would be more familiar to me.
I don't think this project uses mfc.
my guess is some linked dll has an ordinal of 1566 which moved in the dll between rt8.0 and rt8.1. if i get some time I'll recreate the libs from custom def and avoid including ordinal values, so the linker will be forced to load by symbol name.
a note to remind myself how to do that:
lib.exe /def:libfile.def /out:libfile.lib
Click to expand...
Click to collapse
NEVER LINK WITH ORDINALS, JUST NEVER. That made me lose a metric ton of time reporting stuff which was already ported to RT otherwise. It's a very bad idea, it's worse having builds with ordinals than no builds at all; a fixed version is attached by the way.
Why are you doing it by generating .libs? that's not required anymore, just add the ARM desktop SDK in individual components on VSinstaller
black_blob said:
NEVER LINK WITH ORDINALS, JUST NEVER. That made me lose a metric ton of time reporting stuff which was already ported to RT otherwise. It's a very bad idea, it's worse having builds with ordinals than no builds at all; a fixed version is attached by the way
Click to expand...
Click to collapse
Thanks for the build. I miss some dll to run it. Can ya share it please?
And please share your Far manager build. I really miss them.
smb_gaiden said:
Privet! Yes, thanks, I am in that github thread also.
Please try this one if you have the time and willingness.
TLDR; Made libs without ordinals to force the system to load libraries and symbols by name. Based upon your error message containing a numerical value and not knowing whether the system will fail if incorrect ordinal or will retry by name.
Steps to produce are different from these: http://www.wanderinghuman.com/blog/archives/000123.html
In addition to that workspace, here's the changes:
Linked without each library individually to see which symbols were used
For each library
created a library.def file with the missing symbols obtained from linked errors
used this command: lib /def:library.def /out:library.lib /MACHINE:ARM
If First time;Observed linker error on resulting library about 0x1c0 (MACHINE:ARM) and remembered that's the Windows CE ARM thumb1
Hex edited library.lib to replace 0x1c0 with 0x1c4 (THUMB2) where relevant
end
Adjusted linker properties to hard code my libraries, so it didn't search default libraries.
Linked and produced what is attached here.
Edit, had typo in a def file, so fixing binary after fixing it/
Click to expand...
Click to collapse
Privet! Ill try this new build and it's not workd with the same error as early was. What about all you write there I not really undasttod what can I do for you to improve it Im sorry for my stupidility(((
black_blob
can you tell me more about that please?
hooddy said:
Privet! Ill try this new build and it's not workd with the same error as early was. What about all you write there I not really undasttod what can I do for you to improve it Im sorry for my stupidility(((
Click to expand...
Click to collapse
you'll have to install the ucrt compatibility update
smb_gaiden said:
black_blob
can you tell me more about that please?
Click to expand...
Click to collapse
Windows 10 SDKs for VS2017 have the full set of ARM .libs these days. Set the SDK version to 10.0.16299
black_blob said:
you'll have to install the ucrt compatibility update
Click to expand...
Click to collapse
Where I can get it? Some msu file please. I try to obtain this dll form powershell and dot.net at github with no luck.
@black_blob thank you
@hooddy don't try to understand, just some development information.
smb_gaiden said:
@black_blob thank you
@hooddy don't try to understand, just some development information.
Click to expand...
Click to collapse
I thinks it's an https://support.microsoft.com/en-us/help/3118401/update-for-universal-c-runtime-in-windows I didn't get it over WU. Can ya share direct link for KB3118401 and KB2919355 msu for WinRT please?
Maybe this can help to build proper
https://github.com/Microsoft/winfile/issues/102
Well how about working RT build? Nope?
hooddy said:
Well how about working RT build? Nope?
Click to expand...
Click to collapse
Ended up choosing the nuclear option, and that seems to work alright.
black_blob said:
Ended up choosing the nuclear option, and that seems to work alright.
Click to expand...
Click to collapse
Ya make my day! Thank ya really much!
black_blob said:
Ended up choosing the nuclear option, and that seems to work alright.
Click to expand...
Click to collapse
Oh cool, you saved my future self some time! I ordered a surface RT in order to run 8.1 and leave my main one undisturbed. However, still have some work to do elsewhere, so can you elaborate on the nuclear option in order to save my future self more time? Thank you very much!
Static linking for everything + LTCG + removal of all unused code. It ends up working so well that it has the same size as the binary with outside depends.
I got my new (used) surface rt a few days ago, spent 3 days discovering the service pack update black screen error, installing all the service packs, then using the tool provided by Qiangong et. all.
Reproduced the error with my Winfile and realised that there was one critical library that was being linked with ordinals. Drum roll... kernel32.lib due to not using /NODEFAULTLIBS.
Anyway, it has been corrected and attached is a dynamically linked winfile.exe which runs on Windows RT 8.1. It has already been signed.