Thursday, September 28, 2017

Enable HP Zbook Thunderbolt 3 Dock on Ubuntu

As mention in previously post, I installed Ubuntu on my HP ZBook. After two days used all things work just fine, but the Thunderbolt 3 Dock did not work at the beginning - the network cable, HDMI, VGA port on the dock is not detected in Ubuntu.

I spent some time to check the BIOS overall, and find out, after change BIOS -> Options -> Ports -> Thunderbolt 3 Port, from "PCIe and Display user authentication" to "PCIe and Display no secure", all Thunderbolt 3 Dock functions work in Ubuntu now. I can use my two 23' displays now.

Saturday, September 23, 2017

Install Ubuntu with Windows UEFI dual boot

I tried to install Ubuntu with my existed Windows 7 today, and have the Ubuntu / Windows dual OS boot up. The most guides on web are out of date, special for currently most PC use UEFI as default boot configuration, there are a lot of mistakes. So I take a as-is notes for today: 2017-09-24

To install Ubuntu without wipe existed Windows with UEFI:
1. Prepare ubuntu install USB stick and empty disk space in Windows.  You can search on web about this step, a lot of guides.
2. Boot up with the ubuntu install USB stick. IMPORTANT:  DO NOT select "install ubuntu" in boot menu!! Select "Try ubuntu" to boot into live ubuntu (it runs on your USB stick, does not install any things) firstly, then select "Install Ubuntu" --- These two "Install Ubuntu" are different because you need boot up into ubuntu for detecting UEFI mode.
3. Select "Install ubuntu" -> "Something else", create the first partition , for 300MB size, of your empty space as a "EFI partiton"!!! You MUST have this partition.
4. Then create /boot after that EFI partition. And create /, /home, /swap as your wish.
5. Select "Install boot at" option to the EFI partition you just created!!!
6. Then continue the install process as normal.

The key point is to boot into ubuntu then do the installation, and the EFI partition. Another thing must aware is, DO NOT use "hybird display card" option in BIOS, otherwise ubuntu will show an empty desktop because pci issue.
 

Wednesday, June 7, 2017

Thrift fails on Windows - thrift failed error: The command line is too long.

Meet a thrift compiling failure on my project on Windows 7. Using Maven in IntelliJ so I choiced maven-thrift-pluging for thrift files. For one project, the thrift failed as below:

[INFO] — maven-thrift-plugin:0.1.11:compile (thrift-sources) @ xxxxxxxxxxxxxxx —
[ERROR] thrift failed output: 
[ERROR] thrift failed error: The command line is too long.

Executed the thrift --gen manually did not meet this issue, so most likely caused by how maven-thrift-plugin call the compiler. Finally I had a workaround to decrease the thrift temp file folder path to pass the build:

Below configuration changed the folder name from default "thrift-dependencies" to "td", lucky my project pass build, otherwise I think I have to move my project to a up-level folder to get a shorter path.

<plugin>    <groupId>org.apache.thrift.tools</groupId>    <artifactId>maven-thrift-plugin</artifactId>    <configuration>        <thriftExecutable>${thrift.compiler}</thriftExecutable>        <generator>${thrift.generator}</generator>        <temporaryThriftFileDirectory>${project.build.directory}/td</temporaryThriftFileDirectory>    </configuration></plugin>

Friday, May 5, 2017

Gradle Failed for Google Guava: transformClassesWithDexForDebug TransformException

Meet the compile issue when adding Google Guava into my Android project:

dependencies {
  compile 'com.google.guava:guava:21.0'
}
Error:

10:16:43.803 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > com.android.build.api.transform.TransformException: com.android.ide.common.pro
cess.ProcessException: Error while executing java process with main class com.android.multidex.ClassReferenceListBuilder with arguments {xxxxxxxxxxx\build\intermediates\multi-dex\debug\componentClasses.jar xxxxxxxxx\build\intermediates\transforms\jarMerging\de
bug\jars\1\1f\combined.jar}

After downgrade guava to version 19 the project passed build successfully:
dependencies {
  compile 'com.google.guava:guava:19.0'
}
Have no time to dig into the root cause yet, record here for reference.

Wednesday, March 8, 2017

How to build React-Native behind proxy

Recently I tried to setup and build react-native app (mostly for Android), behind a proxy server. To pass the gradle build, need set proxy config as below:


  • Edit AwesomeProject\Android\gradle.properties, add proxy config:
  •     systemProp.http.proxyHost=10.255.247.227
  •     systemProp.http.proxyPort=8080
  •     systemProp.https.proxyHost=10.255.247.227
  •     systemProp.https.proxyPort=8080


Enable HP Zbook Thunderbolt 3 Dock on Ubuntu

As mention in previously post, I installed Ubuntu on my HP ZBook. After two days used all things work just fine, but the Thunderbolt 3 Dock ...