frappe / ecommerce_integrations

Ecommerce integrations for ERPNext
https://frappecloud.com/marketplace/apps/ecommerce_integrations
GNU General Public License v3.0
107 stars 144 forks source link

Problem with ecommerce intgration and pip package conflict boto3 #286

Closed sharad740 closed 11 months ago

sharad740 commented 11 months ago

Information about bug

image

After bench update

Module

other

Version

frappe version 15 erpnext version 15

Installation method

manual install

Relevant log output / Stack trace / Full Error Message.

bench update
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
From https://github.com/frappe/frappe
 * branch            version-15 -> FETCH_HEAD
WARN: shallow_clone is set in your bench config.
However without passing the --reset flag, your repositories will be unshallowed.
To avoid this, cancel this operation and run `bench update --reset`.

Consider the consequences of `git reset --hard` on your apps before you run that.
To avoid seeing this warning, set shallow_clone to false in your common_site_config.json

Backing up sites...                     
Backup Summary for sunauli.local at 2023-11-28 23:34:25.290799
Config  : ./sunauli.local/private/backups/20231128_233423-sunauli_local-site_config_backup.json 182.0B
Database: ./sunauli.local/private/backups/20231128_233423-sunauli_local-database.sql.gz         2.0MiB
Backup for Site sunauli.local has been successfully completed
Updating apps source...
Unshallowing frappe to safely pull remote changes.
$ git fetch upstream --unshallow
remote: Enumerating objects: 360452, done.
remote: Counting objects: 100% (360445/360445), done.
remote: Compressing objects: 100% (78085/78085), done.
remote: Total 357915 (delta 281914), reused 354192 (delta 278236), pack-reused 0
Receiving objects: 100% (357915/357915), 309.22 MiB | 6.00 MiB/s, done.
Resolving deltas: 100% (281914/281914), completed with 1886 local objects.
remote: Enumerating objects: 815, done.
remote: Total 815 (delta 0), reused 0 (delta 0), pack-reused 815
Receiving objects: 100% (815/815), 105.19 KiB | 11.69 MiB/s, done.
From https://github.com/frappe/frappe
 * [new tag]               12.0.0     -> 12.0.0
 * [new tag]               v9.2.9     -> v9.2.9
$ git pull  upstream version-15
From https://github.com/frappe/frappe
 * branch                  version-15 -> FETCH_HEAD
Already up to date.
$ find . -name "*.pyc" -delete
Unshallowing erpnext to safely pull remote changes.
$ git fetch upstream --unshallow
remote: Enumerating objects: 451803, done.
remote: Counting objects: 100% (451793/451793), done.
remote: Compressing objects: 100% (126093/126093), done.
remote: Total 449065 (delta 326403), reused 442154 (delta 319554), pack-reused 0
Receiving objects: 100% (449065/449065), 938.70 MiB | 5.78 MiB/s, done.
Resolving deltas: 100% (326403/326403), completed with 2012 local objects.
remote: Enumerating objects: 805, done.
remote: Total 805 (delta 0), reused 0 (delta 0), pack-reused 805
Receiving objects: 100% (805/805), 103.72 KiB | 9.43 MiB/s, done.
From https://github.com/frappe/erpnext
 * [new tag]               4.0.0      -> 4.0.0
...
$ git pull  upstream version-15
From https://github.com/frappe/erpnext
 * branch                  version-15 -> FETCH_HEAD
Already up to date.
$ find . -name "*.pyc" -delete
Unshallowing hrms to safely pull remote changes.
$ git fetch upstream --unshallow
remote: Enumerating objects: 44531, done.
remote: Counting objects: 100% (44531/44531), done.
remote: Compressing objects: 100% (11162/11162), done.
remote: Total 43790 (delta 25232), reused 42927 (delta 24424), pack-reused 0
Receiving objects: 100% (43790/43790), 10.53 MiB | 8.33 MiB/s, done.
Resolving deltas: 100% (25232/25232), completed with 510 local objects.
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
From https://github.com/frappe/hrms
 * [new tag]           v1.0.0     -> v1.0.0
$ git pull  upstream develop
From https://github.com/frappe/hrms
 * branch              develop    -> FETCH_HEAD
Already up to date.
$ find . -name "*.pyc" -delete
Unshallowing ecommerce_integrations to safely pull remote changes.
$ git fetch upstream --unshallow
remote: Enumerating objects: 5428, done.
remote: Counting objects: 100% (5428/5428), done.
remote: Compressing objects: 100% (1537/1537), done.
remote: Total 5272 (delta 3878), reused 5004 (delta 3635), pack-reused 0
Receiving objects: 100% (5272/5272), 859.95 KiB | 2.27 MiB/s, done.
Resolving deltas: 100% (3878/3878), completed with 129 local objects.
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
From https://github.com/frappe/ecommerce_integrations
 * [new tag]         1.0.2      -> 1.0.2
...
 * [new tag]         v1.9.1     -> v1.9.1
$ git pull  upstream main
From https://github.com/frappe/ecommerce_integrations
 * branch            main       -> FETCH_HEAD
Already up to date.
$ find . -name "*.pyc" -delete
Unshallowing payments to safely pull remote changes.
$ git fetch upstream --unshallow
remote: Enumerating objects: 1722, done.
remote: Counting objects: 100% (1722/1722), done.
remote: Compressing objects: 100% (499/499), done.
remote: Total 1652 (delta 930), reused 1516 (delta 835), pack-reused 0
Receiving objects: 100% (1652/1652), 254.98 KiB | 1.08 MiB/s, done.
Resolving deltas: 100% (930/930), completed with 49 local objects.
$ git pull  upstream develop
From https://github.com/frappe/payments
 * branch            develop    -> FETCH_HEAD
Already up to date.
$ find . -name "*.pyc" -delete
Setting up requirements...
$ /frappe_new/frappe-15/env/bin/python -m pip install --quiet --upgrade pip
Installing 5 applications...
Installing frappe
$ /frappe_new/frappe-15/env/bin/python -m pip install --quiet --upgrade -e /frappe_new/frappe-15/apps/frappe 
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ecommerce-integrations 1.19.3 requires boto3~=1.18.65, but you have boto3 1.28.85 which is incompatible.
$ yarn install
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
Done in 0.25s.
Installing erpnext
$ /frappe_new/frappe-15/env/bin/python -m pip install --quiet --upgrade -e /frappe_new/frappe-15/apps/erpnext 
$ yarn install
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.08s.
Installing hrms
$ /frappe_new/frappe-15/env/bin/python -m pip install --quiet --upgrade -e /frappe_new/frappe-15/apps/hrms 
$ yarn install
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
$ cd frontend && yarn install
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.29s.
Done in 0.56s.
Installing ecommerce_integrations
$ /frappe_new/frappe-15/env/bin/python -m pip install --quiet --upgrade -e /frappe_new/frappe-15/apps/ecommerce_integrations 
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
frappe 15.3.0 requires boto3~=1.28.10, but you have boto3 1.18.65 which is incompatible.
Installing payments
$ /frappe_new/frappe-15/env/bin/python -m pip install --quiet --upgrade -e /frappe_new/frappe-15/apps/payments 
Patching sites...
Migrating sunauli.local
Updating DocTypes for frappe        : [========================================] 100%
Updating DocTypes for erpnext       : [========================================] 100%
Updating DocTypes for payments      : [========================================] 100%
Updating DocTypes for ecommerce_integrations: [========================================] 100%
Updating DocTypes for hrms          : [========================================] 100%
Updating Dashboard for frappe
Updating Dashboard for erpnext
Updating Dashboard for payments
Updating Dashboard for ecommerce_integrations
Updating Dashboard for hrms
Updating customizations for Address
Updating customizations for Contact
Queued rebuilding of search index for sunauli.local

Building assets...
Assets for Release v15.3.0 don't exist
✔ Application Assets Linked                                                                                                                                   

yarn run v1.22.19
$ node esbuild --production --run-build-command
File                                                        Size

frappe/dist/js/
├─ bootstrap-4-web.bundle.FOZOVELL.js                       1.73 Kb
├─ controls.bundle.PCNEWZXG.js                              1232.01 Kb
├─ data_import_tools.bundle.VIC3357T.js                     126.33 Kb
├─ desk.bundle.IUJ7BUK3.js                                  1081.66 Kb
├─ dialog.bundle.LQ6ZJXVY.js                                56.66 Kb
├─ form.bundle.NKZAO2IX.js                                  166.50 Kb
├─ frappe-web.bundle.VKJCYSFT.js                            827.14 Kb
├─ libs.bundle.TIV7ZGVY.js                                  556.25 Kb
├─ list.bundle.KORV3L6Q.js                                  192.46 Kb
├─ logtypes.bundle.EKN7LWKW.js                              0.73 Kb
├─ onboarding_tours.bundle.P2YWPPES.js                      7.58 Kb
├─ report.bundle.U24CHADX.js                                195.53 Kb
├─ telemetry.bundle.4CY3TWEX.js                             2.56 Kb
├─ user_profile_controller.bundle.ZJ6AYZ5P.js               11.96 Kb
├─ video_player.bundle.DUYYLSFO.js                          120.67 Kb
├─ web_form.bundle.EZXAPYO3.js                              1423.03 Kb
├─ form_builder.bundle.ZQORJET5.js                          793.43 Kb
├─ form_builder.bundle.YETH5FHY.css                         23.02 Kb
├─ print_format_builder.bundle.NWHNZFP2.js                  682.54 Kb
├─ print_format_builder.bundle.YRWE3TV4.css                 5.54 Kb
├─ workflow_builder.bundle.MY57AYJM.js                      351.75 Kb
├─ workflow_builder.bundle.UIOUW5SV.css                     11.02 Kb
├─ build_events.bundle.LG3N72V5.js                          104.77 Kb
├─ build_events.bundle.E2LD4EUS.css                         1.29 Kb
├─ file_uploader.bundle.3CI7EEAH.js                         200.53 Kb
├─ file_uploader.bundle.UFOFACUR.css                        2.80 Kb
└─ kanban_board.bundle.F72BXL7J.js                          575.41 Kb

erpnext/dist/js/
├─ bank-reconciliation-tool.bundle.DRHMWXU3.js              17.17 Kb
├─ erpnext-web.bundle.J6G3BWUP.js                           0.29 Kb
├─ erpnext.bundle.A7JLIX7E.js                               197.38 Kb
├─ item-dashboard.bundle.CSU3O3NP.js                        10.24 Kb
├─ point-of-sale.bundle.TAIMQNLO.js                         92.72 Kb
└─ bom_configurator.bundle.G5DDUBZ3.js                      8.60 Kb

hrms/dist/js/
├─ hierarchy-chart.bundle.2FNYKICZ.js                       225.42 Kb
├─ hrms.bundle.NPKKSYXF.js                                  1.73 Kb
└─ performance.bundle.5UFNS7RV.js                           8.56 Kb

frappe/dist/css/
├─ desk.bundle.3CDDBENS.css                                 592.48 Kb
├─ email.bundle.RQB2NVJY.css                                5.97 Kb
├─ login.bundle.TF3H5GRW.css                                32.25 Kb
├─ print.bundle.HS75LDDU.css                                203.35 Kb
├─ print_format.bundle.HTWKGZFY.css                         186.13 Kb
├─ report.bundle.LFRDGKBG.css                               5.33 Kb
├─ web_form.bundle.4SLOGUWL.css                             14.69 Kb
└─ website.bundle.5HXGY6NV.css                              443.12 Kb

erpnext/dist/css/
├─ erpnext-web.bundle.LI6VGKIK.css                          2.86 Kb
├─ erpnext.bundle.EUDF4IDQ.css                              43.25 Kb
└─ erpnext_email.bundle.OGC2ERZP.css                        0.56 Kb

hrms/dist/css/
└─ hrms.bundle.GU6Q5SBD.css                                 4.78 Kb

frappe/dist/css-rtl/
├─ desk.bundle.F3MWVQ7X.css                                 593.00 Kb
├─ email.bundle.NNVZAM5U.css                                5.98 Kb
├─ login.bundle.5YZ7WHJG.css                                32.25 Kb
├─ print.bundle.JG5JIGN6.css                                203.51 Kb
├─ print_format.bundle.5BNNHV74.css                         186.26 Kb
├─ report.bundle.NMTKEU5I.css                               5.33 Kb
├─ web_form.bundle.OYI42EI6.css                             14.68 Kb
└─ website.bundle.MLO22QVX.css                              443.27 Kb

erpnext/dist/css-rtl/
├─ erpnext-web.bundle.VJ3MAK7Z.css                          2.87 Kb
├─ erpnext.bundle.LBE7VV5G.css                              43.24 Kb
└─ erpnext_email.bundle.GDTLTGRK.css                        0.56 Kb

hrms/dist/css-rtl/
└─ hrms.bundle.CJLMLATR.css                                 4.79 Kb

 DONE  Total Build Time: 16.016s

Running build command for hrms
$ cd frontend && yarn build
$ vite build --base=/assets/hrms/frontend/ && yarn copy-html-entry
vite v4.5.0 building for production...
transforming (13) src/utils/dayjs.jsBrowserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
transforming (108) node_modules/@ionic/core/components/ion-item.js
Inter-DisplayRegular.woff2?v=3.19 referenced in /frappe_new/frappe-15/apps/hrms/frontend/src/main.css didn't resolve at build time, it will remain unchanged to be resolved at runtime
✓ 639 modules transformed.
[plugin:vite:reporter] 
(!) /frappe_new/frappe-15/apps/hrms/frontend/src/components/RequestList.vue is dynamically imported by /frappe_new/frappe-15/apps/hrms/frontend/src/components/RequestActionSheet.vue but also statically imported by /frappe_new/frappe-15/apps/hrms/frontend/src/components/RequestPanel.vue, /frappe_new/frappe-15/apps/hrms/frontend/src/views/expense_claim/Dashboard.vue, /frappe_new/frappe-15/apps/hrms/frontend/src/views/leave/Dashboard.vue, dynamic import will not move module into another chunk.

../hrms/public/frontend/registerSW.js                                                    0.18 kB
../hrms/public/frontend/manifest.webmanifest                                             0.72 kB
../hrms/public/frontend/index.html                                                       8.25 kB │ gzip:   1.09 kB
../hrms/public/frontend/assets/Inter-Regular-c342b1b7.woff2                            100.12 kB                                   982.24 kB │ gzip: 295.28 kB
...
(!) Some chunks are larger than 500 kBs after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

PWA v0.16.6
mode      generateSW
precache  72 entries (1244.41 KiB)
files generated
  ../hrms/public/frontend/sw.js
  ../hrms/public/frontend/workbox-fa446783.js
✓ built in 11.10s
$ cp ../hrms/public/frontend/index.html ../hrms/www/hrms.html
Done in 29.90s.
________________________________________________________________________________
Bench: Deployment tool for Frappe and Frappe Applications (https://frappe.io/bench).
Open source depends on your contributions, so do give back by submitting bug reports, patches and fixes and be a part of the community :)
INFO: A newer version of bench is available: 5.17.0 → 5.19.0

┌──(jarvis㉿kali)-[/frappe_new/frappe-15]
└─$ bench pip install boto3 --upgrade
Requirement already satisfied: boto3 in ./env/lib/python3.11/site-packages (1.18.65)
Collecting boto3
  Using cached boto3-1.33.1-py3-none-any.whl.metadata (6.7 kB)
Collecting botocore<1.34.0,>=1.33.1 (from boto3)
  Using cached botocore-1.33.1-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in ./env/lib/python3.11/site-packages (from boto3) (0.10.0)
Collecting s3transfer<0.9.0,>=0.8.0 (from boto3)
  Using cached s3transfer-0.8.0-py3-none-any.whl.metadata (1.8 kB)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in ./env/lib/python3.11/site-packages (from botocore<1.34.0,>=1.33.1->boto3) (2.8.2)
Requirement already satisfied: urllib3<2.1,>=1.25.4 in ./env/lib/python3.11/site-packages (from botocore<1.34.0,>=1.33.1->boto3) (1.26.18)
Requirement already satisfied: six>=1.5 in ./env/lib/python3.11/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.34.0,>=1.33.1->boto3) (1.16.0)
Using cached boto3-1.33.1-py3-none-any.whl (139 kB)
Using cached botocore-1.33.1-py3-none-any.whl (11.6 MB)
Using cached s3transfer-0.8.0-py3-none-any.whl (81 kB)
Installing collected packages: botocore, s3transfer, boto3
  Attempting uninstall: botocore
    Found existing installation: botocore 1.21.65
    Uninstalling botocore-1.21.65:
      Successfully uninstalled botocore-1.21.65
  Attempting uninstall: s3transfer
    Found existing installation: s3transfer 0.5.2
    Uninstalling s3transfer-0.5.2:
      Successfully uninstalled s3transfer-0.5.2
  Attempting uninstall: boto3
    Found existing installation: boto3 1.18.65
    Uninstalling boto3-1.18.65:
      Successfully uninstalled boto3-1.18.65
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ecommerce-integrations 1.19.3 requires boto3~=1.18.65, but you have boto3 1.33.1 which is incompatible.
frappe 15.3.0 requires boto3~=1.28.10, but you have boto3 1.33.1 which is incompatible.
Successfully installed boto3-1.33.1 botocore-1.33.1 s3transfer-0.8.0

┌──(jarvis㉿kali)-[/frappe_new/frappe-15]
└─$ bench pip install boto3==1.28.10   
Collecting boto3==1.28.10
  Downloading boto3-1.28.10-py3-none-any.whl.metadata (6.6 kB)
Collecting botocore<1.32.0,>=1.31.10 (from boto3==1.28.10)
  Using cached botocore-1.31.85-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in ./env/lib/python3.11/site-packages (from boto3==1.28.10) (0.10.0)
Collecting s3transfer<0.7.0,>=0.6.0 (from boto3==1.28.10)
  Downloading s3transfer-0.6.2-py3-none-any.whl.metadata (1.8 kB)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in ./env/lib/python3.11/site-packages (from botocore<1.32.0,>=1.31.10->boto3==1.28.10) (2.8.2)
Requirement already satisfied: urllib3<2.1,>=1.25.4 in ./env/lib/python3.11/site-packages (from botocore<1.32.0,>=1.31.10->boto3==1.28.10) (1.26.18)
Requirement already satisfied: six>=1.5 in ./env/lib/python3.11/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.32.0,>=1.31.10->boto3==1.28.10) (1.16.0)
Downloading boto3-1.28.10-py3-none-any.whl (135 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 kB 714.2 kB/s eta 0:00:00
Using cached botocore-1.31.85-py3-none-any.whl (11.3 MB)
Downloading s3transfer-0.6.2-py3-none-any.whl (79 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 kB 3.9 MB/s eta 0:00:00
Installing collected packages: botocore, s3transfer, boto3
  Attempting uninstall: botocore
    Found existing installation: botocore 1.33.1
    Uninstalling botocore-1.33.1:
      Successfully uninstalled botocore-1.33.1
  Attempting uninstall: s3transfer
    Found existing installation: s3transfer 0.8.0
    Uninstalling s3transfer-0.8.0:
      Successfully uninstalled s3transfer-0.8.0
  Attempting uninstall: boto3
    Found existing installation: boto3 1.33.1
    Uninstalling boto3-1.33.1:
      Successfully uninstalled boto3-1.33.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ecommerce-integrations 1.19.3 requires boto3~=1.18.65, but you have boto3 1.28.10 which is incompatible.
Successfully installed boto3-1.28.10 botocore-1.31.85 s3transfer-0.6.2

┌──(jarvis㉿kali)-[/frappe_new/frappe-15]
└─$ bench pip install boto3 --upgrade
Requirement already satisfied: boto3 in ./env/lib/python3.11/site-packages (1.28.10)
Collecting boto3
  Using cached boto3-1.33.1-py3-none-any.whl.metadata (6.7 kB)
Collecting botocore<1.34.0,>=1.33.1 (from boto3)
  Using cached botocore-1.33.1-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in ./env/lib/python3.11/site-packages (from boto3) (0.10.0)
Collecting s3transfer<0.9.0,>=0.8.0 (from boto3)
  Using cached s3transfer-0.8.0-py3-none-any.whl.metadata (1.8 kB)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in ./env/lib/python3.11/site-packages (from botocore<1.34.0,>=1.33.1->boto3) (2.8.2)
Requirement already satisfied: urllib3<2.1,>=1.25.4 in ./env/lib/python3.11/site-packages (from botocore<1.34.0,>=1.33.1->boto3) (1.26.18)
Requirement already satisfied: six>=1.5 in ./env/lib/python3.11/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.34.0,>=1.33.1->boto3) (1.16.0)
Using cached boto3-1.33.1-py3-none-any.whl (139 kB)
Using cached botocore-1.33.1-py3-none-any.whl (11.6 MB)
Using cached s3transfer-0.8.0-py3-none-any.whl (81 kB)
Installing collected packages: botocore, s3transfer, boto3
  Attempting uninstall: botocore
    Found existing installation: botocore 1.31.85
    Uninstalling botocore-1.31.85:
      Successfully uninstalled botocore-1.31.85
  Attempting uninstall: s3transfer
    Found existing installation: s3transfer 0.6.2
    Uninstalling s3transfer-0.6.2:
      Successfully uninstalled s3transfer-0.6.2
  Attempting uninstall: boto3
    Found existing installation: boto3 1.28.10
    Uninstalling boto3-1.28.10:
      Successfully uninstalled boto3-1.28.10
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
ecommerce-integrations 1.19.3 requires boto3~=1.18.65, but you have boto3 1.33.1 which is incompatible.
frappe 15.3.0 requires boto3~=1.28.10, but you have boto3 1.33.1 which is incompatible.
Successfully installed boto3-1.33.1 botocore-1.33.1 s3transfer-0.8.0

┌──(jarvis㉿kali)-[/frappe_new/frappe-15]
└─$
ankush commented 11 months ago

Dependency just needs to be updated

s-aga-r commented 11 months ago

fixed: https://github.com/frappe/ecommerce_integrations/commit/c5ab362e810972a7b75b4e65edd11a76b9f992e3

akkrause commented 10 months ago

Now there is a dependency issue with frappe 14.61.0. ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. frappe 14.61.0 requires boto3~=1.18.49, but you have boto3 1.28.85 which is incompatible. $