Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not able to run the project on my machine. #2

Closed
ponikar opened this issue Jul 25, 2024 · 2 comments
Closed

Not able to run the project on my machine. #2

ponikar opened this issue Jul 25, 2024 · 2 comments

Comments

@ponikar
Copy link

ponikar commented Jul 25, 2024

Hey @szymonrybczak

Your demo at GeekConf was wonderful. I got really excited and I cloned your repo and tried to run iOS build. However I am not able to run this project my machine. I had to change react-native-ai.podspec file to add a dynamic HEADER_SEARCH_PATHS. After updating the podfile the file looks like this.


package = JSON.parse(File.read(File.join(__dir__, "package.json")))
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'

Pod::Spec.new do |s|
  s.name         = "react-native-ai"
  s.version      = package["version"]
  s.summary      = package["description"]
  s.homepage     = package["homepage"]
  s.license      = package["license"]
  s.authors      = package["author"]

  s.platforms    = { :ios => min_ios_version_supported }
  s.source       = { :git => "https://github.com/szymonrybczak/react-native-ai.git", :tag => "#{s.version}" }

  s.source_files = "ios/**/*.{h,m,mm}"

  s.subspec 'MLCEngineObjC' do |ss|
    ss.source_files = 'ios/**/*.{h,m,mm}'
    ss.private_header_files = 'ios/ObjC/Private/*.h'
    ss.pod_target_xcconfig = {
        'HEADER_SEARCH_PATHS' => [
        '$(PODS_ROOT)/tvm/include',
        '$(PODS_ROOT)/tvm/3rdparty/dmlc-core/include',
        '$(PODS_ROOT)/tvm/3rdparty/dlpack/include'
      ]
    }
  end

  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
  if respond_to?(:install_modules_dependencies, true)
    install_modules_dependencies(s)
  else
    s.dependency "React-Core"

    # Don't install the dependencies when we run `pod install` in the old architecture.
    if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
      s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
      s.pod_target_xcconfig    = {
          "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
          "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
          "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
      }
      s.dependency "React-Codegen"
      s.dependency "RCT-Folly"
      s.dependency "RCTRequired"
      s.dependency "RCTTypeSafety"
      s.dependency "ReactCommon/turbomodule/core"
    end
  end
end

this solved TVM folder issue but after that I started to get more errors probably related to missing modules.

I think I am missing something here, please help me to run this project.

photo

@szymonrybczak
Copy link
Collaborator

Hey @ponikar! Thanks for trying out the library, I believe your issue should be fixed now thanks to #3! (I know that it was more than 6 months, sorry! But we'll be working more right now on developing this library, to make it possible to ship it to production 🫡)

@ponikar
Copy link
Author

ponikar commented Feb 12, 2025

Hey thanks for the reply. I am glad that you have fixed this issue. I eventually ended up writing llama.cpp binding. Took an inspiration from your code. I also found out good alternative like llama.rn

Thanks for the POC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants